示例#1
0
 private static function outputDisplayTip($wid = "display-tip")
 {
     $main = "";
     // ---------------------------------------
     // WIKI Template:Displaytip
     $thispageTitle = "Template:Displaytip";
     if (!isset($dbWiki) || !is_object($dbWiki)) {
         $dbWiki = new fromdb_nwwiki();
     }
     $main .= $dbWiki->getWikiPage($thispageTitle);
     $today = time();
     if (!(mktime(0, 0, 0, 6, 25) < $today and $today < mktime(0, 0, 0, 8, 10)) && !(mktime(0, 0, 0, 12, 23) < $today) && !($today < mktime(0, 0, 0, 1, 10))) {
         // ---------------------------------------
         // WIKI Template:Displaytip_Friday
         if (date("w") == 5) {
             $thispageTitle = "Template:Displaytip_Friday";
             $main .= $dbWiki->getWikiPage($thispageTitle);
         }
         // ---------------------------------------
         // WIKI Template:Displaytip_Monday
         if (date("w") == 1) {
             $thispageTitle = "Template:Displaytip_Monday";
             $main .= $dbWiki->getWikiPage($thispageTitle);
         }
         // ---------------------------------------
         // WIKI Template:Displaytip_Monday
         $thispageTitle = "Template:Widget_Movienight";
         $movie = $dbWiki->getWikiPage($thispageTitle);
         if (!empty($movie)) {
             $main .= "<ul><li><strong>NORDITA MOVIE NIGHT</strong><br>\r\n" . $movie . "</li></ul>";
         }
     }
     // end if
     // ---------------------------------------
     $main = trim($main);
     if (!empty($main)) {
         return "            <div id='" . $wid . "' class='widget-table'>\r\n" . "              <table>\r\n" . "                 <tr><th>What else is on at Nordita?</th></tr>\r\n" . "                 <tr><td>\r\n" . $main . "\r\n" . "                 </td></tr>\r\n" . "               </table>\r\n" . "            </div> <!-- " . $wid . " -->\r\n" . "\r\n";
     } else {
         return "";
     }
 }
