]> git.mjollnir.org Git - moodle.git/commitdiff
Database now stores userid, and page info is now more Moodley
authormoodler <moodler>
Sun, 22 Aug 2004 16:41:54 +0000 (16:41 +0000)
committermoodler <moodler>
Sun, 22 Aug 2004 16:41:54 +0000 (16:41 +0000)
(plus it doesn't show IP information to everyone!)

All old authors are not currently displayed  (I chose not to)
This is easy to fix if people want it, since the old author
string is still there in the database.

mod/wiki/db/mysql.php
mod/wiki/db/mysql.sql
mod/wiki/db/postgres7.php
mod/wiki/db/postgres7.sql
mod/wiki/ewiki/ewiki.php
mod/wiki/version.php

index 1fbb95e76b16c72edec051255cc5e68f479e61f8..b7d36aa82d11a7d7d50c189a84a402d258c8e7b8 100644 (file)
@@ -51,6 +51,10 @@ function wiki_upgrade($oldversion) {
                     .' ADD `disablecamelcase` TINYINT DEFAULT \'0\' NOT NULL AFTER `ewikiacceptbinary`');
     }
 
+    if ($oldversion < 2004082200) {
+        table_column('wiki_pages', '', 'userid', "integer", "10", "unsigned", "0", "not null", "author");
+    }
+
     return true;
 }
 
