ILIAS  Release_4_2_x_branch Revision 61807
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilWikiPage Class Reference

Class ilWikiPage. More...

+ Inheritance diagram for ilWikiPage:
+ Collaboration diagram for ilWikiPage:

Public Member Functions

 __construct ($a_id=0, $a_old_nr=0)
 Constructor public.
 setTitle ($a_title)
 Set Title.
 getTitle ()
 Get Title.
 setWikiId ($a_wikiid)
 Set Wiki Object Id.
 getWikiId ()
 Get Wiki Object Id.
 setWikiRefId ($a_wiki_ref_id)
 Set Wiki Ref Id.
 getWikiRefId ()
 Get Wiki Ref Id.
 setBlocked ($a_val)
 Set blocked.
 getBlocked ()
 Get blocked.
 create ($a_prevent_page_creation=false)
 Create new wiki page.
 update ($a_validate=true, $a_no_history=false)
 update object data
 read ()
 Read wiki data.
 delete ()
 delete wiki page and al related data
 saveInternalLinks ($a_xml)
 save internal links of page
 rename ($a_new_name)
 Rename page.
 updateNews ($a_update=false)
 Create.
 getNewsContent ()
 Get content for a wiki news item.
- Public Member Functions inherited from ilPageObject
 ilPageObject ($a_parent_type, $a_id=0, $a_old_nr=0, $a_halt=true)
 Constructor public.
 haltOnError ($a_halt)
 setRenderMd5 ($a_rendermd5)
 Set Render MD5.
 getRenderMd5 ()
 Get Render MD5.
 setRenderedContent ($a_renderedcontent)
 Set Rendered Content.
 getRenderedContent ()
 Get Rendered Content.
 setRenderedTime ($a_renderedtime)
 Set Rendered Time.
 getRenderedTime ()
 Get Rendered Time.
 setLastChange ($a_lastchange)
 Set Last Change.
 getLastChange ()
 Get Last Change.
 setLayoutMode ($a_layout_mode)
 Set Layout Mode.
 getLayoutMode ()
 Get Layout Mode enabled/disabled.
 setLastChangeUser ($a_val)
 Set last change user.
 getLastChangeUser ()
 Get last change user.
 _existsAndNotEmpty ($a_parent_type, $a_id)
 checks whether page exists and is not empty (may return true on some empty pages)
 buildDom ($a_force=false)
 freeDom ()
getDom ()
 setId ($a_id)
 set id
 getId ()
 setParentId ($a_id)
 getParentId ()
 setParentType ($a_type)
 getParentType ()
 addUpdateListener (&$a_object, $a_method, $a_parameters="")
 callUpdateListeners ()
 setActive ($a_active)
 set activation
 getActive ($a_check_scheduled_activation=false)
 get activation
 _lookupActive ($a_id, $a_parent_type, $a_check_scheduled_activation=false)
 lookup activation status
 _writeActive ($a_id, $a_parent_type, $a_active, $a_reset_scheduled_activation=true)
 write activation status
 _writeParentId ($a_parent_type, $a_pg_id, $a_par_id)
 Write parent id.
 setActivationStart ($a_activationstart)
 Set Activation Start.
 getActivationStart ()
 Get Activation Start.
 setActivationEnd ($a_activationend)
 Set Activation End.
 getActivationEnd ()
 Get Activation End.
getContentObject ($a_hier_id, $a_pc_id="")
 Get a content object of the page.
getContentNode ($a_hier_id, $a_pc_id="")
 Get content node from dom.
 checkForTag ($a_content_tag, $a_hier_id, $a_pc_id="")
 Get content node from dom.
 lookforhier ($a_hier_id)