示例#2
0
 public function buildCompleteMenuArraysData()
 {
     $allMenusArray = array();
     $allEventsArray = array();
     $wiki2id = array();
     $wikiid2paths = array();
     $agid2path = array();
     $path2agid = array();
     $now2agid = array("current" => array(), "future" => array(), "past" => array());
     $menuFiles = array();
     $all_wikipages = array();
     $jointEvents = array();
     // --------------------
     // -- (1) SUBSITES
     //    Fetch all names of subsites (from $this->allSitesArray, directories in PATH_SITES)
     //    and possible common menus (from '_classes/config/layout/<nr>/common_menus.php')
     //    --> $menuFiles
     // --------------------
     // -- We need the menus for all subsites
     $menuFiles = $this->allSitesArray;
     // -- There might be common menu files, like 'm_main_nonmenu' and 'm_event', for this layout
     if (file_exists(INCLEVEL . PATH_LAYOUT . "/" . DEFAULT_VERSION . "/common_menus.php")) {
         require_once PATH_LAYOUT . "/" . DEFAULT_VERSION . "/common_menus.php";
         if (!empty($common_menus)) {
             $menuFiles = array_unique(array_merge($menuFiles, $common_menus));
         }
     }
     // -- We don't need the menu of any test subsite:
     foreach ($menuFiles as $key => $menu) {
         if (in_array($menu, array("index.php", DOCROOT_PREFIX))) {
             unset($menuFiles[$key]);
         }
     }
     // --------------------
     // -- (2) WEB PAGES
     //    Load menu file for each SUBSITE and copy menu elements.
     //    --> $allMenusArray
     // --------------------
     foreach ($menuFiles as $menu) {
         if (file_exists(INCLEVEL . PATH_SITES . "/" . $menu . "/menu_" . $menu . ".php")) {
             // subsite menu path
             if (!function_exists("menu_" . $menu)) {
                 require_once PATH_SITES . "/" . $menu . "/menu_" . $menu . ".php";
             }
         } elseif (file_exists(INCLEVEL . PATH_MENU . "/m_" . $menu . ".php")) {
             // common menu path (there are still some files here!)
             if (!function_exists("menu_" . $menu)) {
                 require_once PATH_MENU . "/m_" . $menu . ".php";
             }
         }
         if (function_exists("menu_" . $menu)) {
             $thisMenuRecords = call_user_func("menu_" . $menu);
             foreach ($thisMenuRecords as $thisPath => $thisRecord) {
                 if (!isset($allMenusArray[$thisPath])) {
                     $thisRecord["path"] = $thisPath;
                     $thisRecord["subsite"] = $menu;
                     $allMenusArray[$thisPath] = $thisRecord;
                 }
             }
         }
     }
     // -- Sort and save
     // DON'T do this: "ksort($allMenusArray)" since it will reshuffle all menus!
     $this->allMenusArray = $allMenusArray;
     // --------------------
     // -- (3) WEB PAGES
     //    Create convenience lookup tables.
     //    --> $wiki2id
     //    --> $agid2path
     //    --> $path2agid
     //    --> $wikiid2paths
     // --------------------
     foreach ($allMenusArray as $path => $arr) {
         // --------------------
         // Conversion from path to wiki title
         if (!empty($arr["wikiid"])) {
             $wiki2id[$arr["wikititle"]] = $arr["wikiid"];
         }
         if (!empty($arr["wikiid"]) && !is_numeric($path)) {
             $wikiid2paths[$arr["wikiid"]]["name"] = empty($arr["wiki"]) ? "" : $arr["wiki"];
             $wikiid2paths[$arr["wikiid"]]["path"][] = $path;
         }
         // --------------------
         // Conversion from path to agenda index for programs
         // NB. The 'url' field is typically not present in the menu file 'm_events' but
         // is constructed in XXX from the 'confid' field.
         if (preg_match("~^events/([^/]+)\$~imU", $path, $subpath) && !empty($arr["confid"])) {
             $agid2path[$arr["confid"]] = $subpath[1];
         }
     }
     // end foreach
     $path2agid = array_flip($agid2path);
     // -- Obtain $all_wikipages[] from wiki DB
     $dbWiki = new fromdb_nwwiki();
     $all_wikipages = $dbWiki->get_listAllPages();
     $GLOBALS["dbWikiSql"] = $dbWiki->DBq;
     if (!isset($all_wikipages)) {
         return BLURB_SORRY_DB_CONNECT;
     }
     // array();
     // -- Update $wikiid2paths[] with pages in wiki DB but not in menus
     foreach ($all_wikipages as $namespace => $wps) {
         foreach ($wps as $wp) {
             $wikiid2paths[$wp["page_id"]]["name"] = empty($wp['title']) ? "" : $wp['title'];
             $wikiid2paths[$wp["page_id"]]["timestamp"] = empty($wp["timestamp"]) ? "" : date("Y-m-d", $wp['timestamp']);
         }
     }
     // -- Sort and save
     ksort($wiki2id);
     ksort($agid2path);
     ksort($path2agid);
     ksort($wikiid2paths);
     $this->wiki2id = $wiki2id;
     $this->agid2path = $agid2path;
     $this->path2agid = $path2agid;
     $this->wikiid2paths = $wikiid2paths;
     // --------------------
     // -- (4) EVENTS
     //    Create event tables sorted in different ways for convenience.
     //    --> $allEventsArray[$confId] = array("date"=>array("starttime"=<record>)
     //    --> $now2agid[past|current|future][startdate][] = $confId
     // --------------------
     $eventArray = $oneEvent = $jointEvents = array();
     //    if (!class_exists("fromdb_agenda",FALSE)) require_once PATH_CLASSES . "/fromdb/agenda.php";
     //
     //    if (!isset($dbVm) || !is_object($dbVm)) {
     //      require_once PATH_CLASSES . "/fromdb/vm.php";
     //      $dbVm = new fromdb_vm();
     //    }
     //
     //    if (!isset($dbEv) || !is_object($dbEv)) {
     //      require_once PATH_CLASSES . "/fromdb/nwevents.php";
     //      $dbEv = new fromdb_nwevents();
     //    }
     // -- Obtain list of Agenda id:s for Nordita events
     //    --> $allConfids
     $allConfids = functions::callMethod('fromdb_nwevents', 'fromdb/nwevents', 'getAgendaConferenceIdsForNorditaEvents');
     // -- Fetch data for each Nordita event from various sources
     $jointEvents = functions::callMethod('fromdb_nwevents', 'fromdb/nwevents', 'getEventsJoint');
     //TODO: if (OK_TO_CALL_EVENTS), fetch all data from nwevents at once, rather than for each event in a loop
     if (IS_TESTSERVER || isInPath("_admin")) {
         echo "Reading event data from source " . (OK_TO_CALL_EVENTS ? "<em>DB nwevents</em> to DOC-&gt;\$menus:" : "<em>Agenda</em>");
     }
     foreach ($allConfids as $confId) {
         // -- (i) Fetch data for event $confId from the Agenda database, by way of local nwevents database
         $oneEvent = functions::callMethod('fromdb_nwevents', 'fromdb/nwevents', 'getOneEvent', $confId, TRUE);
         if (IS_TESTSERVER || isInPath("_admin")) {
             echo " #" . $confId;
         }
         if (!empty($oneEvent)) {
             if (isset($oneEvent["contribution"])) {
                 unset($oneEvent["contribution"]);
             }
             if (isset($oneEvent["startdate"]) && substr($oneEvent["startdate"], -5) != "01-01" && isset($agid2path[$confId])) {
                 // -- (ii) Add event data from menu file
                 $path = $agid2path[$confId];
                 $oneEvent["subpath"] = $path;
                 if (isset($allMenusArray["events/" . $path])) {
                     foreach (array("blurb", "path", "url", "etype", "confid_parent", "surveyid", "surveyresponse") as $field) {
                         if (isset($allMenusArray["events/" . $path][$field])) {
                             $oneEvent[$field] = $allMenusArray["events/" . $path][$field];
                         }
                     }
                     if (!empty($allMenusArray["events/" . $path]["youtube"])) {
                         $oneEvent["videos"] = "video/index.php?ev=" . $path;
                         // ."&amp;cl=".$theevent["youtube"];
                         $oneEvent["youtubeid"] = $allMenusArray["events/" . $path]["youtube"];
                     }
                 }
                 // -- (iii) Add event data from VM
                 $budget = functions::callMethod('fromdb_vm', 'fromdb/vm', 'getEventBudgetsources', $confId, TRUE);
                 //$budget = $dbVm->getEventBudgetsources($confId,1);
                 if ($budget && !empty($budget)) {
                     $oneEvent["budgetsources"] = $budget;
                 }
                 // -- Save event data into array $allEventsArray
                 $allEventsArray[$confId] = $oneEvent;
                 if (!empty($oneEvent["current"]) && !empty($oneEvent["startdate"])) {
                     $now2agid[$oneEvent["current"]][$oneEvent["startdate"]][] = $oneEvent["id"];
                 }
             }
             // end if
         }
         // end if
     }
     // end foreach
     // -- Sort and save
     //ksort($allEventsArray); // don't do this: waste of time
     $this->allEventsArray = $allEventsArray;
     $this->now2agid = $now2agid;
     // -- Return calculated arrays to be saved in cache file
     return array("allMenusArray" => $allMenusArray, "allEventsArray" => $allEventsArray, "wiki2id" => $wiki2id, "agid2path" => $agid2path, "path2agid" => $path2agid, "now2agid" => $now2agid, "wikiid2paths" => $wikiid2paths, "jointEvents" => $jointEvents);
 }
示例#3
0
 public static function AwikiLinks()
 {
     $stdout = "";
     // ----
     if (empty($GLOBALS["documentClass"]->wikiid2paths)) {
         $GLOBALS["documentClass"]->buildCompleteMenuArrays();
     }
     // ---- Build from wiki DB $all_wikipages[0][] = array(<page_id>,<title>)
     $dbWiki = new fromdb_nwwiki();
     $all_wikipages = $dbWiki->get_listAllPages();
     if (!isset($all_wikipages) || !is_array($all_wikipages)) {
         return "";
     }
     ksort($all_wikipages[0]);
     // ---- Build $inNoMenu[<title>] = <page_id>
     // ---- Build $allwiki2wikiid[<title>] = <page_id>
     $inNoMenu = array();
     foreach ($all_wikipages[0] as $idx => $val) {
         if (!isset($GLOBALS["documentClass"]->wikiid2paths[$val["page_id"]]["path"])) {
             $inNoMenu[$val["title"]] = $val["page_id"];
         }
         $allwiki2wikiid[$val["title"]] = $val["page_id"];
     }
     ksort($inNoMenu);
     // ---- Build $all_wikiid[<id>] = array(<title>,<wikilinks>[],<paths>[])
     foreach ($all_wikipages[0] as $idx => $val) {
         if (isset($dbWiki->wikipage_wikilinks)) {
             unset($dbWiki->wikipage_wikilinks);
         }
         $dbWiki->get_wikilinks($val["page_id"]);
         // --> $dbWiki->wikipage_wikilinks[]
         $tmparr = array();
         if (isset($dbWiki->wikipage_wikilinks) && is_array($dbWiki->wikipage_wikilinks)) {
             foreach ($dbWiki->wikipage_wikilinks as $id => $va) {
                 $tmparr[$va["txt"]] = isset($allwiki2wikiid[$va["txt"]]) ? 1 : 0;
             }
         }
         $all_wikiid[$val["page_id"]]["title"] = $val["title"];
         $all_wikiid[$val["page_id"]]["wikilinks"] = count($tmparr) > 0 ? $tmparr : array();
         $all_wikiid[$val["page_id"]]["paths"] = isset($GLOBALS["documentClass"]->wikiid2paths[$val["page_id"]]["path"]) ? $GLOBALS["documentClass"]->wikiid2paths[$val["page_id"]]["path"] : array();
     }
     krsort($all_wikiid);
     // ----
     foreach ($all_wikiid as $id => $arr) {
         if (!empty($arr["title"])) {
             $stdout .= "<dt><strong" . (empty($arr["paths"]) ? " class='red'" : "") . ">[" . $id . "]</strong>&nbsp;" . "<a href='" . WIKI_URI . "/index.php/" . $arr["title"] . "'>" . "<strong>" . $arr["title"] . "</strong></a>" . "</dt>\r\n";
             if (isset($arr["paths"])) {
                 foreach ($arr["paths"] as $path) {
                     $stdout .= !empty($path) ? "<dd><span style='font-family:monospace'>" . $path . "</span></dd>\r\n" : "";
                 }
             }
             if (isset($arr["wikilinks"]) && count($arr["wikilinks"]) > 0) {
                 $stdout .= "<dd><ul>\r\n";
                 foreach ($arr["wikilinks"] as $wikilink => $isWiki) {
                     $stdout .= $isWiki ? "<li style='color:green'>" . $wikilink . "</li>" : "<li style='color:red'>" . $wikilink . "</li>";
                 }
                 $stdout .= "</ul></dd>\r\n";
             }
         }
     }
     return $stdout;
 }
