Esempio n. 1
0
 /**
  * delete wiki page and al related data	
  *
  * @access	public
  */
 function delete()
 {
     global $ilDB;
     // get other pages that link to this page
     $linking_pages = ilWikiPage::getLinksToPage($this->getWikiId(), $this->getId());
     // delete internal links information to this page
     include_once "./Services/Link/classes/class.ilInternalLink.php";
     ilInternalLink::_deleteAllLinksToTarget("wpg", $this->getId());
     include_once "./Modules/Wiki/classes/class.ilWikiStat.php";
     ilWikiStat::handleEvent(ilWikiStat::EVENT_PAGE_DELETED, $this);
     include_once "./Services/Notification/classes/class.ilNotification.php";
     ilWikiUtil::sendNotification("delete", ilNotification::TYPE_WIKI_PAGE, $this->getWikiRefId(), $this->getId());
     // remove all notifications
     include_once "./Services/Notification/classes/class.ilNotification.php";
     ilNotification::removeForObject(ilNotification::TYPE_WIKI_PAGE, $this->getId());
     // delete record of table il_wiki_data
     $query = "DELETE FROM il_wiki_page" . " WHERE id = " . $ilDB->quote($this->getId(), "integer");
     $ilDB->manipulate($query);
     // delete co page
     parent::delete();
     // make links of other pages to this page a missing link
     foreach ($linking_pages as $lp) {
         $ilDB->manipulateF("DELETE FROM il_wiki_missing_page " . " WHERE wiki_id = %s AND source_id = %s AND target_name = %s ", array("integer", "integer", "text"), array($this->getWikiId(), $lp["id"], $this->getTitle()));
         $ilDB->manipulateF("INSERT INTO il_wiki_missing_page " . "(wiki_id, source_id, target_name) VALUES " . "(%s,%s,%s)", array("integer", "integer", "text"), array($this->getWikiId(), $lp["id"], $this->getTitle()));
     }
     return true;
 }
Esempio n. 2
0
 protected function renderGraph($a_figure, array $a_data)
 {
     $scope = ceil(sizeof($a_data) / 31);
     include_once "Services/Chart/classes/class.ilChartGrid.php";
     $chart = ilChart::getInstanceByType(ilChart::TYPE_GRID, "wikistat");
     $chart->setSize("100%", 400);
     $chart->setColors(array("#C0E0FF"));
     $legend = new ilChartLegend();
     $chart->setLegend($legend);
     // lines vs. bars
     if (in_array($a_figure, array(ilWikiStat::KEY_FIGURE_WIKI_NUM_PAGES, ilWikiStat::KEY_FIGURE_WIKI_INTERNAL_LINKS, ilWikiStat::KEY_FIGURE_WIKI_INTERNAL_LINKS_AVG, ilWikiStat::KEY_FIGURE_WIKI_EXTERNAL_LINKS, ilWikiStat::KEY_FIGURE_WIKI_EXTERNAL_LINKS_AVG, ilWikiStat::KEY_FIGURE_WIKI_WORDS, ilWikiStat::KEY_FIGURE_WIKI_WORDS_AVG, ilWikiStat::KEY_FIGURE_WIKI_CHARS, ilWikiStat::KEY_FIGURE_WIKI_CHARS_AVG, ilWikiStat::KEY_FIGURE_WIKI_FOOTNOTES, ilWikiStat::KEY_FIGURE_WIKI_FOOTNOTES_AVG, ilWikiStat::KEY_FIGURE_WIKI_RATING_AVG, ilWikiStat::KEY_FIGURE_WIKI_PAGE_INTERNAL_LINKS, ilWikiStat::KEY_FIGURE_WIKI_PAGE_EXTERNAL_LINKS, ilWikiStat::KEY_FIGURE_WIKI_PAGE_WORDS, ilWikiStat::KEY_FIGURE_WIKI_PAGE_CHARS, ilWikiStat::KEY_FIGURE_WIKI_PAGE_FOOTNOTES))) {
         $series = $chart->getDataInstance(ilChartGrid::DATA_LINES);
         $series->setLineSteps(true);
         $series->setFill(true, "#E0F0FF");
     } else {
         $series = $chart->getDataInstance(ilChartGrid::DATA_BARS);
         $series->setBarOptions(round(10 / ($scope * 2)) / 10);
     }
     $series->setLabel(ilWikiStat::getFigureTitle($a_figure));
     $labels = array();
     $x = 0;
     foreach ($a_data as $date => $value) {
         $series->addPoint($x, $value);
         $day = (int) substr($date, 8, 2);
         // match scale to scope
         if ($scope == 1) {
             // daily
             $labels[$x] = substr($date, 8, 2);
         } elseif ($scope == 2) {
             // weekly
             if (!($x % 7)) {
                 $labels[$x] = substr($date, 8, 2) . "." . substr($date, 5, 2) . ".";
             }
         } else {
             // 1st/15th
             if ($day == 1 || $day == 15 || $x == sizeof($a_data) - 1) {
                 $labels[$x] = substr($date, 8, 2) . "." . substr($date, 5, 2) . ".";
             }
         }
         $x++;
     }
     $chart->addData($series);
     $chart->setTicks($labels, null, true);
     // int vs. float (averages)
     if (in_array($a_figure, array(ilWikiStat::KEY_FIGURE_WIKI_NUM_PAGES, ilWikiStat::KEY_FIGURE_WIKI_NEW_PAGES, ilWikiStat::KEY_FIGURE_WIKI_EDIT_PAGES, ilWikiStat::KEY_FIGURE_WIKI_DELETED_PAGES, ilWikiStat::KEY_FIGURE_WIKI_READ_PAGES, ilWikiStat::KEY_FIGURE_WIKI_USER_EDIT_PAGES, ilWikiStat::KEY_FIGURE_WIKI_NUM_RATING, ilWikiStat::KEY_FIGURE_WIKI_INTERNAL_LINKS, ilWikiStat::KEY_FIGURE_WIKI_EXTERNAL_LINKS, ilWikiStat::KEY_FIGURE_WIKI_WORDS, ilWikiStat::KEY_FIGURE_WIKI_CHARS, ilWikiStat::KEY_FIGURE_WIKI_FOOTNOTES, ilWikiStat::KEY_FIGURE_WIKI_PAGE_CHANGES, ilWikiStat::KEY_FIGURE_WIKI_PAGE_USER_EDIT, ilWikiStat::KEY_FIGURE_WIKI_PAGE_READ, ilWikiStat::KEY_FIGURE_WIKI_PAGE_INTERNAL_LINKS, ilWikiStat::KEY_FIGURE_WIKI_PAGE_EXTERNAL_LINKS, ilWikiStat::KEY_FIGURE_WIKI_PAGE_WORDS, ilWikiStat::KEY_FIGURE_WIKI_PAGE_CHARS, ilWikiStat::KEY_FIGURE_WIKI_PAGE_FOOTNOTES, ilWikiStat::KEY_FIGURE_WIKI_PAGE_RATINGS))) {
         $chart->setYAxisToInteger(true);
     }
     return $chart->getHTML();
 }
Esempio n. 3
0
 public function updateStatsRating($a_wiki_id, $a_wiki_type, $a_page_id, $a_page_type)
 {
     include_once "./Modules/Wiki/classes/class.ilWikiStat.php";
     ilWikiStat::handleEvent(ilWikiStat::EVENT_PAGE_RATING, $this->getPageObject());
 }