corzblog.. I trust it with my blog™

welcome to corzblog!

This document attempts to provide all the information you need to get corzblog up and running on your website or personal server. Usually it's trivially easy - simply drop-in-and-blog.

what is corzblog?

It is blogging software, a specialized form of content-management system that runs on a php-enabled web server, enabling you to easily maintain a Web Log, or "blog", which is an online journal of sorts, a.k.a. diary. It can be whatever you want it to be, even the CMS for your entire web site. Essentially, it allows mere mortals to produce beautiful HTML documents. In the case of corzblog III, that would be lovely (X)HTML5.

You can create and edit your blogs from anywhere online using a standard web browser; on the road, in an internet café, wherever (and pajamas login security so those browser's won't remember you when you are gone, among other benefits). All styling is achieved with easy-to-use bbcode. No HTML knowledge required.


  • Simple, intuitive, easy-to-use CMS/blogging software.
  • No Database Required! No MySQL! corzblog uses plain text files.
  • Secure. With pajamas authentication and full SSL support.
  • Easy Setup.. Usually corzblog is drop-in-and-blog simple to get up and running.
  • Standards-Compliant. corzblog produces beautiful, (X)HTML5 documents.
  • Accessible. Even the funky preferences will run happily without JavaScript enabled, and keyboard navigation is completely intuitive with logically grouped tabbing order.
  • Mobile-ready. corzblog has always been adaptive, now it's even more responsive! it's all in the dynamically generated CSS.
  • Many of corzblog's features (e.g. spell-checker, scheme editor, bbcode parser and more) also work fine as stand-alone web apps, running inside whatever web software, even if it's not corzblog.
  • Hacker's delight! Everything is coded to be hacked. Or not. it's lovely as it is!
  • And much more!

The page you are reading right now was created with corzblog. The "blog.." menu in the sidebar allows readers to jump directly to the various entries. With a wide range of useful features, it's perfectly at home creating technical manuals, version histories, all-sorts. I spotted a site using it for a glossary system. A large amount of the copy on was created with corzblog. It makes HTML easy™.

The style of corzblog is completely customizable, I just have a thing about orange.

to run, you will need:

  • space on a web server running PHP
  • a web browser
  • something to say

While not essential, to make full use of corzblog, it is useful to have JavaScript enabled in your web browser. Most rational people do, at least for the sites they trust. Standards-compliant, command-line browsers like lynx work just fine.

quick install

1: unzip

preferably right where it will be used. or just unzip it anywhere and drop/upload the whole "blog" folder into the root of your web server, or wherever you like. you can access is right away..

2: click the "configure" link on the sidebar

and login with the default password, which is "password", then immediately change and save your new password. There's a (much-copied!) tabbed interface where you can alter the preferences to suit your needs and desires. Hovering your mouse over any of the controls will give you lots of helpful information (if JavaScript is enabled).

3: blog!

Note: file permission should be good from when I archived it (should work on all the major platforms when unzipped in place). The server will need to be able to write to certain files. If it can't, see the installation section (next) for details on how to make the blog file writeable.

:o) The Writing Entity @


three steps..

1: unzip

Preferably unzip in place, where it will be used (so you don't have to edit permissions manually). Alternatively, unzip it locally, and drop/upload the "blog" folder into the root of your web server. You can put it anywhere inside your web space, but in the root is cooler.

corzblog tries to figure out where in the server it is operating, but possibly this mechanism isn't foolproof. If you have troubles, you can hack the location into init.php, notes within.

You can access your blog right away if you like..

or you could create a virtual host or sub-domain specifically for your blog, something like..
or ..

2: ensure editable files and folders are writable

You should be good to go; permissions being stored in the zip (or when running php as a CGI); but it's possible that something happened to them in transit, getting moved around or uploaded, or whatever. simply; if the blog file isn't "writable", nothing you write can be saved! The same goes for archives and preference files. This is easy to fix..

In a unix/linux/mac os x shell, that would be:
cd /path/to/blog/
chmod -R 777 *.blog
chmod -R 777 arc
chmod -R 777 inc/data/*
chmod -R 777 inc/data/.ht_corzblog.ini

Contrary to popular myth, there is nothing inherently insecure about world-writable files and folders.

You can also use your FTP client to change file and folder permissions, it's sometimes under "attributes" (set them to "ALL" for "Everyone/World", or equivalent). In aqua (Mac OS X) you can use the "get info" dialog. On Windoze servers, pop up a properties dialog for the file and go to the security tab, or you may prefer DOS "attrib".

Note: On windows servers, a hidden file will not be writeable by the server process. Check that!

3: edit your preferences.

Click the "configure" link to get to the preferences. Everything has help, just hover your mouse over an item for useful information. don't forget to set your password. When doing this, it's best to login to your blog over SSL (using, or else enter the FULL SERVER LOCATION of an external password file.

If you want to do something extremely non-standard, or highly advanced, there is probably a setting inside init.php, you may want to scroll through that. Hopefully most people shouldn't have to.

:o) The Writing Entity @


There's some stuff you might want to mess around with, particularly in the "inc" folder..

Actually, there isn't one of these in the inc/ folder at all, but there is in the main folder, and other folder too. The main one sets up the character encoding for the whole blog/ folder and directs the server to parse .blog files as html, and the others generally prevent direct web access to your data, arc/ folder and such.

if you want to know more about .htaccess files, go here.
note: many operating systems will hide files beginning with a dot

This is where your styles live. In the top-level are default (required) styles for the admin page, scheme editor and spelling demo/checker. There are also folders. Each folder is a "theme", and the name of the folder is the name of the theme, e.g. "example". Inside each theme folder is a stylesheet and ini file. These must match the name of the theme, e.g. "example.css" and "example.ini". The default is original.css

The CSS file contains all the layout and style programming for the theme. The ini file contains all the values that will be inserted into the CSS at run-time.

The theme's ini file can contain any number of "schemes", which are named sets of values (e.g. "blues"), with all the color values, image locations, sizes that can be applied to the theme. These are editable either from the scheme editor GUI or with a regular text editor, whichever you prefer.

The entire theme is completely customizable. Feel free to make your own.

Cool color scheme chooser/editor. Regular users accessing this file get a simple scheme choice (this choice is stored in a cookie in the user's browser so when they re-visit your blog, they get their old scheme back). Once logged in, the page transforms into a groovy scheme editor with live color picker, dynamic, intuitive color inputs and more. You can edit, copy, delete and save schemes, alter all the elements as well as create new ones (for instant availability in your CSS!). En-Joy!

NOTE: Whatever scheme you load into the scheme editor becomes your default scheme for viewing the entire blog. And there's your preview feature right there! This only affects you, of course. When you hit reset/logout, your view will revert to the default (either the site default, or whatever overriding scheme preference you have set in your cookie)

The themes have a few nifty features you may want to know about. Firstly, everything is dynamic. As soon as you create a preference, e.g. nice_text=" purple" (or with the "add new preference" button in the scheme editor), that value is immediately available for use in your style sheet as a dynamic token, and you can use it in your style sheet like so: color: %%nice_text%%

corzblog comes with an automatic image pre-loader. This is generated at the foot of your pages and ensure any roll-over images will be immediately available to the browser/user. You can have your own images automatically added to the pre-loader by simply using the word "hover" in the image file name, e.g. "blues-edit_hover.png".

On the subject of automatic-ing images, you can use either relative or absolute paths in your image prefs. For images that live inside your theme's "images" folder, simply use "images/my-image.png", and corzblog will generate full path automatically. If you set some site image via a absolute path (beginning with a forward slash, e.g. "/images/my-image.png"), corzblog will leave the path alone.

The bbcode to html to bbcode parser. You can use this on its own for other projects

The bbcode guide. This gets re-used so much I separated it out.

You can leave that as it is, incorporate my logo into something else, or trash it. so long as you leave a link somewhere, it's your call.

JavaScript functions for the quick-code buttons live in here. If you add something real groovy, let me know. This is also where to find the JavaScript for the scheme editor's color-picker.

Your word lists live in here. You can add words to these from directly inside the corzblog editor or self-contained spell-checking demo (if authorized). The top-level contains generic word lists for spell-checking, and the user/ folder contains your own personal word lists.

Pajamas security. This keeps your blog secure. It can also be used as a plug-in site-wide login mechanism - once logged in to one pajamas web app, you are logged into them all, or not, depending on how you configure it. Pajamas encrypts your passwords before sending them over the wire.

This is inserted at the top of every page, stuff that browsers like to know. You will probably want to edit this. I also chucked the starter for the page generation timer in here, handy.

note: character encoding metadata is hard coded into the pages themselves, reason being, when the webserver finds that data, it reloads the page from scratch with the specified encoding.

It makes sense then, not to go including pages before this process happens. Although utf-8 is specified in the master .htaccess file for corzblog, some webservers ignore this. As they say, your mileage may vary …

The corzblog spell-checker. Quite good, actually.

This directory houses the login security system.

Archiving your blogz

At the end of each month/quarter, you'll probably want to archive your blog. Not only will this save you bandwidth and quicken downloads of your blog (say 100k per month, per page, per page view .. think about it), but keeps everything nice and organised. This is ridiculously easy to achieve:

  • click the edit blogs link in the sidebar.
  • You'll figure out the rest.

Remember that the name you choose for your archive will appear in the sidebar, so don't make it too long. I may add a check for this. As a guide; the blogs menu truncates the individual blog names to 18 characters. I'm using "nov" type names, see left (the year part is inserted automatically).


no known "bugs", but a few foibles!

For example, currently, your smiley folder location is inside cbparser.php. In future versions, this will be rolled into the main preferences, but meantime, if your smileys don't show, you know where to look!

to do:

There are still preferences that need to go into the ini file/config tabs
Make a few more themes

That's it! Get blogging!

:o) The Writing Entity @

ps.. This software is free for personal, non-profit use, so long as you leave a link to my site, especially the "powered by" logo in the footer, and perhaps a link to the corzblog source. Thanks very much. Please do read the enclosed license, you may be surprised.


If you are upgrading corzblog, the easiest method is to download the latest source code from here..

This download is automatically generated from my own current development source and contains no "data", so it won't overwrite your preferences if you simply drop the whole thing over your existing blog installation.

NOTE: if you have edited you "original" theme, remove that from the distribution before dropping into place, or you will lose your customizations.

By Hand..

If you would prefer to do things manually, from the latest stable, full release, what do is..

  • From the new distribution, delete the the following folders..


    and files..
       (if you customized it)

    basically, you don't want to replace all the .blog files and preferences you have created yourself.
  • upload the remaining new files into your webspace, replacing all the previous versions of the files.
  • that's it! (really I could of just said "replace everything except your blog files and prefs")

ßeta lovers..

If you are messing with the latest beta, note, some of the prefs have been simplified/altered. This may cause things to temporarily break (for example, a custom site header won't show). However, corzblog has a mechanism to upgrade your preferences semi-automatically, for example, if your custom header preference once read "/var/www/vhosts/mysite/httpdocs/includes/header.php", will now simply read "/includes/header.php".

Go to your prefs (configure link) one time and hit save, everything will correct itself.

Some of the variable names have changed in the default styles, too, to make things clearer, more simple, etc. In particular, many color variables now have "color" in their name. "warning" is now "warning_color", and so on.

You probably have your own variables and such, so depending on your style sheet, this may or may not be an issue.

Note: the spelling highlighting preference has been removed from the configuration panel, you can set that in your styles along with the other colors. Because it is an "essential style", corzblog will insert a default value (yellow) if you omit the color from your scheme.

OS X Webserver

If you run OS X, you can switch on personal web server in your sharing preferences and run corzblog as your personal web log! Simply drop the blog folder into the root of your web server, here..


You can then access your blog here..


And probably by a few other addresses too, on my OS X box it is http://imac/blog/ See the Full Instructions (above) for how to make the blog "live".

If you want to run a few people's blogs on one computer, or just enjoy doing this sort of thing, I recommend you look into setting up some virtual hosts then you could use jimsblog in your browser, or whatever.

version history

3.6 ßeta

You can now prepend your sidebar links with "!" to force SSL (https) links. Especially handy for login links.

I switched around the tokens for admin/visitor links. Admin links are now prepended with "#", visitor-only links with "@". I kept mixing them up (I suspect becasue "#" is admin login on *nix systems. You will need to switch those around in your configuration page.

3.5 ßeta

* New scheme editor - now you can add edit, copy and generally mess around with your schemes using a neat web interface with live previews, groovy color picker and lots of other miscellaneous good stuff. Everything is dynamic. Enjoy!

NOTE: Whatever scheme you activate in the editor becomes your default scheme for viewing the blog. This is in place of any tedious "preview" feature you might be used to. it's instant, it's dynamic - you just wander around your blog as you normally would, except with your active in-editing scheme. Of course your guests still see whatever you have set as the default in your preferences. It's intuitive and more importantly, it's real. Goodbye "preview"!

If you hit the big reset button you can revert to viewing what your guests are seeing. Same story if you set a new default scheme in your admin preferences.

* You can now use {tokens} to access your scheme's colors inside your blogs. You simply replace your regular hex/rgba/whatever value with the name of one of your colors (as seen in your scheme editor) surrounded by curly brackets. e.g..

[h3]HEED MY [color={warning_color}]WARNING![/color][/h3]

Which would look like..


Now you can use custom colors that will change dynamically to match whatever theme/scheme you are using (in addition to all your regular text/headers/etc., which will do that anyway). Simple, effective, handy.

* Improved admin page. Added a new preference type - the drop-down! Hardly original, but it makes setting many of the preferences easier, as well as prevents people from shooting themselves in the foot by entering wrong values. For example, you couldn't specify a non-existent theme because only valid themes will exist in the drop-down list, being created dynamically from the available themes. Same for all the other drop-downs.

* You can now pick up and drag the information panel around in the admin interface. It can also now be resized via a few cute buttons (the CSS resize: property is not well enough supported yet, but this JavaScript works all over). Note: normally the info panel is pinned to the bottom-right of your viewport, and will stay there if you move/resize your browser. As soon as you drag it somewhere else, it becomes pinned to the top-left of your viewport, which is why the buttons change position.

The info panel will remember its size and position for the entire session. It can also be set permanently in your preferences (advanced tab).

* Improved documentation and info tips (in the info panel)

* Added a couple more preferences to the admin page; enable/disable validation links, spammer diversion, info panel size/position, as well as the ability to specify any site-wide header and css files, though that may have been in the last version!

* Improved stylings - expanded dynamic stylings (the new scheme editor makes it a breeze!) as well as an improved selection of special characters and more.

* Added a new theme - "Natural". it's a beautiful, responsive, dynamic layout you can use as a working base for your own themes. It features multiple background image layers with transparencies and similar funky stuff, not to mention rounded everything! Check out a cool variation at Mmmm.

And don't forget, corzblog has always output standards-compliant XHTML/HTML5, so it's trivial to get it to look however you want, as you can see!

3.4 ßeta

* Valid HTML5 output. Oh yeah!

* Various style changes and fixes. In particular, <h1> is now used for the blog titles, creating a better document outline.

* Added a user preference for the RSS feeds time difference (previously you had to hack this into the code) and custom headers (so you can have corzblog insert your site's header into the pages, directly below the opening <body> tag).

* Rolled the last of the images into the theme prefs (no more orange rss buttons in the blue theme!).

* Discontinued support for Internet Explorer versions prior to IE8. No more pngfix!

* Removed browser-checking code, it's no longer required.

3.3 ßeta

* Added the side-links into the preference tabs, with a system to add more link groups later, of required. The link preferences are stored in an ini file, next to the main ini, in inc/data.

* Got the themes working pretty much the way I imagined. We now have a "themes" folder called "sometheme", inside is sometheme.css, which defines the styles, layout and such, and a sometheme.ini, which defines the color schemes to use in the auto-generated CSS. You can keep multiple color schemes inside your ini file, each scheme altering the colors and images for the individual elements.

You can still use a static CSS file, if that's your bag.

* I properly implemented the external password file. In the configuration tab, you can now enter the FULL SERVER LOCATION of a plain text password file, in place of the normal password string, e.g.. /var/www/vhosts/mysite/secret/.ht_password

* I gave all the preference items their own grouped tabindex property, enabling you to <TAB> through all the options in the correct sequence, one tab at a time, with the save at the very end, no mouse required! As well as making preference navigation easier, this should improve accessibility on a wide range of reading devices.

* For our convenience, I added an edit button to all blogs. If you are logged in, a wee pencil icon will appear at the foot of all regular (not perma-linked) blog views. This works for the current blogs, archives, and about-blog page. The edit link is still a quick way to get editing any specific blog, but the button is handier if you are already there.

* There is now a button to add a new link to the sidebar link groups, from directly within the preferences. By the way, to delete a link, simply delete its link text (the first input) and save the prefs.

* Your current preference tab is remembered when you save/load/navigate to the configuration/preferences. This means, for example, if you add a link to the links, you remain on the same tab. I did a little AJAX for this, so when you lock a tab (by clicking it) and leave the prefs, it is open on your return.

* There is now an option to delete blogs (a button will appear in the edit page when you are logged in).

* Added cute delete/move up/move down buttons to the link preferences, so you can re-order your links. These buttons require JavaScript to work properly. HOWEVER, I have (with some effort) enabled them to also function without JavaScript. Note, that when using this non-javascript functionality, the preferences are saved immediately on your change. There is no undo, though your last set of preferences will always be in the backup directory, should you need them.

The delete button works the same way, though for non-JavaScript editing, simply deleting the link text and saving the prefs would be quicker, especially if you plan to delete more than one link.

* Added an option to get to the advanced properties for all links (previously you would need to edit the ini file manually to alter these). If you have JavaScript disabled, the input will be open at all times. With JavaScript enabled, you can toggle it in and out of view by clicking a wee triangle button.

* Did a lot of work on the spell-checker, making it more user-friendly (and developer-friendly). Firstly it is now a proper php class. I also added the capability to add words to the dictionary and ignore words for a session. There are also cute AJAX-driven links for this (which fall-back to regular links if JavaScript is disabled)

By the way, the AJAX is all handled internally, all you need to do (after initializing the spelling class) is..


The spell-checker now provides preferences and methods (functions) for *everything*, from outputting the spell options controls to printing out cute lists and boxes of relevant information, e.g. make_list_of_bad_words().

* I moved a lot of the admin styles and layout around, making things more logical, more ergonomic. I kept going for the "Logout" button when I wanted to save my preferences!

* Fixed a bug where setting the default custom spell-checking list in the prefs was being ignored (it was using the setting in init.php).

3.0 - 3.2 alpha

* I didn't keep notes. I was working in a style that made that too difficult. The result is very pleasing.

v2.5 final

* The end of the road for regular corzblog. keep an eye out for corzblog pro, coming soon!

v2.4 beta 3

* More improvements to cbparser bbcode parsing engine, added a couple of new URL tags, namely [turl]pop-up title only[/url] and a(t last) [murl]let me know![/url], for inserting your (mashed) email address into the page.

* Happily discovered that you can now get off with using mashed email addresses in RSS/RDF feeds and they will still validate. Consider it done. Because those spambots will discover newsfeeds soon enough! I recommend you upgrade for this reason alone!

* och, a few other things, minor stuff.

v2.4 beta 2

* fixed a potential issue editing old blogs, on some servers, the post wouldn't work, and user is continually redirected back to the choose page.

v2.4 beta 1

* took advantage of cbparser's new balance tags functionality. now if a blogger leaves unbalanced bbcode or html tags in their post, corzblog will tell them so at the preview and post stages, offer them a chance to fix it.

* altered the rss 1.0 validation link back to un-htmlencoded. hopefully they've made up their mind now smiley for :erm:

* moved the sidebar links and titles into the preferences, easier to edit.

* after a successful edit of the about page, the link and auto-jump go directly to that page, instead of the main blog. it will, in fact, take you directly to whatever article you were editing. editing standard blogs now does the same thing. neat.

* added a preference for the font size in the edit area

* made all the documentation 100% cbparser compliant! I did most of it when cbparser was in its infancy, and just dropped raw html in where I needed it. cbparser does it all now, even the tables, so this entire page (the one you are reading right now) is created entirely with bbcode! if you edit any of these articles (or rather, attempt to), you can see the bbcode for yourself.
cbparser changes (also apply to corzblog)

* added extra cell types for the table tags. namely [c5]: 50% wide cell; [c5l]: same, aligned left [c5r]: and right [c2]: colspan="2" (takes up two columns); [c3]: or three columns; [c4]: or four columns. close them all with a standard [/c] tag.

* three new flavours of horizontal rule..
[hr] standard, 70% wide, centered spacer

[hr2] 50 pixels wide, left
[hr3] 100 pixels wide, left
[hr4] 150 pixels wide, left

I use this under the titles in the version history you are reading right now, amongst other things. I use these ones a fair bit.

* a [mid]middle tag[/mid] for putting things in the middle, i.e. centred. if you need any more tags, let me know!

* added DemiCode™. what this means is, you can use pretty much any html tag by simply replacing the "<" symbol with a "[", and the ">" with a "]", and you will get valid html. you can do [h3]type three header[/h3] tags like that now.

For instance, even though there is no [center] tag in cbparser, as such, this.. [center][b]this will be centered[b][/center] .. works just fine.

It feels like I'm opening a can of worms with this feature. we'll see. if it all works out, I can dump nice wee chunk of code from cbparser.


* you can now edit the about page from within corzblog. multiple "entries" come up in a drop-down menu, just like the regular blog.

* fixed a few formatting foibles on some of the error pages (well, I never see 'em!)


* improved error reporting on the edit page.

* fixed a bug where if you installed corzblog in a ~user (virtual) folder, although everything worked fine, archiving worked fine; strangely, no archives appeared in the menu. they do now.

* made some of the preferences clearer, and more flexible for folks with unusual server setups.


* improved the css. no really, it's all fixed now.

* added an option for the length of truncation in the "blogs" menu


* added a routine to determine where corzblog has been installed. you don't need to enter that manually anymore, though the option remains, just-in-case.

* removed the "real" links from the javascript buttons. since upgrading the bbcode parser to accept titles in the tag, There's really no need for this, and as much as I love raw html, it is messy looking inside your bbcode.

* some minor improvements to the bbcode parser, and it's built-in demo. I think all the tags are covered now.

* fixed a bug where if you used a different extension to .blog your archives wouldn't appear in the archive menu unless they were called ""

* fixed the slashes thing reading archives with single comments (apostrophe's) in them. works both ways now!

* finally figured out why the blue.css variation's drop-down menu was waaay slower than the orange one; it was the float: left; that did it. we don't need this for the left-hand menu styles. incredible that a wee float could make so much difference, but there ya go. Sadly, you'll still do need the float if you use the right-hand menu schemes. If anyone knows a workaround, let me know.


* cleaned up and compressed some internal code, killed a few duplications

* it looks like the javascript buttons got broken somewhere, but that could just be me. I use that less and less these days, as the bbcode parser expands. At any rate, I've added an option to disable it. javascript jobs = procrastinate now! but I fixed it anyway. You can still turn off the javascript buttons, though, see config.php

* a few more additions to the bbcode parser, of course. drop caps among them, these come in five widths, from [dc1]I[/dc] up to [dc5]W[/dc] to cater for all your letter's individual needs.

* removed a confusing "legacy" comment from the css files. less trivial than you might think.

* moved the css files to their own sub-folder, which is inc/css/


* improved the documentation

* fixed a bug where if you were using a different extension for your blog files, the blog archives were still being given a .blog extension. I DO recommend you use a .blog extension, however, not least because it enables corzoogle to easily search your blogs, it's also specified in the .htaccess, I mean, WHY NOT? *ahem*


* Fixed a limitation in cbparser's handling of the "pre-formatted" tags. you can now have any number of [pre] blocks and they will *all* be honoured. You can put bbcode inside [pre]tags[/pre] tags too, and it will pass unmolested. (I'm adding spaces here because pre-tags have top priority and would be interpreted before anything else.)


* made a preference for the stylesheet, you won't have to rename them any more, just enter the name in config.php

* some gui enhancements, I noticed (on yet another blog stripped of all my links (one for the planned rogue's gallery!) they're probably sending a payment right now, huh?) that giving your blog a really long name (the $mysite preference) can mess with the sidebar, at least make it appear rather incongruous; so the top menu has been renamed to simply "blog".

* made some more fixed text into configurable (config.php) text.

* improved the corzblog logo slightly, it now has a "powered by" on it, in the vain effort to get someone to LEAVE IT ALONE!

* Fixed a bug when using apostrophe's (single quotes) in archive titles (thank's joe!)


* fixed an unclosed /p tag in the parser's reference tag (specifically, replaced the <br> tag with a </p> tag - editing old blogs will give you some lovely plain html to make into a reference again!), it's a minor html error that is "assumed" closed, but I'm trying to track down why google translation services messes around so much with my blog styling, and every wee thing must be eliminated!

* cleaned up a fair bit of internal code. it was my first project, after all. some real noob stuff in there, still is! but then, I do remember a TV programme years back, a housing estate, Canada I think it was, where the houses where real basic, but crucially, had these big old spaces you could do stuff with, extend as needed, and folks stamped their identity and their history on them. stuck in my head. my code's kinda like that.

* couple of under-the-hood security enhancements.


* okay, error_reporting(E_ALL). I'm on it! first under the knife was the parser. as well as cleaning that, I added the capability to do square brackets that aren't bbcode commands. I suddenly had need of this! to get a "real" square bracket, just do it double, [like this]

* added the page generation timer starter (it's in inc/metadata.php) after seeing someone else's blog with a kaput timer. my own is started in my site's page header, not corzblog itself, well, now it is.


* made the date in the footer dynamic it was stuck at 2003 (oops).

* added an extra linebreak ("\n") into the reference tag, right after the paragraph tag. add that into any old blogs (or other parser users, now). previously, when you clicked on a reference, it appeared at the very top of your browser pane (usual browser default), but I like a wee space up there, space is important.


* improved the bbcode parser and moved it to a separate function. couple of folk asked me if I'd put out the parser on its own. while I was at it, I fixed a couple of things that were bugging me. if you find yourself editing old blogs and experiencing bbcode weirdness, try this..

replace any single-quote tag values in the news blocks with double-quotes versions. I can't handle single quotes in html anymore. specifically align='right' in the [news] tag is now, align="right" and instead of span="h6", it now uses span="news", and I removed an annoying space.

your old blogs are unaffected! but if you ever need to edit them, you will probably just want to replace old news tags with the new ones; you'll get the raw html in your edit-field.

* quashed the references bug. editing them shows the proper [ref] tag now.


* corzblog is now fully corzoogle compliant! this means it can work with not only the blog archives, but the current blog too. It was annoying me. It also means the funky robot links machine can chew on them too.

* Added ability for non-javascript enabled browsers to get an "Archives" menu. It looks exactly the same as the regular one, except it's always visible, rather than dropping down on a mouseover. Also added a few other bits and bobs for non-javascript browsers, reluctantly, I might add.


* blog archives now have a .blog extension. If you are upgrading from an earlier version, add a .blog extension to any archives you have, then they will appear in the archive menu as normal.

note: you DO NOT need to add this extension when archiving; corzblog will add this for you. it's effectively invisible, doesn't even show up in the menu's or URL's. The renaming is only if you are upgrading.

Primarily, this was so that blog archives are searchable with my corzoogle search engine, which requires specific file extensions as a security measure.

* other stuff; the sub-header archive pages now displays the name of the current archive, or whatever you are looking at, few other wee user interface things like that.

* Altered the edit.php file so that if you access it directly, it will redirect you to the choose page.

* Added another couple of variations of the css files, so now we have standard orange, left or right-hand sided, and the same for blue. I'll do more of these as time goes on.

* Fixed a bug with back-slashes entering the title area, oops.

* Updated the javascript functions to match my domain (at last!).


* cleaned up some of the internal code, stuff that had started out as illustration, but was getting kinda messy *cough*

* tweaked the css for the blue theme, now the sidebar is on the right. total time, 3 seconds editing the CSS file. I suspect I'm not finished with the CSS.


* fixed a small bug where if you hovered over the archives menu and there were no archives in the /arc folder, it produced a php error (which vanished again on mouseout, pretty cool) now it echoes "no archives yet"

* updated and renamed the metadata file in the distribution

* simplified the .htaccess files


* slight alterations to the two css files, now we use px values for all margins and padding. Apparently some non-standard browsers get upset when you mix the values.

* Updated and improved the about file which you are reading


* made the archiving automatic. There's a form in the "edit blogs" page; you name it, it get's archived, your current blog gets wiped. TADA! total no-brainer.

* blogs are now backed-up to the /arc/ folder at every add/edit operation. In the event of any human mistakes, your last blogs file is in /arc/blogz.bak

note: any file you put in the arc folder with a .bak extension will *not* show up in the archive menu. same goes for "index.php" files, though the hidden .htaccess file would prevent surfers from loading any index.php file, anyhow.

* knocked together an alternative CSS file (blue) you're looking at it.


corzblog II .. "now it's personal"

* This has got to be the best blogging system I've ever written!

* Spurned on by the success of the new RDF feed, and its greed for user custom user variables, I set about restructuring the internals of corzblog. I think you'll like it.

* "User" variables are now all in one central place. Like lots of other php packages, what you need is in "config.php". I might even get around to doing a form for this.

* archiving your blogs is now a trivial matter. Call the old blog what you like, drop it into the "arc" folder and bingo! it's in the archive menu. When you select an archive, its blogs are listed in the blog menu too, for easy navigation.

* There's loads more, I'll probably write up the changes after I've had a sleep


* Added rss 1.0 rdf feed to the blog. I realise now that there are so many variables that a user might want to edit, I'm gonna have to move these over to a single file, one of those "config.php" things.


* I switched all the linebreaks to unix linefeeds. Previously we were using a combination of both unix and mac linebreaks, unix for dynamic pages; javascript, html, etc; unix for the source files, and mac for the blogz themselves. Hopefully this should make everything clearer. It doesn't matter if you can see them or not, it's all handled internally, so long as your text editor can translate and save them - and all decent text editors can - you'll have no troubles.

After setting their password, most folk will never need to look at the source code anyhow, certainly not the raw blogs, but if they did, they would find them now quite readable, similar to the style of html I produce by hand. The blogz file being jumbly gave me sleep problems.

I use unix linebreaks for all my text these days (specifically, UTF-8 (no BOM) - unix linefeeds), mainly because OS X is "unix-based", but linux servers prefer this too. Really it doesn't matter too much, so long as your browser produces both (i.e. DOS linebreaks) inside forms, and they all do, as far as I know.


* importantly, I changed the "end of blog" marker from a unix linebreak "\n" to an <end> tag. This is to prevent problems with unicode linefeeds, not that anyone uses them yet. You'll need to do a quick search/replace for all "\n" characters (unix linefeeds), and replace with "<end>". took about 1.2 seconds or something like that, for five months of my blogs. This will also help those who had trouble seeing unix linefeeds in their text editor. *sigh*

* improved all-over linefeed handling. Now I can make the raw blogs much easier to read and editing manually. plain carriage returns are used throughout (default on mac, but every decent text editor on every platform can handle them).

* added a few common transformations, allowing you to use bullets, degrees, plus-minus and trademark symbols in the blog, they get encoded properly now.

* added a pop-up of special symbols, this is growing all the time.

* because we're all unicode now, you can theoretically input any symbol you like and it "should" be saved just fine (most browsers have been UTF-8 compliant for years), the pop-up just makes it easier to find those symbols, and also encodes them as 'proper' &html-entities;

* widened the text edit area to 66 columns, should still be good for an 800x600 screen.

* improved the auto-scroll when you add special stuff to the blog.

* altered sidebar so that list of blogs is accessible wherever you are in the blog site.

* improved the references function. Now you can create easy-refs! Each reference section being unique to the blog (previously you could only have only one per page), and you can have up to three neat, numbered references per blog. This number could easily be increased if needed, I'm just getting itchy about the number of string transformations being performed on the blog text. och well.


* added rss feed capabilities. very nice!

* some internal changes, wee code clean up

* added cute pop-up descriptive labels for buttons (some browsers -safari- won't show them)

* added a "quicklinks" section to the sidebar, for individual blog entries

* spruced up the quicklinks with cuteness

* fixed a few wee bugs that had cropped up


* added a couple of new bbtags

[block]a blockquote[/block]

* at last the < > button has a function. "[ ]" blockquote!

* also the [hr] tag, which will draw a nice thin horizontal rule.


* got rid of add2.php moved it all to one file.

* moved all editing functions to a single file too

* rearranged the editing window a bit < > still does nothing! hah!

* previewing and editing now in one page. much better!
(I knew something was bugging me)

* previewing of edits is now possible (previously only new posts)

* minor stylistic changes

* code is pretty messy, but 100% functional! I'm happy!


* Made the edit menu meaningful. (name of blog)

* minor stylistic changes to code box


* couple of minor bugs in the preview worked out

* will now take you directly to the blog is add/edit was successful

* if not, you have the option to go back and fix it!

* added a few more quick-code function buttons, big, bold, italic

* made the whole thing self-contained and removed my header, for distribution.


* Added preview function for new entries. nice.

* Added new functions, code, url, image, etc

* blog content will now appear *inside* the edit window automatically

* I'm happy now!


* working swell! (well, so so!)

* editing possible now-ish (adds extra bits)

* added javascript functions and css in /inc folder (extensible)

* the script will now grab your "posted by" footer.php and insert it back


* basic blogging possible

* worked into my nice pages and css

* worked out the break bugs, and a few other bugs


My first "real" php project!
got basic entry code running.
borrowed some ideas and a couple of snippets from my unwitting guiding hand in this self-help tutorial.. Jaryd Whitem AKA: JRiderofShade, ta m8!

That online php manual is excellent too!

 ©  2024 « » 24.6.19  

Welcome to!

I'm always messing around with the back-end.. See a bug? Wait a minute and try again. Still see a bug? Mail Me!