示例#4
0
 public static function OutputSeminarsNextweek($w = 0)
 {
     $stdout = "";
     $talks_selection = $events = $colloquium = $visits = $contributions = $seminars = $talks = array();
     functions::gpc_declare_input("w", $w, true);
     $delta = $GLOBALS["w"] == 0 ? 7 : 0;
     $saturday1 = date("Y-m-d", time() - 3600 + ($delta - 1 + date("w", time() - 3600)) * 86400);
     $sunday = date("Y-m-d", time() - 3600 + ($delta - date("w", time() - 3600)) * 86400);
     $saturday2 = date("Y-m-d", time() - 3600 + ($delta + 7 - date("w", time() - 3600)) * 86400);
     $agenda_timespan = $GLOBALS["w"] == 0 ? "nextweek" : "thisweek";
     // ----------------------
     // Obtain data from VM DB: records for visitors outside events
     // ----------------------
     $visits = functions::callMethod('fromdb_vm', 'fromdb/vm', 'getArrivingVisitors', "extweek", $GLOBALS["w"]);
     // 'extweek' = extended week
     // ----------------------
     // Obtain data from Agenda DB: seminars and colloquium
     // ----------------------
     //@@@ -- VERKAR OK -- in OutputSeminarsNextweek() -- calls getTalkRecordsSeminars+getTalkRecordsColloquium
     // ----------------------
     // Obtain data from nw_events DB: programs and other events, and talks inside these events
     // ----------------------
     $events = functions::callMethod('fromdb_nwevents', 'fromdb/nwevents', 'getEventsInPeriod', $agenda_timespan);
     $seminars = functions::callMethod('fromdb_nwevents', 'fromdb/nwevents', 'getTalkRecordsSeminars', $agenda_timespan);
     $colloquium = functions::callMethod('fromdb_nwevents', 'fromdb/nwevents', 'getTalkRecordsColloquium', $agenda_timespan);
     $contributions = functions::callMethod('fromdb_nwevents', 'fromdb/nwevents', 'getEventContributionsInPeriod', $agenda_timespan);
     // ----------------------
     // Postparsing of seminars data records --> array $talks_selection[]
     // ----------------------
     //    $seminars = self::mergeTalkRecords($seminars,$colloquium);
     //    $talks = self::mergeTalkRecords($seminars,$contributions);
     $talks = self::mergeTalkRecords($colloquium, self::mergeTalkRecords($seminars, $contributions));
     if (isset($talks) && count($talks)) {
         foreach ($talks as $day => $dayevents) {
             if (count($dayevents)) {
                 foreach ($dayevents as $categoryId => $dayevent) {
                     // $dayevent["id"|"end"|"title"]
                     /*
                               if (isset($dayevent["eventtype"])
                                   && in_array(strtolower($dayevent["eventtype"]),
                                      array("nordita program","program","conference","workshop","meeting","school"))
                                  ) {
                     
                                 // -- Nordita event(s)
                     //doesn't seem to work...
                                 $talks_selection[0][] = array(
                                   "title"      => trim($dayevent["title"]),
                                   "eventtype"  => $dayevent["eventtype"],
                                   "startdate"  => $dayevent["startdate"],
                                   "enddate"    => $dayevent["enddate"],
                                   "subpath"    => $dayevent["subpath"],
                                   "id"         => $dayevent["id"],
                                   "categoryid" => $dayevent["categoryid"]
                                 );
                                 unset($talks[$day][$categoryId]);
                     
                               } else {
                     */
                     // -- Seminars
                     unset($sel);
                     if (isset($dayevent["title"])) {
                         $dayevent["title"] = trim($dayevent["title"]);
                     }
                     $sel["heading"] = "";
                     if (isset($dayevent["eventtitle"])) {
                         $sel["heading"] = "Event Talk" . (!empty($dayevent["eventtitle"]) ? " (" . $dayevent["eventtitle"] . ")" : "");
                     }
                     if (isset($dayevent["categoryid"])) {
                         include PATH_DATA . "/agenda_fids.php";
                         // -> $fids[]
                         if (isset($fids)) {
                             if (in_array($dayevent["categoryid"], array_keys($fids["colloquium"]))) {
                                 // -- AN COLLOQUIUM
                                 $sel["heading"] = "The AlbaNova Colloquium";
                             } else {
                                 // -- SEMINARS
                                 foreach ($fids as $group => $farray) {
                                     foreach ($farray as $categoryid => $label) {
                                         if ($categoryid == $dayevent["categoryid"] && (preg_match("/^Seminar\\S*\\s*(.*)\$/i", $label, $res) || preg_match("/^Group meeting\\S*\\s*(.*)\$/i", $label, $res)) && !empty($res[1])) {
                                             $sel["heading"] = $res[1];
                                         }
                                     }
                                 }
                             }
                         }
                     }
                     $sel["eventtype"] = isset($dayevent["eventtype"]) ? ucfirst($dayevent["eventtype"]) : "";
                     $sel["period"] = ucfirst($dayevent["period"]);
                     $sel["period"] = $dayevent["starttime"] . (!empty($dayevent["endtime"]) ? "&#8212;" . $dayevent["endtime"] : "");
                     $sel["room"] = isset($dayevent["room"]) ? ucfirst($dayevent["room"]) : "";
                     $sel["title"] = "&quot;" . $dayevent["title"] . "&quot;";
                     $sel["title"] = str_replace("<span class='agenda-programtalk'><span>Event Talk</span></span> ", "", $sel["title"]);
                     //if (isset($dayevent["url"]) && (strpos($dayevent["url"],"contribId")!==false)) $programtalk = "[Program Talk] ";
                     $seltmp = array();
                     if (isset($dayevent["speakers"])) {
                         foreach ($dayevent["speakers"] as $speaker) {
                             $tmp = (!empty($speaker["nw_fullname"]) ? $speaker["nw_fullname"] . " " : "") . (!empty($speaker["av_institute"]) ? "(" . $speaker["av_institute"] . ")" : "");
                             $seltmp[] = trim($tmp);
                         }
                     }
                     $sel["thespeaker"] = implode(", ", $seltmp);
                     $sel["url"] = empty($dayevent["id"]) ? "" : AGENDA_URI . "/" . (isset($dayevent["parent_id"]) ? "contributionDisplay.py?contribId=" . $dayevent["id"] . "&amp;confId=" . $dayevent["parent_id"] : "conferenceDisplay.py?confId=" . $dayevent["id"]);
                     $sel["ical"] = empty($dayevent["id"]) && !isset($dayevent["parent_id"]) ? "" : AGENDA_URI . "/conferenceDisplay.py/ical?confId=" . $dayevent["id"];
                     $talks_selection[$day][$dayevent["starttime"] . ":" . str_pad(rand(0, 999), 3, "0", STR_PAD_LEFT)] = $sel;
                     /*
                               }  // end if
                     */
                 }
                 // end foreach
             }
         }
         // end foreach
     }
     // end if
     ksort($talks_selection);
     foreach (array_keys($talks_selection) as $key) {
         ksort($talks_selection[$key]);
     }
     // ----------------------
     // -- Output data
     // ----------------------
     $stdout .= "            <p class='only_online'>" . "[" . ($GLOBALS["w"] == 0 ? "<a href='" . $_SERVER["PHP_SELF"] . "?w=1' class='bold' rel='nofollow'>This Week</a>" : "This Week") . "]" . "&nbsp;&nbsp;" . "[" . ($GLOBALS["w"] == 1 ? "<a href='" . $_SERVER["PHP_SELF"] . "?w=0' class='bold' rel='nofollow'>Next Week</a>" : "Next Week") . "]" . "</p>\r\n" . "\r\n" . "<pre class='box letter'>\r\n" . "Dear Norditans,\r\n" . "\r\n" . "-------------\r\n\r\n";
     if (count($visits)) {
         $visitortext = "";
         foreach ($visits as $type) {
             if (isset($type["Visitors"])) {
                 foreach ($type["Visitors"] as $v) {
                     $visitortext .= "*" . $v["name"] . "*\r\n" . "  " . $v["affiliation"] . "\r\n" . "  " . $v["dates"] . "\r\n" . "\r\n";
                 }
             }
         }
         $stdout .= ($GLOBALS["w"] == 0 ? "Next" : "This") . " week, Nordita welcomes these guests:\r\n" . "\r\n" . $visitortext . "-------------\r\n\r\n";
     }
     /* "*MONDAY, __________ 2011*
     
        12:30-  Nordita West Seminar Room (122:026)
        ASTRO-PH LUNCH MEETING
        http://wiki.nordita.org/index.php/Astro-ph_Meeting
     
     " . */
     if (empty($talks_selection) && empty($events)) {
         $stdout .= "Nothing of theoretical interest will happen " . ($GLOBALS["w"] == 0 ? "next" : "this") . " week!\r\n" . "-------------\r\n\r\n";
     } else {
         if (!empty($events)) {
             $stdout .= "Major Nordita Events " . ($GLOBALS["w"] == 0 ? "next" : "this") . " week:\r\n\r\n";
             foreach ($events as $key => $ev) {
                 $stdout .= "  During the week, the " . str_replace("nordita", "Nordita", $ev["eventtype"]) . "\r\n" . "  &quot;" . strtoupper($ev["title"]) . "&quot;\r\n" . "  " . ($sunday < $ev["start"] ? "starts on " . functions::readableDateInterval($ev["start"], $ev["start"]) : "continues") . ", and will continue until " . functions::readableDateInterval($ev["end"], $ev["end"]) . ".\r\n";
                 if (!empty($ev["subpath"])) {
                     $stdout .= "  " . URL_PREFIX . "/" . $ev["subpath"] . "\r\n";
                 } elseif (!empty($ev["id"])) {
                     $stdout .= "  http://agenda.albanova.se/conferenceDisplay.py?confId=" . $ev["id"] . "\r\n";
                 }
                 $stdout .= "\r\n";
             }
             $stdout .= "-------------\r\n\r\n";
         }
         if (!empty($talks_selection)) {
             $stdout .= "Here are some of the seminars at Nordita and AlbaNova " . ($GLOBALS["w"] == 0 ? "next" : "this") . " week:\r\n\r\n";
             foreach ($talks_selection as $day => $record) {
                 $stdout .= "*" . strtoupper(date("l, j F Y", strtotime($day))) . "*\r\n\r\n";
                 foreach ($record as $start => $dayevent) {
                     if (count($dayevent)) {
                         if (in_array(strtolower($dayevent["eventtype"]), array("nordita program", "program", "conference", "workshop", "meeting", "school"))) {
                             $stdout .= "    " . ucfirst($dayevent["eventtype"]) . "\r\n" . "    " . $dayevent["period"] . "\r\n" . "\r\n";
                         } else {
                             $stdout .= "   " . (!empty($dayevent["period"]) ? $dayevent["period"] : "") . (!empty($dayevent["room"]) ? "  " . $dayevent["room"] : "") . "\r\n" . (!empty($dayevent["heading"]) ? "     " . strtoupper($dayevent["heading"]) . "\r\n" : "") . (!empty($dayevent["thespeaker"]) ? "     " . $dayevent["thespeaker"] . "\r\n" : "") . (!empty($dayevent["title"]) ? "     " . $dayevent["title"] . "\r\n" : "") . (!empty($dayevent["url"]) ? "     Info: " . $dayevent["url"] . "\r\n" : "") . (!empty($dayevent["ical"]) ? "     Add to calendar: " . $dayevent["ical"] . "\r\n" : "") . "\r\n";
                         }
                     }
                 }
                 // end if
             }
             // end foreach
             $stdout .= "-------------\r\n\r\n";
         }
     }
     // end if (empty($talks_selection))
     // ---------------------- move to suitable class!
     $dbWiki = new fromdb_nwwiki();
     $dbWiki->get_text("Cake");
     $txt = $dbWiki->wikipage_text["text"];
     preg_match_all("~<td>([^<]*)</td>[^<].*<td>([^<]*)</td>~mU", $txt, $res);
     foreach ($res[1] as $ix => $v) {
         $cake[strtotime($v)] = $res[2][$ix];
     }
     $delta = $GLOBALS["w"] == 0 ? 8 : 1;
     $monday = date("Y-m-d", time() - 3600 + ($delta - date("w", time() - 3600)) * 86400);
     $m = strtotime($monday);
     $nextm = $m + 604800;
     $stdout .= "*MONDAY CAKE, " . strtoupper(functions::readableDateInterval($monday, $monday)) . "*\r\n";
     //functions::readableDateInterval($monday,$monday) .
     if (isset($cake[$m]) && strlen($cake[$m]) > 5) {
         $stdout .= "    Cakemaster this week is " . $cake[$m] . ".\r\n";
     } else {
         $stdout .= "    No cakemaster appointed!\r\n";
     }
     if (isset($cake[$nextm]) && strlen($cake[$nextm]) > 5) {
         $stdout .= "    (Cakemaster on " . date("l, F jS", $nextm) . " the following week, will be " . $cake[$nextm] . ".)\r\n";
     }
     $stdout .= "    " . URL_PREFIX . "/cake\r\n";
     // ----------------------
     return str_replace("()", "", $stdout) . "</pre>";
 }