getNode ()
 setXMLContent ($a_xml, $a_encoding="UTF-8")
 set xml content of page, start with <PageObject...>, end with </PageObject>, comply with ILIAS DTD, omit MetaData, use utf-8!
 appendXMLContent ($a_xml)
 append xml content to page setXMLContent must be called before and the same encoding must be used
 getXMLContent ($a_incl_head=false)
 get xml content of page
 copyXmlContent ()
 Copy content of page; replace page components with copies where necessary (e.g.
 handleCopiedContent ($a_dom, $a_self_ass=true)
 Handle copied content.
 newIIMCopies ($temp_dom)
 Replaces media objects in interactive images with copies of the interactive images.
 newQuestionCopies (&$temp_dom)
 Replaces existing question content elements with new copies.
 removeQuestions (&$temp_dom)
 Remove questions from document.
 countPageContents ()
 Remove questions from document.
 getXMLFromDom ($a_incl_head=false, $a_append_mobs=false, $a_append_bib=false, $a_append_str="", $a_omit_pageobject_tag=false)
 get xml content of page from dom (use this, if any changes are made to the document)
 getLanguageVariablesXML ()
 get language variables as XML
 appendLangVarXML (&$xml, $var)
 getFirstParagraphText ()
 setParagraphContent ($a_hier_id, $a_content)
 Set content of paragraph.
 setContainsIntLink ($a_contains_link)
 lm parser set this flag to true, if the page contains intern links (this method should only be called by the import parser)
 containsIntLink ()
 returns true, if page was marked as containing an intern link (via setContainsIntLink) (this method should only be called by the import parser)
 needsImportParsing ($a_parse="")
 setContainsQuestion ($a_val)
 Set contains question.
 getContainsQuestion ()
 Get contains question.
 getBibliographyXML ()
 get a xml string that contains all Bibliography elements, that are referenced by any bibitem alias in the page
 collectMediaObjects ($a_inline_only=true)
 get all media objects, that are referenced and used within the page
 getInternalLinks ($a_cnt_multiple=false)
 get all internal links that are used within the page
 collectFileItems ($a_xml="")
 get all file items that are used within the page
 getMultimediaXML ()
 get a xml string that contains all media object elements, that are referenced by any media alias in the page
 getMediaAliasElement ($a_mob_id, $a_nr=1)
 get complete media object (alias) element
 validateDom ()
 Validate the page content agains page DTD.
 addHierIDs ()
 Add hierarchical ID (e.g.
 getHierIds ()
 get all hierarchical ids
 getFirstRowIds ()
 get ids of all first table rows
 getFirstColumnIds ()
 get ids of all first table columns
 getListItemIds ()
 get ids of all list items
 getFileItemIds ()
 get ids of all file items
 stripHierIDs ()
 strip all hierarchical id attributes out of the dom tree
 getHierIdsForPCIds ($a_pc_ids)
 Get hier ids for a set of pc ids.
 addFileSizes ()
 add file sizes
 resolveIntLinks ()
 Resolves all internal link targets of the page, if targets are available (after import)
 resolveMediaAliases ($a_mapping)
 Resolve media aliases (after import)
 resolveIIMMediaAliases ($a_mapping)
 Resolve iim media aliases (in ilContObjParse)
 resolveFileItems ($a_mapping)
 Resolve file items (after import)
 resolveQuestionReferences ($a_mapping)
 Resolve all quesion references (after import)
 moveIntLinks ($a_from_to)
 Move internal links from one destination to another.
 handleImportRepositoryLink ($a_rep_import_id, $a_rep_type, $a_rep_ref_id)
 createFromXML ()
 create new page object with current xml content
 updateFromXML ()
 updates page object with current xml content
 update ($a_validate=true, $a_no_history=false, $skip_handle_usages=false)
 update complete page content in db (dom xml content is used)
 saveMetaKeywords ($a_xml)
 save all keywords
 saveMobUsage ($a_xml, $a_old_nr=0)
 save all usages of media objects (media aliases, media objects, internal links)
 saveFileUsage ($a_xml="", $a_old_nr=0)
 save file usages
 saveContentIncludeUsage ($a_xml="", $a_old_nr=0)
 save content include usages
 collectContentIncludes ($a_xml="")
 get all content includes that are used within the page
 saveSkillUsage ($a_xml="", $a_old_nr=0)
 save content include usages
 collectSkills ($a_xml="")
 get all content includes that are used within the page
 saveStyleUsage ($a_xml, $a_old_nr=0)
 Save all style class/template usages.
 getLastUpdateOfIncludedElements ()
 Get last update of included elements (media objects and files).
 saveAnchors ($a_xml)
 save anchors
 create ()
 create new page (with current xml data)
 deleteContent ($a_hid, $a_update=true, $a_pcid="")
 delete content object with hierarchical id $a_hid
 deleteContents ($a_hids, $a_update=true, $a_self_ass=false)
 Delete multiple content objects.
 cutContents ($a_hids)
 Copy contents to clipboard and cut them from the page.
 copyContents ($a_hids)
 Copy contents to clipboard.
 pasteContents ($a_hier_id, $a_self_ass=false)
 Paste contents from pc clipboard.
 switchEnableMultiple ($a_hids, $a_update=true, $a_self_ass=false)
 (De-)activate elements
 deleteContentFromHierId ($a_hid, $a_update=true)
 delete content object with hierarchical id >= $a_hid
 deleteContentBeforeHierId ($a_hid, $a_update=true)
 delete content object with hierarchical id < $a_hid
 _moveContentAfterHierId (&$a_source_page, &$a_target_page, $a_hid)
 move content of hierarchical id >= $a_hid to other page
 insertContent (&$a_cont_obj, $a_pos, $a_mode=IL_INSERT_AFTER, $a_pcid="")
 insert a content node before/after a sibling or as first child of a parent
 insertContentNode (&$a_cont_node, $a_pos, $a_mode=IL_INSERT_AFTER, $a_pcid="")
 insert a content node before/after a sibling or as first child of a parent
 moveContentBefore ($a_source, $a_target, $a_spcid="", $a_tpcid="")
 move content object from position $a_source before position $a_target (both hierarchical content ids)
 moveContentAfter ($a_source, $a_target, $a_spcid="", $a_tpcid="")
 move content object from position $a_source before position $a_target (both hierarchical content ids)
 bbCode2XML (&$a_content)
 transforms bbCode to corresponding xml
 insertInstIntoIDs ($a_inst, $a_res_ref_to_obj_id=true)
 inserts installation id into ids (e.g.
 highlightText ($a_text, $proglang, $autoindent)
 Highligths Text with given ProgLang.
 hasHighlighter ($hfile_ext)
 insertSourceCodeParagraphs ($a_output, $outputmode="presentation")
 depending on the SubCharacteristic and ShowLineNumbers attribute the line numbers and html tags for the syntax highlighting will be inserted using the dom xml functions
 checkPCIds ()
 Check, whether (all) page content hashes are set.
 getAllPCIds ()
 Get all pc ids.
 existsPCId ($a_pc_id)
 existsPCId
 generatePcId ($a_pc_ids=false)
 Generate new pc id.
 insertPCIds ()
 Insert Page Content IDs.
 getPageContentsHashes ()
 Get page contents hashes.
 getQuestionIds ()
 Get question ids.
 send_paragraph ($par_id, $filename)
 getFO ()
 get fo page content
 registerOfflineHandler ($handler)
 _lookupContainsDeactivatedElements ($a_id, $a_parent_type)
 lookup whether page contains deactivated elements
 containsDeactivatedElements ($a_content)
 Check whether content contains deactivated elements.
 getHistoryEntries ()
 Get History Entries.
 getHistoryEntry ($a_old_nr)
 Get History Entry.
 getHistoryInfo ($a_nr)
 Get information about a history entry, its predecessor and its successor.
 addChangeDivClasses ($a_hashes)
 compareVersion ($a_left, $a_right)
 Compares to revisions of the page.
 increaseViewCnt ()
 increase view cnt
 writeRenderedContent ($a_content, $a_md5)
 Write rendered content.
 containsIntLinks ($a_content)
 Check whether content contains internal links.
 performAutomaticModifications ()
 Perform automatic modifications (may be overwritten by sub classes)

Static Public Member Functions

static deleteAllPagesOfWiki ($a_wiki_id)
 delete wiki page and al related data
static exists ($a_wiki_id, $a_title)
 Checks whether a page with given title exists.
static getIdForPageTitle ($a_wiki_id, $a_title)
 Checks whether a page with given title exists.
static getPageIdForTitle ($a_wiki_id, $a_title)
 Get wiki page object for id and title.
static lookupTitle ($a_page_id)
 Checks whether a page with given title exists.
static lookupWikiId ($a_page_id)
 Lookup wiki id.
static getAllPages ($a_wiki_id)
 Get all pages of wiki.
static getLinksToPage ($a_wiki_id, $a_page_id)
 Get links to a page.
static getOrphanedPages ($a_wiki_id)
 Get orphaned pages of wiki.
static _wikiPageExists ($a_wiki_id, $a_title)
 Check whether page exists for wiki or not.
static getParentObjectContributors ($a_wiki_id)
 Get all contributors of wiki.
static getPageContributors ($a_page_id)
 Get all contributors of wiki.
static _getPageIdForWikiTitle ($a_wiki_id, $a_title)
 Checks whether a page with given title exists.
static getPopularPages ($a_wiki_id)
 Get popular pages of wiki.
static countPages ($a_wiki_id)
 Count pages of wiki.
static getRandomPage ($a_wiki_id)
 Get a random page.
static getNewPages ($a_wiki_id)
 Get all pages of wiki.
static lookupObjIdByPage ($a_page_id)
 returns the wiki/object id to a given page id
- Static Public Member Functions inherited from ilPageObject
static _exists ($a_parent_type, $a_id)
 checks whether page exists
static _isScheduledActivation ($a_id, $a_parent_type)
 Check whether page is activated by time schedule.
static lookupParentId ($a_id, $a_type)
 Lookup parent id.
static _handleImportRepositoryLinks ($a_rep_import_id, $a_rep_type, $a_rep_ref_id)
 Change targest of repository links.
static _getQuestionIdsForPage ($a_parent_type, $a_page_id)
 Get all questions of a page.
static _deleteAnchors ($a_parent_type, $a_page_id)
 Delete anchors of a page.
static _saveAnchor ($a_parent_type, $a_page_id, $a_anchor_name)
 Save an anchor.
static _readAnchors ($a_parent_type, $a_page_id)
 Read anchors of a page.
static getRecentChanges ($a_parent_type, $a_parent_id, $a_period=30)
 Get recent pages changes for parent object.
static getAllPages ($a_parent_type, $a_parent_id)
 Get all pages for parent object.
static getNewPages ($a_parent_type, $a_parent_id)
 Get new pages.
static getParentObjectContributors ($a_parent_type, $a_parent_id)
 Get all contributors for parent object.
static getPageContributors ($a_parent_type, $a_page_id)
 Get all contributors for parent object.
static getPagesWithLinks ($a_parent_type, $a_parent_id)
 Get all pages for parent object that contain internal links.

Protected Attributes

 $blocked = false

Additional Inherited Members

- Data Fields inherited from ilPageObject
 $id
 $ilias
 $dom
 $xml
 $encoding
 $node
 $cur_dtd = "ilias_pg_4_2.dtd"
 $contains_int_link
 $needs_parsing
 $parent_type
 $parent_id
 $update_listeners
 $update_listener_cnt
 $offline_handler
 $dom_builded
 $history_saved
 $layout_mode
- Static Public Attributes inherited from ilPageObject
static $exists = array()

Detailed Description

Class ilWikiPage.

Author
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e
Version
$Id$

Definition at line 14 of file class.ilWikiPage.php.

Constructor & Destructor Documentation

ilWikiPage::__construct (   $a_id = 0,
  $a_old_nr = 0 
)

Constructor public.

Parameters
wikipage id

Definition at line 23 of file class.ilWikiPage.php.

{
parent::__construct("wpg", $a_id, $a_old_nr);
}

Member Function Documentation

static ilWikiPage::_getPageIdForWikiTitle (   $a_wiki_id,
  $a_title 
)
static

Checks whether a page with given title exists.

Definition at line 599 of file class.ilWikiPage.php.

References $ilDB, and $query.

Referenced by saveInternalLinks().

{
global $ilDB;
$query = "SELECT id FROM il_wiki_page".
" WHERE wiki_id = ".$ilDB->quote($a_wiki_id, "integer").
" AND title = ".$ilDB->quote($a_title, "text");
$set = $ilDB->query($query);
if($rec = $ilDB->fetchAssoc($set))
{
return $rec["id"];
}
return false;
}

+ Here is the caller graph for this function:

static ilWikiPage::_wikiPageExists (   $a_wiki_id,
  $a_title 
)
static

Check whether page exists for wiki or not.

public

Definition at line 475 of file class.ilWikiPage.php.

References $ilDB, $query, and ilWikiUtil\makeDbTitle().

Referenced by ilObjWikiGUI\gotoPageObject(), ilWikiUtil\makeLink(), and ilWikiUtil\processInternalLinks().

{
global $ilDB;
$a_title = ilWikiUtil::makeDbTitle($a_title);
$query = "SELECT id FROM il_wiki_page".
" WHERE wiki_id = ".$ilDB->quote($a_wiki_id, "integer").
" AND title = ".$ilDB->quote($a_title, "text");
$set = $ilDB->query($query);
$pages = array();
if ($rec = $ilDB->fetchAssoc($set))
{
return true;
}
return false;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static ilWikiPage::countPages (   $a_wiki_id)
static

Count pages of wiki.

Parameters
int$a_wiki_idWiki ID

Definition at line 645 of file class.ilWikiPage.php.

References $ilDB, and $query.

Referenced by getRandomPage().

{
global $ilDB;
// delete record of table il_wiki_data
$query = "SELECT count(*) as cnt FROM il_wiki_page".
" WHERE wiki_id = ".$ilDB->quote($a_wiki_id, "integer");
$s = $ilDB->query($query);
$r = $ilDB->fetchAssoc($s);
return $r["cnt"];
}

+ Here is the caller graph for this function:

ilWikiPage::create (   $a_prevent_page_creation = false)

Create new wiki page.

Definition at line 111 of file class.ilWikiPage.php.

References ilPageObject\$id, $ilDB, $query, ilPageObject\create(), getBlocked(), ilPageObject\getId(), getTitle(), getWikiId(), getWikiRefId(), ilPageObject\getXMLContent(), saveInternalLinks(), ilWikiUtil\sendNotification(), ilPageObject\setId(), ilNotification\TYPE_WIKI, and updateNews().

{
global $ilDB;
$id = $ilDB->nextId("il_wiki_page");
$this->setId($id);
$query = "INSERT INTO il_wiki_page (".
"id".
", title".
", wiki_id".
", blocked".
" ) VALUES (".
$ilDB->quote($this->getId(), "integer")
.",".$ilDB->quote($this->getTitle(), "text")
.",".$ilDB->quote($this->getWikiId(), "integer")
.",".$ilDB->quote($this->getBlocked(), "integer")
.")";
$ilDB->manipulate($query);
// create page object
if (!$a_prevent_page_creation)
{
$this->saveInternalLinks($this->getXMLContent());
include_once "./Services/Notification/classes/class.ilNotification.php";
}
$this->updateNews();
}

+ Here is the call graph for this function:

ilWikiPage::delete ( )

delete wiki page and al related data

public

Reimplemented from ilPageObject.

Definition at line 196 of file class.ilWikiPage.php.

References $ilDB, $query, ilInternalLink\_deleteAllLinksToTarget(), ilPageObject\getId(), getLinksToPage(), getTitle(), getWikiId(), getWikiRefId(), ilNotification\removeForObject(), ilWikiUtil\sendNotification(), and ilNotification\TYPE_WIKI_PAGE.

{
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/COPage/classes/class.ilInternalLink.php");
include_once "./Services/Notification/classes/class.ilNotification.php";
// remove all notifications
include_once "./Services/Notification/classes/class.ilNotification.php";
// 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
// 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;
}

+ Here is the call graph for this function:

static ilWikiPage::deleteAllPagesOfWiki (   $a_wiki_id)
static

delete wiki page and al related data

public

Definition at line 245 of file class.ilWikiPage.php.

References $ilDB, and $query.

Referenced by ilObjWiki\delete().

{
global $ilDB;
// delete record of table il_wiki_data
$query = "SELECT * FROM il_wiki_page".
" WHERE wiki_id = ".$ilDB->quote($a_wiki_id, "integer");
$set = $ilDB->query($query);
while($rec = $ilDB->fetchAssoc($set))
{
$wiki_page = new ilWikiPage($rec["id"]);
$wiki_page->delete();
}
}

+ Here is the caller graph for this function:

static ilWikiPage::exists (   $a_wiki_id,
  $a_title 
)
static

Checks whether a page with given title exists.

Definition at line 266 of file class.ilWikiPage.php.

References $ilDB, $query, and ilWikiUtil\makeDbTitle().

Referenced by ilWikiHandlerGUI\executeCommand(), rename(), ilWikiPageGUI\renamePage(), ilObjWiki\update(), and ilObjWikiGUI\viewPageObject().

{
global $ilDB;
$a_title = ilWikiUtil::makeDbTitle($a_title);
$query = "SELECT id FROM il_wiki_page".
" WHERE wiki_id = ".$ilDB->quote($a_wiki_id, "integer").
" AND title = ".$ilDB->quote($a_title, "text");
$set = $ilDB->query($query);
if($rec = $ilDB->fetchAssoc($set))
{
return true;
}
return false;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static ilWikiPage::getAllPages (   $a_wiki_id)
static

Get all pages of wiki.

public

Definition at line 367 of file class.ilWikiPage.php.

References $ilDB, and $query.

Referenced by ilObjWikiGUI\editImportantPagesObject(), ilWikiHTMLExport\exportHTMLPages(), getOrphanedPages(), ilWikiPagesTableGUI\getPages(), ilWikiExporter\getXmlExportTailDependencies(), ilWikiPageGUI\initPrintViewSelectionForm(), and ilObjWikiGUI\printViewObject().

{
global $ilDB;
$pages = parent::getAllPages("wpg", $a_wiki_id);
$query = "SELECT * FROM il_wiki_page".
" WHERE wiki_id = ".$ilDB->quote($a_wiki_id, "integer").
" ORDER BY title";
$set = $ilDB->query($query);
$pg = array();
while($rec = $ilDB->fetchAssoc($set))
{
if (isset($pages[$rec["id"]]))
{
$pg[$rec["id"]] = $pages[$rec["id"]];
$pg[$rec["id"]]["title"] = $rec["title"];
}
}
return $pg;
}

+ Here is the caller graph for this function:

ilWikiPage::getBlocked ( )

Get blocked.

Returns
boolean blocked

Definition at line 103 of file class.ilWikiPage.php.

References $blocked.

Referenced by create(), and update().

{
}

+ Here is the caller graph for this function:

static ilWikiPage::getIdForPageTitle (   $a_wiki_id,
  $a_title 
)
static

Checks whether a page with given title exists.

Definition at line 287 of file class.ilWikiPage.php.

References $ilDB, $query, and ilWikiUtil\makeDbTitle().

Referenced by ilWikiUtil\makeLink().

{
global $ilDB;
$a_title = ilWikiUtil::makeDbTitle($a_title);
$query = "SELECT id FROM il_wiki_page".
" WHERE wiki_id = ".$ilDB->quote($a_wiki_id, "integer").
" AND title = ".$ilDB->quote($a_title, "text");
$set = $ilDB->query($query);
if($rec = $ilDB->fetchAssoc($set))
{
return $rec["id"];
}
return false;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static ilWikiPage::getLinksToPage (   $a_wiki_id,
  $a_page_id 
)
static

Get links to a page.

Definition at line 394 of file class.ilWikiPage.php.

References $ilDB, $query, and ilInternalLink\_getSourcesOfTarget().

Referenced by delete(), ilWikiPageGUI\deleteWikiPageConfirmationScreen(), and ilWikiPagesTableGUI\getPages().

{
global $ilDB;
include_once("./Services/COPage/classes/class.ilInternalLink.php");
$sources = ilInternalLink::_getSourcesOfTarget("wpg", $a_page_id, 0);
$ids = array();
foreach ($sources as $source)
{
if ($source["type"] == "wpg:pg")
{
$ids[] = $source["id"];
}
}
// get wiki page record
$query = "SELECT * FROM il_wiki_page wp, page_object p".
" WHERE ".$ilDB->in("wp.id", $ids, false, "integer").
" AND wp.id = p.page_id AND p.parent_type = ".$ilDB->quote("wpg", "text").
" AND wp.wiki_id = ".$ilDB->quote($a_wiki_id, "integer").
" ORDER BY title";
$set = $ilDB->query($query);
$pages = array();
while ($rec = $ilDB->fetchAssoc($set))
{
$pages[] = array_merge($rec, array("user" => $rec["last_change_user"],
"date" => $rec["last_change"]));
}
return $pages;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static ilWikiPage::getNewPages (   $a_wiki_id)
static

Get all pages of wiki.

public

Definition at line 691 of file class.ilWikiPage.php.

References $ilDB, and lookupTitle().

Referenced by ilWikiPagesTableGUI\getPages().

{
global $ilDB;
$pages = parent::getNewPages("wpg", $a_wiki_id);
foreach($pages as $k => $page)
{
$pages[$k]["title"] = ilWikiPage::lookupTitle($page["id"]);
}
return $pages;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilWikiPage::getNewsContent ( )

Get content for a wiki news item.

Definition at line 850 of file class.ilWikiPage.php.

{
return "12.1.1: Test User, Max";
}
static ilWikiPage::getOrphanedPages (   $a_wiki_id)
static

Get orphaned pages of wiki.

public

Definition at line 432 of file class.ilWikiPage.php.

References $ilDB, $query, ilInternalLink\_getSourcesOfTarget(), ilObjWiki\_lookupStartPage(), and getAllPages().

Referenced by ilWikiPagesTableGUI\getPages().

{
global $ilDB;
$pages = ilWikiPage::getAllPages($a_wiki_id);
include_once("./Services/COPage/classes/class.ilInternalLink.php");
$orphaned = array();
foreach ($pages as $k => $page)
{
$sources = ilInternalLink::_getSourcesOfTarget("wpg", $page["id"], 0);
$ids = array();
foreach ($sources as $source)
{
if ($source["type"] == "wpg:pg")
{
$ids[] = $source["id"];
}
}
// delete record of table il_wiki_data
$query = "SELECT count(*) AS cnt FROM il_wiki_page".
" WHERE ".$ilDB->in("id", $ids, false, "integer").
" AND wiki_id = ".$ilDB->quote($a_wiki_id, "integer").
" ORDER BY title";
$set = $ilDB->query($query);
$rec = $ilDB->fetchAssoc($set);
if ($rec["cnt"] == 0 &&
ilObjWiki::_lookupStartPage($a_wiki_id) != $page["title"])
{
$orphaned[] = $page;
}
}
return $orphaned;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static ilWikiPage::getPageContributors (   $a_page_id)
static

Get all contributors of wiki.

public

Definition at line 514 of file class.ilWikiPage.php.

References $ilDB.

Referenced by ilWikiPageGUI\deleteWikiPageConfirmationScreen().

{
global $ilDB;
$contributors = parent::getPageContributors("wpg", $a_page_id);
return $contributors;
}

+ Here is the caller graph for this function:

static ilWikiPage::getPageIdForTitle (   $a_wiki_id,
  $a_title 
)
static

Get wiki page object for id and title.

Definition at line 308 of file class.ilWikiPage.php.

References $ilDB, $query, and ilWikiUtil\makeDbTitle().

Referenced by ilObjWikiGUI\addPagesSubTabs(), ilObjWikiGUI\addPageTabs(), ilWikiHandlerGUI\executeCommand(), ilWikiPageGUI\getGUIForTitle(), and ilWikiPageGUI\getTabs().

{
global $ilDB;
$a_title = ilWikiUtil::makeDbTitle($a_title);
$query = "SELECT * FROM il_wiki_page".
" WHERE wiki_id = ".$ilDB->quote($a_wiki_id, "integer").
" AND title = ".$ilDB->quote($a_title, "text");
$set = $ilDB->query($query);
if($rec = $ilDB->fetchAssoc($set))
{
return $rec["id"];
}
return false;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static ilWikiPage::getParentObjectContributors (   $a_wiki_id)
static

Get all contributors of wiki.

public

Definition at line 500 of file class.ilWikiPage.php.

References $ilDB.

Referenced by ilWikiContributorsTableGUI\getContributors().

{
global $ilDB;
$contributors = parent::getParentObjectContributors("wpg", $a_wiki_id);
return $contributors;
}

+ Here is the caller graph for this function:

static ilWikiPage::getPopularPages (   $a_wiki_id)
static

Get popular pages of wiki.

public

Definition at line 620 of file class.ilWikiPage.php.

References $ilDB, and $query.

Referenced by ilWikiPagesTableGUI\getPages().

{
global $ilDB;
$query = "SELECT wp.*, po.view_cnt as cnt FROM il_wiki_page wp, page_object po".
" WHERE wp.wiki_id = ".$ilDB->quote($a_wiki_id, "integer").
" AND wp.id = po.page_id ".
" AND po.parent_type = ".$ilDB->quote("wpg", "text")." ".
" ORDER BY po.view_cnt";
$set = $ilDB->query($query);
$pages = array();
while($rec = $ilDB->fetchAssoc($set))
{
$pages[] = $rec;
}
return $pages;
}

+ Here is the caller graph for this function:

static ilWikiPage::getRandomPage (   $a_wiki_id)
static

Get a random page.

Parameters
int$a_wiki_idWiki ID

Definition at line 663 of file class.ilWikiPage.php.

References $ilDB, $query, and countPages().

Referenced by ilObjWikiGUI\randomPageObject().

{
global $ilDB;
$cnt = ilWikiPage::countPages($a_wiki_id);
if ($cnt < 1)
{
return "";
}
$rand = rand(1, $cnt);
// delete record of table il_wiki_data
$ilDB->setLimit(1, $rand);
$query = "SELECT title FROM il_wiki_page".
" WHERE wiki_id = ".$ilDB->quote($a_wiki_id, "integer");
$s = $ilDB->query($query);
$r = $ilDB->fetchAssoc($s);
return $r["title"];
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilWikiPage::getTitle ( )

Get Title.

Returns
string Title

Definition at line 43 of file class.ilWikiPage.php.

References $title.

Referenced by create(), delete(), rename(), saveInternalLinks(), update(), and updateNews().

{
return $this->title;
}

+ Here is the caller graph for this function:

ilWikiPage::getWikiId ( )

Get Wiki Object Id.

Returns
int Wiki Object Id

Definition at line 63 of file class.ilWikiPage.php.

References ilPageObject\getParentId().

Referenced by create(), delete(), rename(), saveInternalLinks(), update(), and updateNews().

{
return $this->getParentId();
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilWikiPage::getWikiRefId ( )

Get Wiki Ref Id.

Returns
int Wiki Ref Id

Definition at line 83 of file class.ilWikiPage.php.

Referenced by create(), delete(), and update().

{
return $this->parent_ref_id;
}

+ Here is the caller graph for this function:

static ilWikiPage::lookupObjIdByPage (   $a_page_id)
static

returns the wiki/object id to a given page id

Parameters
$a_page_id
Returns
int the object id

Definition at line 712 of file class.ilWikiPage.php.

References $ilDB, and $query.

Referenced by ilObjMediaObject\getParentObjectIdForUsage().

{
global $ilDB;
$query = "SELECT wiki_id FROM il_wiki_page".
" WHERE id = ".$ilDB->quote($a_page_id, "integer");
$set = $ilDB->query($query);
if($rec = $ilDB->fetchAssoc($set))
{
return $rec["wiki_id"];
}
return false;
}

+ Here is the caller graph for this function:

static ilWikiPage::lookupWikiId (   $a_page_id)
static

Lookup wiki id.

Definition at line 347 of file class.ilWikiPage.php.

References $ilDB, and $query.

Referenced by ilWikiImporter\finalProcessing().

{
global $ilDB;
$query = "SELECT wiki_id FROM il_wiki_page".
" WHERE id = ".$ilDB->quote($a_page_id, "integer");
$set = $ilDB->query($query);
if ($rec = $ilDB->fetchAssoc($set))
{
return $rec["wiki_id"];
}
return false;
}

+ Here is the caller graph for this function:

ilWikiPage::read ( )

Read wiki data.

Reimplemented from ilPageObject.

Definition at line 173 of file class.ilWikiPage.php.

References $ilDB, $query, ilPageObject\getId(), setBlocked(), setTitle(), and setWikiId().

{
global $ilDB;
$query = "SELECT * FROM il_wiki_page WHERE id = ".
$ilDB->quote($this->getId(), "integer");
$set = $ilDB->query($query);
$rec = $ilDB->fetchAssoc($set);
$this->setTitle($rec["title"]);
$this->setWikiId($rec["wiki_id"]);
$this->setBlocked($rec["blocked"]);
// get co page
}

+ Here is the call graph for this function:

ilWikiPage::rename (   $a_new_name)

Rename page.

Definition at line 730 of file class.ilWikiPage.php.

References ilInternalLink\_getSourcesOfTarget(), ilObjWiki\_lookupStartPage(), exists(), ilPageObject\getId(), getTitle(), getWikiId(), IL_WIKI_MODE_EXT_COLLECT, ilWikiUtil\makeDbTitle(), ilWikiUtil\processInternalLinks(), setTitle(), update(), and ilObjWiki\writeStartPage().

{
if (!ilWikiPage::exists($this->getWikiId(), $a_new_name))
{
include_once("./Services/COPage/classes/class.ilInternalLink.php");
$sources = ilInternalLink::_getSourcesOfTarget("wpg", $this->getId(), 0);
foreach ($sources as $s)
{
if ($s["type"] == "wpg:pg")
{
$wpage = new ilWikiPage($s["id"]);
$col = ilWikiUtil::processInternalLinks($wpage->getXmlContent(), 0,
$new_content = $wpage->getXmlContent();
foreach ($col as $c)
{
if (ilWikiUtil::makeDbTitle($c["nt"]->mTextform) ==
{
$new_content =
str_replace("[[".$c["nt"]->mTextform."]]",
"[[".$a_new_name."]]", $new_content);
if ($c["text"] != "")
{
$new_content =
str_replace("[[".$c["text"]."]]",
"[[".$a_new_name."]]", $new_content);
}
$add = ($c["text"] != "")
? "|".$c["text"]
: "";
$new_content =
str_replace("[[".$c["nt"]->mTextform.$add."]]",
"[[".$a_new_name.$add."]]", $new_content);
//echo "<br>[[".$c["nt"]->mTextform.$add."]] -> "."[[".$a_new_name.$add."]]";
}
}
$wpage->setXmlContent($new_content);
$wpage->update();
}
}
include_once("./Modules/Wiki/classes/class.ilObjWiki.php");
if (ilObjWiki::_lookupStartPage($this->getWikiId()) == $this->getTitle())
{
ilObjWiki::writeStartPage($this->getWikiId(), $a_new_name);
}
$this->setTitle($a_new_name);
$this->update();
}
}

+ Here is the call graph for this function:

ilWikiPage::saveInternalLinks (   $a_xml)

save internal links of page

Parameters
stringxml page code

Reimplemented from ilPageObject.

Definition at line 529 of file class.ilWikiPage.php.

References $ilDB, _getPageIdForWikiTitle(), ilInternalLink\_saveLink(), ilWikiUtil\collectInternalLinks(), ilPageObject\getId(), getTitle(), getWikiId(), and ilWikiUtil\makeDbTitle().

Referenced by create().

{
global $ilDB;
// *** STEP 1: Standard Processing ***
// *** STEP 2: Other Pages -> This Page ***
// Check, whether ANOTHER page links to this page as a "missing" page
// (this is the case, when this page is created newly)
$set = $ilDB->queryF("SELECT * FROM il_wiki_missing_page WHERE ".
" wiki_id = %s AND target_name = %s",
array("integer", "text"),
array($this->getWikiId(), ilWikiUtil::makeDbTitle($this->getTitle())));
while ($anmiss = $ilDB->fetchAssoc($set)) // insert internal links instead
{
//echo "adding link";
ilInternalLink::_saveLink("wpg:pg", $anmiss["source_id"], "wpg",
$this->getId(), 0);
}
//exit;
// now remove the missing page entries
$ilDB->manipulateF("DELETE FROM il_wiki_missing_page WHERE ".
" wiki_id = %s AND target_name = %s",
array("integer", "text"),
array($this->getWikiId(), $this->getTitle()));
// *** STEP 3: This Page -> Other Pages ***
// remove the exising "missing page" links for THIS page (they will be re-inserted below)
$ilDB->manipulateF("DELETE FROM il_wiki_missing_page WHERE ".
" wiki_id = %s AND source_id = %s",
array("integer", "integer"),
array($this->getWikiId(), $this->getId()));
// collect the wiki links of the page
include_once("./Modules/Wiki/classes/class.ilWikiUtil.php");
$int_wiki_links = ilWikiUtil::collectInternalLinks($a_xml, $this->getWikiId(), true);
foreach($int_wiki_links as $wlink)
{
$page_id = ilWikiPage::_getPageIdForWikiTitle($this->getWikiId(), $wlink);
if ($page_id > 0) // save internal link for existing page
{
ilInternalLink::_saveLink("wpg:pg", $this->getId(), "wpg",
$page_id, 0);
}
else // save missing link for non-existing page
{
$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(), $this->getId(), $wlink));
$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(), $this->getId(), $wlink));
}
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilWikiPage::setBlocked (   $a_val)

Set blocked.

Parameters
boolean$a_valblocked

Definition at line 93 of file class.ilWikiPage.php.

Referenced by read().

{
$this->blocked = $a_val;
}

+ Here is the caller graph for this function:

ilWikiPage::setTitle (   $a_title)

Set Title.

Parameters
string$a_titleTitle

Definition at line 33 of file class.ilWikiPage.php.

References ilWikiUtil\makeDbTitle().

Referenced by read(), and rename().

{
$this->title = ilWikiUtil::makeDbTitle($a_title);
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilWikiPage::setWikiId (   $a_wikiid)

Set Wiki Object Id.

Parameters
int$a_wikiidWiki Object Id

Definition at line 53 of file class.ilWikiPage.php.

References ilPageObject\setParentId().

Referenced by read().

{
$this->setParentId($a_wikiid);
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilWikiPage::setWikiRefId (   $a_wiki_ref_id)

Set Wiki Ref Id.

Parameters
int$a_wiki_ref_idWiki Ref Id

Definition at line 73 of file class.ilWikiPage.php.

{
$this->parent_ref_id = $a_wiki_ref_id;
}
ilWikiPage::update (   $a_validate = true,
  $a_no_history = false 
)

update object data

public

Returns
boolean

Definition at line 149 of file class.ilWikiPage.php.

References $ilDB, $query, getBlocked(), ilPageObject\getId(), getTitle(), getWikiId(), getWikiRefId(), ilWikiUtil\sendNotification(), ilNotification\TYPE_WIKI_PAGE, and updateNews().

Referenced by rename().

{
global $ilDB;
// update wiki page data
$query = "UPDATE il_wiki_page SET ".
" title = ".$ilDB->quote($this->getTitle(), "text").
",wiki_id = ".$ilDB->quote($this->getWikiId(), "integer").
",blocked = ".$ilDB->quote($this->getBlocked(), "integer").
" WHERE id = ".$ilDB->quote($this->getId(), "integer");
$ilDB->manipulate($query);
parent::update($a_validate, $a_no_history);
include_once "./Services/Notification/classes/class.ilNotification.php";
$this->updateNews(true);
return true;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilWikiPage::updateNews (   $a_update = false)

Create.

Definition at line 790 of file class.ilWikiPage.php.

References ilPageObject\getId(), ilNewsItem\getLastNewsIdForContext(), getTitle(), getWikiId(), and NEWS_NOTICE.

Referenced by create(), and update().

{
global $ilUser;
$news_set = new ilSetting("news");
$default_visibility = ($news_set->get("default_visibility") != "")
? $news_set->get("default_visibility")
: "users";
include_once("./Services/News/classes/class.ilNewsItem.php");
if (!$a_update)
{
$news_item = new ilNewsItem();
$news_item->setContext(
$this->getWikiId(), "wiki",
$this->getId(), "wpg");
$news_item->setPriority(NEWS_NOTICE);
$news_item->setTitle($this->getTitle());
$news_item->setContentTextIsLangVar(true);
$news_item->setContent("wiki_news_page_created");
$news_item->setUserId($ilUser->getId());
$news_item->setVisibility($default_visibility);
$news_item->create();
}
else
{
// get last news item of the day (if existing)
$this->getWikiId(), "wiki",
$this->getId(), "wpg", true);
if ($news_id > 0)
{
$news_item = new ilNewsItem($news_id);
$news_item->setContent("wiki_news_page_changed");
$news_item->setUserId($ilUser->getId());
$news_item->setTitle($this->getTitle());
$news_item->setContentTextIsLangVar(true);
$news_item->update(true);
}
else
{
$news_item = new ilNewsItem();
$news_item->setContext(
$this->getWikiId(), "wiki",
$this->getId(), "wpg");
$news_item->setPriority(NEWS_NOTICE);
$news_item->setTitle($this->getTitle());
$news_item->setContentTextIsLangVar(true);
$news_item->setContent("wiki_news_page_changed");
$news_item->setUserId($ilUser->getId());
$news_item->setVisibility($default_visibility);
$news_item->create();
}
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Field Documentation

ilWikiPage::$blocked = false
protected

Definition at line 16 of file class.ilWikiPage.php.

Referenced by getBlocked().


The documentation for this class was generated from the following file: