This is a more up-to-date version of "Yaroon". Glad some people are actually using it. If you encounter any bugs just drop them in my personal mailbox or fase them through to the mailinglist and let everyone know that I can't commit anything that, more or less,... works.
Greets,
Jeroen.
- format_username() now takes a second optional parameter which gives the
real name of the user.
Rest
- updated the calls to format_username() where appropriate to show the name
of the user instead of the account id. Clicking on a name will still give you
the account info etc. If you find a place where the real name is not shown
let me know.
- format_username() now takes a second optional parameter which gives the
real name of the user.
Rest
- updated the calls to format_username() where appropriate to show the name
of the user instead of the account id. Clicking on a name will still give you
the account info etc. If you find a place where the real name is not shown
let me know.
+ added $theme->images()
- blog.module:
+ improved user-friendliness and rewrote most of the output routines
+ made quoted text /italic/ by default
+ integrated discussion system like it should
+ ...
- marvin.theme:
+ small visual improvements
Basically this is a 'nice version' of a hack that you could do as a theme author.
I've updated all the standard themes, but 3rd party themes will of course have to be updated by their authors, in the following manner:
- Replace the box() declaration:
< function box($subject, $content) {
> function box($subject, $content, $region = "main") {
- Replace the theme_account call:
< theme_account($this);
> theme_account("region", $this);
Note that you'll have to replace "region" with the correct region that the box is placed in. However if you have a one-column theme, you should use "all", and not for example "left" (if all boxes are on the left).
Usually the "region" here should be the same as the nearest theme_blocks() call.
Those theme authors who want to can make boxes that appear in the center look different from those that appear in the sides for example.
- Fixed tiny quote problem in account.php.
- Fixed tiny bug in comment.inc.
- Fixed tiny bug in comment.module.
- Fixed tiny bug in meta.module.
- Simplified user_access() API.
- Rewrote link system: still needs fine-tuning and testing so don't
upgrade if you are running a production site. ;)
Updated all modules and themes to reflect this change. All other
themes and modules need updating too!
- Changed meta.module, node.module and index.php to use comma-seperated
lists of attributes rather then "foo=a,bar=b" lists. This makes it a
a lot easier to use both modules. In addition, error handling can be
discarded as it can't be made any simpler, really ...
It fits rather nicely in Drupal's design so I'm getting more and more
happy with this meta.module (but we are not 100% there yet).
- node.module, node.inc:
+ Improved the node-related admin interface so that navigating back
and forth the administrative menus is made both easier and faster.
+ Removed some redundant database fields from the node table. See
2.00-to-x.xx.sql!
+ Added 2 news hooks called "node_insert" and "node_update". Just
like this is the case with the existing hook "node_delete" these
new hooks will automatically get called when a node has been
inserted or udpated. Note that this is an optional call-back that
only needs to be implemented when required. With the addition of
these two hooks, the node mechanism (version 1) is pretty well
completed.
- watchdog.module:
+ Fixed bug whit the 'regular messages' query in the watchdog.module.
- book.module:
+ Fixed bug in book.module: the 'parent' was not set properly when
updating a book page.
+ Made it so that older versions of a book page are automatically
reactived upon deletion of the most recent version, i.e. when
doing a version roll-back.
- comment.inc:
+ Undid Remco's patch to comment.inc; it does not work in some cases.
- conf.module:
+ Fine-tuned some of the options in conf.module a bit.
- marvin.theme:
+ Visual changes to make it look better on Windows browsers. Mind
to give some feedback on this?
+ Fixed 3 HTML typos/bugs.
+ XHTML-ified the theme at a best effort basis; I didn't carry the
XHTML specification with me.
+ Made use of the theme_slogan variable to display the site's slogan.
+ As soon we have at least one valid XHTML theme we can wonder on how
to integrate other XML namespaces (cfr. MathML story at drop.org).
- database.mysql:
+ Updated database.mysql so that it contains all the latest "database
patches".
'=' instead of ';' and ':'. It is considered to be more readable.
--> A _first_ step towards and improved index.module. Stay tuned
for more.
+ Important:
If you update from CVS - apply the queries in 2.00-to-x.xx.sql!
- Changed all 'attribute' to 'attributes'.
+ Important:
If you update from CVS - apply the queries in 2.00-to-x.xx.sql!
+ Important:
This might require to ieni-wieni small update to your custom
themes and/or node-related modules:
- themes: node_index($node->attribute) -> node_index($node)
- node modules: attribute -> attributes
- fixed the trailing | in some cases.
- removed theme_morelinks().
- added node_links().
- simplified BaseTheme->links().
- updated themes.
Notes
- the new links system is taking form, but concider it beta. There might still
be some major changes ahead so I suggest waiting a little longer before
modifying your theme to take advantage of it.
- fixed the trailing | in some cases.
- removed theme_morelinks().
- added node_links().
- simplified BaseTheme->links().
- updated themes.
Notes
- the new links system is taking form, but concider it beta. There might still
be some major changes ahead so I suggest waiting a little longer before
modifying your theme to take advantage of it.
update, you'll break your site as you need switching from structure
to index.module: so this can be considered an intermediate commit.
If you upgrade, and you are welcome to, just create a collection
called "section" (for now) and assign your nodes some attributes
in the described format.
Feedback and bugreports are welcomed. Questions will be answered.
CHANGES:
- comment system:
+ when replying to a node (rather then to a comment), that
node is displayed above the reply form.
+ when replying to a comment (rather then to a node), that
comment is displayd above the reply form.
- removed structure.inc, removed structure.module.
- node.inc:
+ added 2 new node functions called 'node_attribute_edit()' and
'node_attribute_save()' used to 'hook in' any indexing system
including your home-brewed stuff if you'd want to. Currently,
index.module is the facto default index system.
See story.module for usage.
- book.module, story.module, poll.module, page.module, forum.module:
+ added preview functionality to administration section (via node
module).
+ removed all references to structure.inc (category, topic).
- moderate.module:
+ removed all references to structure.inc (category, topic).
- book.module, story.module, page.module, forum.module:
+ increased the sizes of some textareas.
- submit.php:
+ removed all references to structure.inc (category, topic).
- marvin.theme:
+ removed dead code: function story() was depricated.
- unconed.theme:
+ removed hardcoded references to drop.org.
- marvin.theme, unconed.theme, jeroen.theme, yaroon.theme, example.theme:
+ removed all references to structure.inc (category, topic).
TODO:
- file.module, trip_link.module:
+ update preview functionality:
see story.module for example.
+ remove references to 'cid' and 'tid', use 'attribute' instead:
see story.module for example.
- extend and build upon index.module as well as making it configurable
- created a BaseTheme class in theme.inc.
- added links($links = array(), $status = 0, $node = 0) to BaseTheme.
- modified all themes to extend from BaseTheme.
- modiefied theme_link() to take advantage of $theme->links().
- theme_morelink() does not require a $theme argument.
Todo
- add the other standard variables and functions to BaseTheme.
- some themes could use some more modifications.
Weird
- marvin.theme still has a story() function.
- created a BaseTheme class in theme.inc.
- added links($links = array(), $status = 0, $node = 0) to BaseTheme.
- modified all themes to extend from BaseTheme.
- modiefied theme_link() to take advantage of $theme->links().
- theme_morelink() does not require a $theme argument.
Todo
- add the other standard variables and functions to BaseTheme.
- some themes could use some more modifications.
Weird
- marvin.theme still has a story() function.
+ path_uri(): returns the fully-qualified URI of your drupal site.
+ path_img(): returns the image directory or http://image-server.com/
in case you prefer to load-balance bandwidth usage.
Replaced all occurences of the variable "site_url" with path_uri()
and removed "site_url" from "setting.module".
- Drastically simplified the node_save() API, which should make the
node-forms more secure. Updated "story.module", "book.module",
"forum.module", "page.module" and "node.module" to reflect this
change. This is needs more testing so hit it, beat it, tease it.
- Fixed an occasional glitch in the configuration file loading logic.
- Made "queue.module" display an informative notice when an anonymous
user tries accessing the moderation queue.
- Updated the hard-coded information in drupal.module a bit.
I updated the theme a bit, changed some variables and the drop down menu... I hope it works because frankly I haven't tested it... I mean, I tested it but not that toroughly. Hope with me :)
I'll write a short story about it.
Jeroen.
The result is an incredible loss of size, especially on larger pages.... on a typical drupal page (header/footer, 1 story box, 1 comment mod box, 4 comments and 1 side box) the difference was 23K vs 15K, which I find quite good. You should also notice how big some pages were in the old version, which are still tiny in the new version.
There are a few problems though:
- You can't use it in some parts of the admin section (preview a story), since admin.php leaves out the header(), so the html-generating functions are not included there.
- Because drop can occasionally insert HTML directly, without going through themes, I have to wrap each box in its own <script> tag. The optimization would benefit even more if i could group all function calls in one <script> tag, but it's not possible at the moment.
I suggest you take a snapshot of an original goofy-page (drop.org) and compare it with the output of this one (cvs-version) to see how it works exactly. And finally, it works on both IE5 and NS4, so I assume it does on most browsers.
- Added moderator permissions to nodes.
- Added moderator support to structure.module.
- Added new moderate.module.
- Renamed moderation.module to queue.module to avoid confusing.
Updated theme yaroon as it seems to have a hard-coded reference
to moderation.module.
- Polished on:
+ account.module: improved access list
+ fixed HTML typo in node.module
ACTIONS:
- Jeroen: can jeroen2.theme be removed from ./themes/yaroon?
They both return a linked string with the respective category,
or topic name. Updated all themes to use these new functions.
- (stripped tabs from emsa files, nevermind)
They both return a linked string with the respective category,
or topic name. Updated all themes to use these new functions.
- (stripped tabs from emsa files, nevermind)
I also applied UnConeD's remark about the PHP_SELF. And remover jeroen2.theme, added yaroon.theme and commit it now. Dries, if you have 5 minutes, just move the jeroen2 directory to yaroon.
Jeroen.
- all these themes are getting a pain to maintain but I guess nothing we can do about it. Hopefully the theme API is about to stabalize soon. In future, we should certainly keep the number of "supported" below 10 so as so we have, say, 11 themes I suggest to kick out the one that is less interesting. It will then become an "unsupported theme" available through drop.org/drupal but maybe not in prime condition. It think we'll have our hands full with 10 themes already. It is really the max IMHO. Comments/suggestions/noding heads?
Made it so that we can disable/enable comments on a category by category basis. In order to accomplish this I had to make a few (*temporary*) changes.
I moved all comment code from the "module level" (eg. story.module) to the "node level". It was nothing but the logical next step in nodifying drupal. This enables us to add comments to all existing content types including book entries. But also for book entries, this to can be toggled on and off. :-)
Moreover module writers don't have to worry about the complex comment logic: it is "abstracted" away. This implies that story.module got smaller, faster and easier to comprehend. :-)
In order to accomplish this, I had to update ALL THEMES, which I did - and on my way I updated Goofy, Oranzh and UnConeD - with the previous changes. All themes are up-to-date now! I also had to remove the [ reply to this story ] links, and temporally re-introcuded the "Add comment" button in the "Comment control". Tempora lly that is, UnConeD. ;)
I plan to upgrade drop.org either tommorow or wednesday so test away if you have some time to kill. ;)
Oh, I also fixed a few bugs and made various small improvements.
This should be it. For now... I applied most of the remarks you told me to. Only the seemingly floating squares... well let's just say they add to the mysteriousness of the page. I can't delete them. I don't think my site would look without them. We'll just see what the users think of it shall we? I can ask them abou the squares once it's released. So, all there is now is the fat vertical bar in NS 4.76. I also don't know what it looks like in Opera... and UnConeD, does it show a bit OK in IE? I polished the navigation box' algorithm a bit. Even more stable now.
I do have one remark Dries. When submitting something you don't have to choose story or book anymore but you have to select one of the categories. Is this OK? But wouldn't it be more logical to choose what type of thing you are going to submit. I don't think you will be placing an Announcement in the book. By the way how do you add a page to the book now? I can't find it... Or do I have to create book and story myself... Ahh heck Dries it's just broken OK? ;)
For the rest. Oh yes, I am not going to work with the categories. The squares in front of a $story->title represent the topic the title is under (e.g.: linux, science, Media, Announcements) But not the category (I see them as a some sort of sub-folder in each topic) I haven't found a good way to display it yet. I still have to find how to import it in the lay-out so it wouldn't mess up. I already liked the fact that I don't have text-links for the former categories anymore... We'll see what happens...
Jeroen.
your theme:
- corrected some missing translations in story.module. Oops!
- grealty simplified the "moderation threshold mechanism"(tm) so
that module writers don't have to worry about this. As a result
story.module and book.module became a bit smaller and easier to
grasp.
- greatly simplified new "category" and "topic" code which is soon
going to replace the "section" code. Needs more work though so
hang on thight.
- includes/section.inc and modules/section.module are replaced by
includes/structure.module and modules/structure.module.
- beautified example.theme a bit without adding HTML complexity:
it is a good example but still useful as a theme
- made theme example use "categories" and "topics"
--> TAKE A LOOK AT IT AND UPDATE YOUR THEME
- made theme marvin use "categories" and "topics"
--> TAKE A LOOK AT IT AND UPDATE YOUR THEME
- added 2 new "story listings" to administrator interface of
story.module to verify story integrity.
- optimized comment table a bit (work in progress)
Again, a nightly commit :) The last one because tomorrow I'll be in bed at a reasonable time since the morning after school starts... I wish they had a pill for _that_ ;) I think it's ready for release. Added more stability concerning the navigation box. It should now handle all possible URL's on a drupal site. To make sure I catch them all I implemented something that check whether a value is not set to one. It is set to one when the URL matches an option in the list. I saw that we also have a ?mod=moderation (which should only be visible to people that are logged in so I couldn't put it in the list standard) and for the rest nodes. Therefore, when in moderation/a node page it displays Moderation/Node in the list, else not. If I didn't do this Main would be set to the default value... we had that problem before... I needed to use $REQUEST_URI for the modules because it gives you the whole URL, $PHP_SELF only gives you a string until the first ? in the URL... This way I couldn't make up whether you were on the diary or book page. (module.php?mod=book and module.php?mod=diary) With a substr($REQUEST_URI,12,9) I could. Dries told me today that $REQUEST_URI isn't as good as $PHP_SELF, but this is an easy way to fix it. Voila I think that's it. (now that I think of it, I don't even have to do a substr() for the book module since there isn't anything that can be put behind it. With diary for example I have to do the substring because things like &op=add can be put behind it, but that's not the case with the book...) After this change I think that everything is fixed. Oh yes I also fixed a rather flagrant allignment bug. I align the big right td centered which would cause the comment's tree to be centered too so there wasn't much left of a tree anymore. ;) Added one table that fixed this. OK, I think the theme is ready for release. The only problem still is the vertical spacer which is fat in NS 4.76. If someone knows why or finds any other bugs in my theme please let me know. But for me, it's finished, until the next block code is stable and released, I'm planning to get rid of the account box too and expand the navigation menu somewhat. with indented options etc... but that's for later... Now I am going to sleep (after some more fixes I already have in mind) Bye!
Jeroen.
(I'm not sending the mail right away, first the fixes.) OK, it's 04.32. I did some other nice thing IMO, but it's not going to work anymore one we have more than 1000 nodes... Ack.. Just click a story or comment somewhere and check out the navigation box... Goodmorning. ;)
it now uses the new category code, incl content bindings.
You can setup different "categories" which map on a content
type. Example:
review -> review.module
article -> story.module
column -> story.module
announc. -> story.module
addons -> file.module
themes -> file.module
- "generalised" story.module and book.module's output.
- fixed bug in includes/timer.inc
- fixed glitch in theme example.theme: it said "$how by" but
the variable $how has never been declared.
- added "drupal development settings" to display some timings
- more work on the categories/topics -> does NOT work yet