示例#5
0
 public static function WdebugMenu()
 {
     $thispage = urlencode(URL_PREFIX . "" . $_SERVER["PHP_SELF"]);
     //str_replace("www.nordita.org/","",$_SERVER["PHP_SELF"]));
     $stdout = "          <script type='text/javascript' " . "src='" . PATH_JS . "/js_viewport.js'></script>\r\n";
     $dbWiki = new fromdb_nwwiki();
     $stdout .= "  " . $dbWiki->cronWiki($dbWiki->wikiLastUsedPageId());
     $stdout .= "          <dl> \r\n";
     // -- code validation
     $stdout .= "            <dt>" . "<strong>DEBUG</strong> - <strong>Code validation</strong>:</dt>\r\n" . "            <dd>" . "<a href='http://validator.w3.org/check?" . "uri=" . $thispage . "&amp;verbose=1'" . TARGET_BLANK . ">W3C HTML Validator</a> " . EXTERNAL_LINK . "</dd>\r\n" . "            <dd>" . "<a href='http://jigsaw.w3.org/css-validator/validator?" . "uri=" . $thispage . "&amp;warning=1&amp;vextwarning=true&amp;profile=css21&amp;usermedium=all'" . TARGET_BLANK . ">W3C CSS Validator (2.1)</a> " . EXTERNAL_LINK . "            <dd>" . "<a href='http://jigsaw.w3.org/css-validator/validator?" . "uri=" . $thispage . "&amp;warning=1&amp;vextwarning=true&amp;profile=css3&amp;usermedium=all'" . TARGET_BLANK . ">W3C CSS Validator (3)</a> " . EXTERNAL_LINK . "</dd>\r\n";
     // -- performance testing
     $stdout .= "            <dt>" . "<strong>DEBUG</strong> - <strong>Performance testing</strong>:</dt>\r\n" . "            <dd>" . "<a href='http://www.webpagetest.org'" . TARGET_BLANK . ">WebPagetest</a>" . EXTERNAL_LINK . "</dd>\r\n" . "            <dd>" . "<a href='http://www.gidnetwork.com/tools/gzip-test.php" . "'" . TARGET_BLANK . ">GDI Network gzip compression test</a>" . EXTERNAL_LINK . "</dd>\r\n";
     // http://www.browserscope.org/?category=network&v=top
     // -- screen resolution
     $today = date("Ym");
     $lastyear = $today - 100;
     $stdout .= "            <dt><strong>DEBUG</strong> " . "- <a href='_admin/varia/screen_resolution/index.php'" . TARGET_BLANK . " rel='nofollow'>" . "<strong>Screen&nbsp;resolutions</strong></a>:</dt>\r\n" . "            <dd>" . "<a href='" . $_SERVER["PHP_SELF"] . "?res=" . (isset($_SESSION["nw_screenresolution"]) ? $_SESSION["nw_screenresolution"] ? 0 : 1 : 1) . "'" . TARGET_BLANK . " rel='nofollow'>" . "Toggle background</a></dd>\r\n" . "            <dd>" . "<a href='http://browsersize.googlelabs.com/'" . TARGET_BLANK . ">" . "Google browsersize stats</a>" . EXTERNAL_LINK . "</dd>\r\n" . "            <dd>" . "<a href='http://gs.statcounter.com/#resolution-ww-monthly-" . $lastyear . "-" . $today . "'" . TARGET_BLANK . ">" . "StatCounter browsersize stats</a>" . EXTERNAL_LINK . "</dd>\r\n";
     // -- wiki discovery
     $stdout .= "            <dt><strong>DEBUG</strong> " . "- <a href='_admin/wiki/discovery/index.php'" . TARGET_BLANK . " rel='nofollow'>" . "<strong>Wiki discovery</strong></a></dt>\r\n";
     // -- window sizes
     $stdout .= "            <dt><strong>DEBUG</strong> " . "- <strong>Window sizes</strong>:</dt>\r\n" . "            <dd><a href='#' onclick='reInnerWindowDimensions(); return false' " . "title='recalculate' rel='nofollow'>Window dim</a>: " . "<script type='text/javascript'>" . "void document.write(innerWindowDimensions());" . "</script>&nbsp;px</dd>\r\n" . "            <dd>Page height: <script type='text/javascript'>" . "void document.write(heightOfPage());" . "</script>&nbsp;px</dd>\r\n";
     $stdout .= "          </dl>\r\n";
     // -----------------------------------
     // viewport dimension
     /* http://www.xml.com/pub/a/2003/03/19/dive-into-xml.html
     
         Also on the JavaScript front, methods like document.write do not work; you will need to use document.createElementNS and friends instead. For example, if your XHTML-as-HTML document currently uses this script to insert a linked stylesheet:
     
         if (document.getElementById) {
           document.write("<link rel=\"stylesheet\"
              type=\"text/css\" href=\"/css/js.css\" media=\"screen\">")
         }
     
         Your XHTML-as-XML document would need to use something like this instead (thanks to Experts Exchange for this code):
     
         if (document.getElementById) {
           var l=document.createElementNS("http://www.w3.org/1999/xhtml","link");
           l.setAttribute("rel", "stylesheet");
           l.setAttribute("type", "text/css");
           l.setAttribute("href", "/css/js.css");
           l.setAttribute("media", "screen");
           document.getElementsByTagName("head")[0].appendChild(l);
         }
         */
     /*
       $stdout .=
         "            <p class='colophon-stycke'>" . $openbracket .
         "<script language='javascript'>document.write(howMuchScrolled());</script>" .
         $closebracket . "</p>\r\n";
     
     <pre id='writeroot'>
     <script language='javascript'>document.write(getAll());</script>
     </pre>
     
     <p>(<a href='#' onclick='reGet(); return false' rel='nofollow'>Uppdatera</a> listan)</p>
     */
     // -----------------------------------
     return $stdout;
 }
