From 5158eb8a7042ab4f7d617ca148da7201836d7972 Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Sat, 26 May 2001 18:26:56 +0000 Subject: - Rewrote the headline module from scratch. Note that the old headline code is still in place 'till the new code has proven to be stable. See "syndication.module" for the new code. Changes: + Improved the parser and tested it against RSS 0.9, RSS 0.91, RSS 0.92, RSS 1.0, RDF and XML feeds. + Improved the administration interface. It might be a bit fuzzy at first. Maybe some native English like Julian, Michael (or any one else with knowledge in the field) can help out by suggesting better naming, terminology or descriptions - as well as by writing the help section for this module? I'd have no idea how much this would be appreciated. + We can *easily* recognize new tags or extensions: we parse out "link", "title", "description" and "author" right now, but we will have to revise which tags to support and which not. New tags can be added in less than 10 minutes (if you are familiar with the code). Read: we have something we can build on. + Within each item, tags can now appear is random order which is or was not the case with the old headline code where we expect s prior to s for example. + Feed updates only (ie. always) happen through cron. Neither do we use one global cron for updating all feeds; instead, every feed can specify his own update-interval. + Newly fetched headlines are "appended" to the pool of existing headlines (read: we don't replace the whole feed), and headlines automatically "expire" after x days or hours. (Every headline has a timestamp.) + Got rid of backend.class; it is integrated in the module. + Switched to more generic names: "headline" became "item" and "backend" became "feed". This should ease future non-headline oriented syndication. + You can associate attributes or keyword lists with every feed. At the moment new items will automatically inherit their feeds attributes but in future we can use heuristics to make these attributes "mutate" when and where we see fit. The attributes can be maintained by hand as well. + We don't export any blocks yet; we will soon do as soon this new code has been tested for a bit more. We will only export bundles though so if you want to export by feed/source, you will have to make a source-specific bundle. - Polished a bit on a few other modules: nothing major. --- modules/index.module | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'modules/index.module') diff --git a/modules/index.module b/modules/index.module index 0cc858c61..09c8e4abd 100644 --- a/modules/index.module +++ b/modules/index.module @@ -1,7 +1,10 @@ attributes + function index_get_array($id) { - return db_fetch_array(db_query("SELECT * FROM entry WHERE eid = '$id'")); + return db_fetch_array(db_query("SELECT * FROM entry WHERE eid = '". check_input($id) ."'")); } function index_collection_form($name) { @@ -29,9 +32,9 @@ function index_help() { function index_form($edit = array()) { global $REQUEST_URI; - $form .= form_textfield(t("Entry name"), "name", $edit[name], 35, 55, t("The name of this entry. Example: 'Apache'.")); - $form .= form_textfield(t("Collection"), "collection", $edit[collection], 35, 55, t("The collection or group this entry belgons to. Example: 'Software'.")); - $form .= form_textfield(t("Keywords"), "keyword", $edit[keyword], 35, 55, htmlentities("Format: :;:;. Example: 'software:apache;type:webserver;os:linux;'.")); + $form .= form_textfield(t("Entry name"), "name", $edit[name], 55, 64, t("The name of this entry. Example: 'Apache'.")); + $form .= form_textfield(t("Collection"), "collection", $edit[collection], 55, 64, t("The collection or group this entry belgons to. Example: 'Software'.")); + $form .= form_textfield(t("Keywords"), "keyword", $edit[keyword], 55, 64, htmlentities("Format: :;:;. Example: 'software:apache;type:webserver;os:linux;'.")); $form .= form_submit(t("Submit")); if ($edit[eid]) { @@ -73,7 +76,7 @@ function index_test_1() { while ($entry = db_fetch_object($result)) { $form .= index_collection_form($entry->collection); } - $form .= "Select around and click the buttom below:
"; + $form .= "Select around and click the button below:
"; $form .= form_submit("Click to test"); return form($REQUEST_URI, $form); -- cgit v1.2.3