/** * 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; }
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(); }
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()); }