index 7bef549eb1944b62ec9cedb47139c99bdaf2b857..cb6e0885b185f54119b28c217240e28d0be6a124 100644 (file)
@@ -48,6 +48,7 @@ CREATE TABLE `prefix_wiki_pages` (
   `flags` INTEGER UNSIGNED DEFAULT 0,
   `content` MEDIUMTEXT,
   `author` VARCHAR(100) DEFAULT 'ewiki',
+  `userid` INTEGER UNSIGNED NOT NULL DEFAULT 0,
   `created` INTEGER UNSIGNED DEFAULT 0,
   `lastmodified` INTEGER UNSIGNED DEFAULT 0,
   `refs` MEDIUMTEXT,
index b3db1fafc92f7d0eedb76b227e25e106b46048bf..e162103a028bd15fcb9f5b5da8359f11cc60f1dc 100644 (file)
@@ -18,6 +18,9 @@ function wiki_upgrade($oldversion) {
        modify_database("", "ALTER TABLE ONLY prefix_wiki_pages 
                             ADD CONSTRAINT id PRIMARY KEY (pagename, \"version\", wiki);"); 
     }
+    if ($oldversion < 2004082200) {
+        table_column('wiki_pages', '', 'userid', "integer", "10", "unsigned", "0", "not null", "author");
+    }
     return true;
 }
 
index 2cf8eb4450fac188e5368356793222cb8b205748..47b0a9931f6181c9be76c43bfae072084e376502 100644 (file)
@@ -46,6 +46,7 @@ CREATE TABLE prefix_wiki_pages (
   flags INTEGER  DEFAULT 0,
   content TEXT,
   author VARCHAR(100) DEFAULT 'ewiki',
+  userid INTEGER  NOT NULL DEFAULT 0,
   created INTEGER  DEFAULT 0,
   lastmodified INTEGER  DEFAULT 0,
   refs TEXT,
index 1aaf9ab73a72f3f9b55058eec413d5dc1921f120..ad89f8638f25c9cafb0ce32f0e9656fbe688ffec 100644 (file)
@@ -1123,6 +1123,7 @@ function ewiki_page_search($id, &$data, $action) {
 function ewiki_page_info($id, &$data, $action) {
 
    global $ewiki_plugins, $ewiki_config, $ewiki_links;
+   global $CFG, $course;  // MOODLE HACK
 
    $o = ewiki_make_title($id, ewiki_t("INFOABOUTPAGE")." '{$id}'", 2, $action,"", "_MAY_SPLIT=1"); 
 
@@ -1131,7 +1132,7 @@ function ewiki_page_info($id, &$data, $action) {
       "APPENDONLY", "SYSTEM",
    );
    $show = array(
-      "version", "author", "created",
+      "version", "author", "userid", "created",
       "lastmodified", "refs",
       "flags", "meta", "content"
    );
@@ -1157,19 +1158,21 @@ function ewiki_page_info($id, &$data, $action) {
          continue;
       }
 
-      $o .= '<table class="version-info" border="1" cellpadding="2" cellspacing="1">' . "\n";
+      $o .= '<table align="center" class="version-info" cellpadding="2" cellspacing="1">' . "\n";
 
       #-- additional info-actions
-      $o .= '<tr><td></td><td class="action-links">';
+      $commands = '';
       foreach ($ewiki_config["action_links"]["info"] as $action=>$title)
       if (@$ewiki_plugins["action"][$action] || @$ewiki_plugins["action_always"][$action]) {
    ##### BEGIN MOODLE ADDITION #####
-         $o .= '<a href="' .
+         if ($commands) {
+             $commands .= '&nbsp;&nbsp;';
+         }
+         $commands .= '<a href="' .
            ewiki_script($action, $id, array("version"=>$current["version"])) .
-           '">' . get_string($title,"wiki") . '</a>&nbsp;';
+           '">' . get_string($title,"wiki") . '</a>';
    ##### END MOODLE ADDITION #####
       }
-      $o .= "</td></tr>\n";
 
       #-- print page database entry
       foreach($show as $i) {
@@ -1178,6 +1181,7 @@ function ewiki_page_info($id, &$data, $action) {
 
          #-- show database {fields} differently
          if ($i == "meta") {
+            continue;  // MOODLE DOESN'T USE IT
             $str = "";
             if ($first && $value) { foreach ($value as $n=>$d) {
                $str .= htmlentities("$n: $d") . "<br>\n";
@@ -1186,11 +1190,12 @@ function ewiki_page_info($id, &$data, $action) {
          }
          elseif ($value >= UNIX_MILLENNIUM) {    #-- {lastmodified}, {created}
             #### BEGIN MOODLE CHANGE
-            $value=userdate($value, $strftimedatetime);
+            $value=userdate($value);
             #$value = strftime("%c", $value);
             #### END MOODLE CHANGE
          }
          elseif ($i == "content") {
+            continue;  // MOODLE DOESN'T CARE
             $value = strlen(trim($value)) . " bytes";
             $i = "content size";
          }
@@ -1201,17 +1206,24 @@ function ewiki_page_info($id, &$data, $action) {
             foreach ($a as $n=>$link) {
                $a[$n] = ewiki_link_regex_callback(array("$link"), "force_noimg");
             }
-            $value = implode(", ", $a);
+            $value = trim(implode(", ", $a));
+            if (!$value) {
+                continue;
+            }
          }
          elseif (strpos($value, "\n") !== false) {       #-- also for {refs}
             $value = str_replace("\n", ", ", trim($value));
+            if (!$value) {
+                continue;
+            }
          }
          elseif ($i == "version") {
             $value = '<a href="' .
                ewiki_script("", $id, array("version"=>$value)) . '">' .
-               $value . '</a>';
+               $value . '</a> '."($commands)";
          }
          elseif ($i == "flags") {
+            continue;  // MOODLE DOESN'T USE IT
             $fstr = "";
             for ($n = 0; $n < 32; $n++) {
               if ($value & (1 << $n)) {
@@ -1222,18 +1234,32 @@ function ewiki_page_info($id, &$data, $action) {
             $value = $fstr;
          }
          elseif ($i == "author") {
+            continue;
             $ewiki_links=1;
             $value = preg_replace_callback("/((\w+:)?([".EWIKI_CHARS_U."]+[".EWIKI_CHARS_L."]+){2,}[\w\d]*)/", "ewiki_link_regex_callback", $value);
          }
+         elseif ($i == "userid") {
+             $i = 'author';
+             if ($user = get_record('user', 'id', $value)) {
+                 if (!isset($course->id)) {
+                     $course->id = 1;
+                 }
+                 $picture = print_user_picture($user->id, $course->id, $user->picture, false, true, true);
+                 $value = $picture." <a href=\"$CFG->wwwroot/user/view.php?id=$user->id&course=$course->id\">".fullname($user)."</a>";
+             } else {
+                 continue;
+                 //$value = @$current['author'];
+             }
+         }
 
    ##### BEGIN MOODLE ADDITION #####
-         $o .= '<tr class="page-'.$i.'"><td valign="top"><b>' .ewiki_t($i). '</b></td>' .
+         $o .= '<tr class="page-'.$i.'"><td valign="top" align="right"><b>' .ewiki_t($i). ':</b></td>' .
                '<td>' . $value . "</td></tr>\n";
    ##### END MOODLE ADDITION #####
 
       }
 
-      $o .= "</table><br>\n";
+      $o .= "</table><br /><br />\n";
    }
 
    #-- page result split
@@ -1450,13 +1476,16 @@ function ewiki_page_edit($id, $data, $action) {
 
 
 function ewiki_data_update(&$data, $author="") {
-   global $ewiki_links;
+   global $USER, $ewiki_links;
 
    #-- add backlinks entry
    ewiki_scan_wikiwords($data["content"], $ewiki_links, "_STRIP_EMAIL=1");
    $data["refs"] = "\n\n".implode("\n", array_keys($ewiki_links))."\n\n";
    $data["lastmodified"] = time();
    $data["author"] = ewiki_author($author);
+   if (isset($USER->id)) {
+       $data["userid"] = $USER->id;
+   }
 }
 
 
@@ -2452,6 +2481,7 @@ function ewiki_intermap_walking($id, &$data, $action) {
 */
 function ewiki_binary($break=0) {
    global $ewiki_plugins;
+   global $USER;   // MOODLE
 
    #-- reject calls
    if (!strlen($id = @$_REQUEST[EWIKI_UP_BINARY]) || !EWIKI_IDF_INTERNAL) {
@@ -2582,6 +2612,7 @@ EOF;
             "lastmodified" => time(),
             "created" => time(),
             "author" => ewiki_author("ewiki_binary_cache"),
+            "userid" => $USER->id,
             "content" => "",
             "meta" => array("Status"=>"404 Absent"),
          );
@@ -2617,6 +2648,7 @@ function ewiki_binary_save_image($filename, $id="", $return=0,
 $add_meta=array(), $accept_all=EWIKI_ACCEPT_BINARY, $care_for_images=1)
 {
    global $ewiki_plugins;
+   global $USER;   // MOODLE
 
    #-- break on empty files
    if (!filesize($filename)) {
@@ -2719,6 +2751,7 @@ $add_meta=array(), $accept_all=EWIKI_ACCEPT_BINARY, $care_for_images=1)
       "id" => $id,
       "version" => "1", 
       "author" => ewiki_author(),
+      "userid" => $USER->id,
       "flags" => EWIKI_DB_F_BINARY | EWIKI_DB_F_READONLY,
       "created" => time(),
       "lastmodified" => time(),
@@ -3096,6 +3129,8 @@ function ewiki_auth_user($username, $password) {
 */
 function ewiki_eventually_initialize(&$id, &$data, &$action) {
 
+   global $USER;
+
    #-- initialize database only if frontpage missing
    if (($id==EWIKI_PAGE_INDEX) && ($action=="edit") && empty($data["version"])) {
 
@@ -3117,6 +3152,7 @@ function ewiki_eventually_initialize(&$id, &$data, &$action) {
                      "flags" => "1",
                      "content" => $content,
                      "author" => ewiki_author("ewiki_initialize"),
+                     "userid" => $USER->id,
                      "refs" => $refs,
                      "lastmodified" => filemtime("$path/$filename"),
                      "created" => filectime("$path/$filename")   // (not exact)
@@ -3480,6 +3516,7 @@ function ewiki_database_mysql($action, &$args, $sw1, $sw2) {
             flags INTEGER UNSIGNED DEFAULT 0,
             content MEDIUMTEXT,
             author VARCHAR(100) DEFAULT 'ewiki',
+            userid INTEGER UNSIGNED DEFAULT 0,
             created INTEGER UNSIGNED DEFAULT ".time().",
             lastmodified INTEGER UNSIGNED DEFAULT 0,
             refs MEDIUMTEXT,
index 65719e4ddbe55875da3886897facbaf4911aaf6a..f0d3f504ef1c034e758b2d28c49cfdf8d347a71d 100644 (file)
@@ -5,7 +5,7 @@
 ///  This fragment is called by moodle_needs_upgrading() and /admin/index.php
 /////////////////////////////////////////////////////////////////////////////////
 
-$module->version  = 2004073001;  // The current module version (Date: YYYYMMDDXX)
+$module->version  = 2004082200;  // The current module version (Date: YYYYMMDDXX)
 $module->cron     = 0;           // Period for cron to check this module (secs)
 
 ?>