示例#6
0
 static function OutputWikiCategories()
 {
     $stdout = "";
     $dbWiki = new fromdb_nwwiki();
     $data = $dbWiki->get_categories();
     ksort($data);
     $flera = $ansvarig = array();
     foreach ($data as $namn => $sidor) {
         if (!in_array($namn, array("Obsolete", "Newsletter"))) {
             foreach ($sidor as $key => $sida) {
                 if (isset($sida["wikititle"])) {
                     $ansvarig[$namn][$sida["wikititle"]] = $sida;
                     $flera[$sida["wikititle"]][] = $namn;
                 }
             }
         }
     }
     // ----------------------
     $selectform = "        <div class='col-content-left2thirds only_online'>\r\n" . functions::OutputWikiPage('0', '2467') . "          <ul class='tightlist'><li><a href='http://wiki.nordita.org/index.php/Special:Uncategorizedpages'" . " target='a" . rand(10000, 99999) . "'" . ">List of active wiki pages which <strong>have no responsible assigned</strong></a> <br>[the list should be empty!]</li></ul>\r\n" . "        </div>\r\n" . "        <div class='col-content-right1third divider only_online'>\r\n" . "          <h4>Show pages belonging to these <span class='nowrap'>areas of responsibility:</span></h4>\r\n";
     foreach ($ansvarig as $namn => $sidor) {
         $selectform .= "        <form action='" . $_SERVER["PHP_SELF"] . "' method='post' class='only_online'>" . "          <p style='font-size:medium;display:list-item;list-style-type:disc;margin:0.5em 0 0 2em'>" . "<input class='fakelink bold' style='font-size:medium' " . "type='submit' name='ansvarslista_select' value='" . $namn . "'></p>" . "          <input type='hidden' name='ansvarslista' value='1'>" . "        </form>";
     }
     /*
         $selectform .=
           "        <form id='selectmenu' action='".$_SERVER["PHP_SELF"]."' method='post' class='only_online'>" .
           "          <div class='input shadow-whiteinset'><span>Visa:</span>";
         foreach ($ansvarig as $namn => $sidor) {
           $selectform .=
             "            <input type='radio' name='ansvarslista_select' value='".$namn."'>&nbsp;" . $namn;
         }
         $selectform .=
           "          </div>" .
           "          <div class=''>" .
           "            <input type='submit' value='Välj ansvarig'>" .
           "            <input type='hidden' name='ansvarslista' value='1'>" .
           "          </div>" .
           "        </form>";
     */
     $selectform .= "        </div>\r\n" . "        <div style='clear:both'><br></div>\r\n" . functions::gpc_declare_input("ansvarslista", false, true);
     functions::gpc_declare_input("ansvarslista_select", "", false, array_keys($ansvarig));
     if (isset($GLOBALS["ansvarslista"]) && isset($GLOBALS["ansvarslista_select"]) && isset($ansvarig[$GLOBALS["ansvarslista_select"]])) {
         ksort($ansvarig[$GLOBALS["ansvarslista_select"]]);
         foreach ($ansvarig[$GLOBALS["ansvarslista_select"]] as $key => $sida) {
             $content = $dbWiki->getWikiPage($sida["wikiid"]);
             $content = trim(preg_replace("/(\\[?\\[[^\\]]*\\]\\]?)/", "", strip_tags($content)));
             $ansvarig[$GLOBALS["ansvarslista_select"]][$key]["antal"] = strlen($content);
         }
         $stdout .= self::outputWikiCategoriesAux($GLOBALS["ansvarslista_select"], $ansvarig[$GLOBALS["ansvarslista_select"]], $flera);
     }
     // ----------------------
     return $selectform . $stdout . "\r\n";
 }