ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
ilBlogPosting Class Reference

Class ilBlogPosting. More...

+ Inheritance diagram for ilBlogPosting:
+ Collaboration diagram for ilBlogPosting:

Public Member Functions

 getParentType ()
 Get parent type. More...
 
 setTitle ($a_title)
 Set title. More...
 
 getTitle ()
 Get title. More...
 
 setBlogId ($a_id)
 Set blog object id. More...
 
 getBlogId ()
 Get blog object id. More...
 
 setCreated (ilDateTime $a_date)
 Set creation date. More...
 
 getCreated ()
 Get creation date. More...
 
 setAuthor ($a_id)
 Set author user id. More...
 
 getAuthor ()
 Get author user id. More...
 
 setApproved ($a_status)
 Toggle approval status. More...
 
 isApproved ()
 Get approved status. More...
 
 create ($a_import=false)
 Create new blog posting. More...
 
 update ($a_validate=true, $a_no_history=false, $a_notify=true, $a_notify_action="update")
 Update blog posting. More...
 
 read ()
 Read blog posting. More...
 
 checkApproval ()
 
 delete ()
 Delete blog posting and all related data. More...
 
 unpublish ()
 Unpublish. More...
 
 setBlogNodeId ($a_id, $a_is_in_workspace=false)
 Set blog node id (needed for notification) More...
 
 getNotificationAbstract ()
 
 getMDSection ()
 
 updateKeywords (array $keywords)
 
 handleNews ($a_update=false)
 Handle news item. More...
 
- Public Member Functions inherited from ilPageObject
 __construct ($a_id=0, $a_old_nr=0, $a_lang="-")
 Constructor @access public. More...
 
 afterConstructor ()
 After constructor. More...
 
 getParentType ()
 Get parent type. More...
 
 initPageConfig ()
 Init page config. More...
 
 setLanguage ($a_val)
 Set language. More...
 
 getLanguage ()
 Get language. More...
 
 setPageConfig ($a_val)
 Set page config object. More...
 
 getPageConfig ()
 Get page config object. More...
 
 setRenderMd5 ($a_rendermd5)
 Set Render MD5. More...
 
 getRenderMd5 ()
 Get Render MD5. More...
 
 setRenderedContent ($a_renderedcontent)
 Set Rendered Content. More...
 
 getRenderedContent ()
 Get Rendered Content. More...
 
 setRenderedTime ($a_renderedtime)
 Set Rendered Time. More...
 
 getRenderedTime ()
 Get Rendered Time. More...
 
 setLastChange ($a_lastchange)
 Set Last Change. More...
 
 getLastChange ()
 Get Last Change. More...
 
 setLastChangeUser ($a_val)
 Set last change user. More...
 
 getLastChangeUser ()
 Get last change user. More...
 
 setShowActivationInfo ($a_val)
 Set show page activation info. More...
 
 getShowActivationInfo ()
 Get show page activation info. More...
 
 read ()
 Read page data. More...
 
 buildDom ($a_force=false)
 
 freeDom ()
 
 getDom ()
 Deprecated php4DomDocument. More...
 
 getDomDoc ()
 Get dom doc (php5 dom document) More...
 
 setId ($a_id)
 set id More...
 
 getId ()
 
 setParentId ($a_id)
 
 getParentId ()
 
 addUpdateListener (&$a_object, $a_method, $a_parameters="")
 
 callUpdateListeners ()
 
 setActive ($a_active)
 set activation More...
 
 getActive ($a_check_scheduled_activation=false)
 get activation More...
 
 setActivationStart ($a_activationstart)
 Set Activation Start. More...
 
 getActivationStart ()
 Get Activation Start. More...
 
 setActivationEnd ($a_activationend)
 Set Activation End. More...
 
 getActivationEnd ()
 Get Activation End. More...
 
 getContentObject ($a_hier_id, $a_pc_id="")
 Get a content object of the page. More...
 
getContentNode ($a_hier_id, $a_pc_id="")
 Get content node from dom. More...
 
 checkForTag ($a_content_tag, $a_hier_id, $a_pc_id="")
 Get content node from dom. More...
 
 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! More...
 
 appendXMLContent ($a_xml)
 append xml content to page setXMLContent must be called before and the same encoding must be used More...
 
 getXMLContent ($a_incl_head=false)
 get xml content of page More...
 
 copyXmlContent ($a_clone_mobs=false)
 Copy content of page; replace page components with copies where necessary (e.g. More...
 
 handleCopiedContent ($a_dom, $a_self_ass=true, $a_clone_mobs=false)
 Handle copied content. More...
 
 newIIMCopies ($temp_dom)
 Replaces media objects in interactive images with copies of the interactive images. More...
 
 newMobCopies ($temp_dom)
 Replaces media objects with copies. More...
 
 newQuestionCopies (&$temp_dom)
 Replaces existing question content elements with new copies. More...
 
 removeQuestions (&$temp_dom)
 Remove questions from document. More...
 
 countPageContents ()
 Remove questions from document. More...
 
 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) More...
 
 getLanguageVariablesXML ()
 Get language variables as XML. More...
 
 appendLangVarXML (&$xml, $var)
 
 getFirstParagraphText ()
 
 setParagraphContent ($a_hier_id, $a_content)
 Set content of paragraph. More...
 
 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) More...
 
 containsIntLink ()
 returns true, if page was marked as containing an intern link (via setContainsIntLink) (this method should only be called by the import parser) More...
 
 setImportMode ($a_val)
 Set import mode. More...
 
 getImportMode ()
 Get import mode. More...
 
 needsImportParsing ($a_parse="")
 
 setContainsQuestion ($a_val)
 Set contains question. More...
 
 getContainsQuestion ()
 Get contains question. More...
 
 collectMediaObjects ($a_inline_only=true)
 get all media objects, that are referenced and used within the page More...
 
 getInternalLinks ($a_cnt_multiple=false)
 get all internal links that are used within the page More...
 
 getMultimediaXML ()
 get a xml string that contains all media object elements, that are referenced by any media alias in the page More...
 
 getMediaAliasElement ($a_mob_id, $a_nr=1)
 get complete media object (alias) element More...
 
 validateDom ()
 Validate the page content agains page DTD. More...
 
 addHierIDs ()
 Add hierarchical ID (e.g. More...
 
 getHierIds ()
 get all hierarchical ids More...
 
 getFirstRowIds ()
 get ids of all first table rows More...
 
 getFirstColumnIds ()
 get ids of all first table columns More...
 
 getListItemIds ()
 get ids of all list items More...
 
 getFileItemIds ()
 get ids of all file items More...
 
 stripHierIDs ()
 strip all hierarchical id attributes out of the dom tree More...
 
 getHierIdsForPCIds ($a_pc_ids)
 Get hier ids for a set of pc ids. More...
 
 addFileSizes ()
 add file sizes More...
 
 resolveIntLinks ($a_link_map=null)
 Resolves all internal link targets of the page, if targets are available (after import) More...
 
 resolveMediaAliases ($a_mapping, $a_reuse_existing_by_import=false)
 Resolve media aliases (after import) More...
 
 resolveIIMMediaAliases ($a_mapping)
 Resolve iim media aliases (in ilContObjParse) More...
 
 resolveFileItems ($a_mapping)
 Resolve file items (after import) More...
 
 resolveQuestionReferences ($a_mapping)
 Resolve all quesion references (after import) More...
 
 moveIntLinks ($a_from_to)
 Move internal links from one destination to another. More...
 
 handleImportRepositoryLink ($a_rep_import_id, $a_rep_type, $a_rep_ref_id)
 
 handleRepositoryLinksOnCopy ($a_mapping, $a_source_ref_id)
 Handle repository links on copy process. More...
 
 createFromXML ()
 Create new page object with current xml content. More...
 
 updateFromXML ()
 Updates page object with current xml content. More...
 
 afterUpdate ()
 After update. More...
 
 update ($a_validate=true, $a_no_history=false)
 update complete page content in db (dom xml content is used) More...
 
 delete ()
 delete page object More...
 
 saveStyleUsage ($a_domdoc, $a_old_nr=0)
 Save all style class/template usages. More...
 
 deleteStyleUsages ($a_old_nr=0)
 Delete style usages. More...
 
 getLastUpdateOfIncludedElements ()
 Get last update of included elements (media objects and files). More...
 
 deleteInternalLinks ()
 Delete internal links. More...
 
 saveInternalLinks ($a_domdoc)
 save internal links of page More...
 
 create ()
 create new page (with current xml data) More...
 
 deleteContent ($a_hid, $a_update=true, $a_pcid="")
 delete content object with hierarchical id $a_hid More...
 
 deleteContents ($a_hids, $a_update=true, $a_self_ass=false)
 Delete multiple content objects. More...
 
 cutContents ($a_hids)
 Copy contents to clipboard and cut them from the page. More...
 
 copyContents ($a_hids)
 Copy contents to clipboard. More...
 
 pasteContents ($a_hier_id, $a_self_ass=false)
 Paste contents from pc clipboard. More...
 
 switchEnableMultiple ($a_hids, $a_update=true, $a_self_ass=false)
 (De-)activate elements More...
 
 deleteContentFromHierId ($a_hid, $a_update=true)
 delete content object with hierarchical id >= $a_hid More...
 
 deleteContentBeforeHierId ($a_hid, $a_update=true)
 delete content object with hierarchical id < $a_hid More...
 
 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 More...
 
 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 More...
 
 moveContentBefore ($a_source, $a_target, $a_spcid="", $a_tpcid="")
 move content object from position $a_source before position $a_target (both hierarchical content ids) More...
 
 moveContentAfter ($a_source, $a_target, $a_spcid="", $a_tpcid="")
 move content object from position $a_source before position $a_target (both hierarchical content ids) More...
 
 bbCode2XML (&$a_content)
 transforms bbCode to corresponding xml More...
 
 insertInstIntoIDs ($a_inst, $a_res_ref_to_obj_id=true)
 inserts installation id into ids (e.g. More...
 
 checkPCIds ()
 Check, whether (all) page content hashes are set. More...
 
 getAllPCIds ()
 Get all pc ids. More...
 
 existsPCId ($a_pc_id)
 existsPCId More...
 
 generatePcId ($a_pc_ids=false)
 Generate new pc id. More...
 
 insertPCIds ()
 Insert Page Content IDs. More...
 
 getPageContentsHashes ()
 Get page contents hashes. More...
 
 getQuestionIds ()
 Get question ids. More...
 
 send_paragraph ($par_id, $filename)
 
 getFO ()
 get fo page content More...
 
 registerOfflineHandler ($handler)
 
 getOfflineHandler ()
 Get offline handler. More...
 
 containsDeactivatedElements ($a_content)
 Check whether content contains deactivated elements. More...
 
 getHistoryEntries ()
 Get History Entries. More...
 
 getHistoryEntry ($a_old_nr)
 Get History Entry. More...
 
 getHistoryInfo ($a_nr)
 Get information about a history entry, its predecessor and its successor. More...
 
 addChangeDivClasses ($a_hashes)
 
 compareVersion ($a_left, $a_right)
 Compares to revisions of the page. More...
 
 increaseViewCnt ()
 Increase view cnt. More...
 
 writeRenderedContent ($a_content, $a_md5)
 Write rendered content. More...
 
 containsIntLinks ($a_content)
 Check whether content contains internal links. More...
 
 performAutomaticModifications ()
 Perform automatic modifications (may be overwritten by sub classes) More...
 
 saveInitialOpenedContent ($a_type, $a_id, $a_target)
 Save initial opened content. More...
 
 getInitialOpenedContent ()
 Get initial opened content. More...
 
 beforePageContentUpdate ($a_page_content)
 Before page content update. More...
 
 copy ($a_id, $a_parent_type="", $a_parent_id=0, $a_clone_mobs=false)
 Copy page. More...
 
 copyPageToTranslation ($a_target_lang)
 Copy page to translation. More...
 
 getEditLock ()
 Get page lock. More...
 
 releasePageLock ()
 Release page lock. More...
 
 getEditLockInfo ()
 Get edit lock info. More...
 
 getContentTemplates ()
 Get content templates. More...
 
 getAllFileObjIds ()
 Get all file object ids. More...
 
 resolveResources ($ref_mapping)
 Resolve resources. More...
 

Static Public Member Functions

static deleteAllBlogPostings ($a_blog_id)
 Delete all postings for blog. More...
 
static lookupBlogId ($a_posting_id)
 Lookup blog id. More...
 
static getAllPostings ($a_blog_id, $a_limit=1000, $a_offset=0)
 Get all postings of blog. More...
 
static exists ($a_blog_id, $a_posting_id)
 Checks whether a posting exists. More...
 
static getLastPost ($a_blog_id)
 Get newest posting for blog. More...
 
static searchBlogsByAuthor ($a_user_id)
 Get all blogs where user has postings. More...
 
static getKeywords ($a_obj_id, $a_posting_id)
 
- Static Public Member Functions inherited from ilPageObject
static _exists ($a_parent_type, $a_id, $a_lang="", $a_no_cache=false)
 Checks whether page exists. More...
 
static _existsAndNotEmpty ($a_parent_type, $a_id, $a_lang="-")
 Checks whether page exists and is not empty (may return true on some empty pages) More...
 
static preloadActivationDataByParentId ($a_parent_id)
 Preload activation data by Parent Id. More...
 
static _lookupActive ($a_id, $a_parent_type, $a_check_scheduled_activation=false, $a_lang="-")
 lookup activation status More...
 
static _isScheduledActivation ($a_id, $a_parent_type, $a_lang="-")
 Check whether page is activated by time schedule. More...
 
static _writeActive ($a_id, $a_parent_type, $a_active, $a_reset_scheduled_activation=true, $a_lang="-")
 write activation status More...
 
static _lookupActivationData ($a_id, $a_parent_type, $a_lang="-")
 Lookup activation data. More...
 
static lookupParentId ($a_id, $a_type)
 Lookup parent id. More...
 
static _writeParentId ($a_parent_type, $a_pg_id, $a_par_id)
 Write parent id. More...
 
static _handleImportRepositoryLinks ($a_rep_import_id, $a_rep_type, $a_rep_ref_id)
 Change targest of repository links. More...
 
static _moveContentAfterHierId (&$a_source_page, &$a_target_page, $a_hid)
 move content of hierarchical id >= $a_hid to other page More...
 
static _lookupContainsDeactivatedElements ($a_id, $a_parent_type, $a_lang="-")
 lookup whether page contains deactivated elements More...
 
static getRecentChanges ($a_parent_type, $a_parent_id, $a_period=30, $a_lang="")
 Get recent pages changes for parent object. More...
 
static getAllPages ($a_parent_type, $a_parent_id, $a_lang="-")
 Get all pages for parent object. More...
 
static getNewPages ($a_parent_type, $a_parent_id, $a_lang="-")
 Get new pages. More...
 
static getParentObjectContributors ($a_parent_type, $a_parent_id, $a_lang="-")
 Get all contributors for parent object. More...
 
static getPageContributors ($a_parent_type, $a_page_id, $a_lang="-")
 Get all contributors for parent object. More...
 
static getPagesWithLinks ($a_parent_type, $a_parent_id, $a_lang="-")
 Get all pages for parent object that contain internal links. More...
 
static lookupTranslations ($a_parent_type, $a_id)
 Lookup translations. More...
 
static truncateHTML ($a_text, $a_length=100, $a_ending='...', $a_exact=false, $a_consider_html=true)
 Truncate (html) string. More...
 
static getLastChangeByParent ($a_parent_type, $a_parent_id, $a_lang="")
 Get all pages for parent object. More...
 

Protected Attributes

 $title
 
 $created
 
 $blog_node_id
 
 $blog_node_is_wsp
 
 $author
 
 $approved
 
- Protected Attributes inherited from ilPageObject
 $import_mode = false
 
 $log
 

Additional Inherited Members

- Data Fields inherited from ilPageObject
 $id
 
 $ilias
 
 $dom
 
 $xml
 
 $encoding
 
 $node
 
 $cur_dtd = "ilias_pg_5_2.dtd"
 
 $contains_int_link
 
 $needs_parsing
 
 $parent_type
 
 $parent_id
 
 $update_listeners
 
 $update_listener_cnt
 
 $offline_handler
 
 $dom_builded
 
 $history_saved
 
 $language = "-"
 
- Static Public Attributes inherited from ilPageObject
static $exists = array()
 
- Protected Member Functions inherited from ilPageObject
 __afterUpdate ($a_domdoc, $a_xml, $a_creation=false, $a_empty=false)
 After update event handler (internal). More...
 
 __beforeDelete ()
 Before deletion handler (internal). More...
 
 __afterHistoryEntry ($a_old_domdoc, $a_old_content, $a_old_nr)
 Before deletion handler (internal). More...
 
- Static Protected Attributes inherited from ilPageObject
static $activation_data = array()
 

Detailed Description

Class ilBlogPosting.

Author
Jörg Lützenkirchen luetz.nosp@m.enki.nosp@m.rchen.nosp@m.@lei.nosp@m.fos.c.nosp@m.om
Version
$Id$

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

Member Function Documentation

◆ checkApproval()

ilBlogPosting::checkApproval ( )

Definition at line 230 of file class.ilBlogPosting.php.

231 {
232 if(!$this->getActive() && $this->isApproved())
233 {
234 $this->approved = false;
235 $this->update();
236 }
237 }
isApproved()
Get approved status.
update($a_validate=true, $a_no_history=false, $a_notify=true, $a_notify_action="update")
Update blog posting.
getActive($a_check_scheduled_activation=false)
get activation

References ilPageObject\getActive(), isApproved(), and update().

+ Here is the call graph for this function:

◆ create()

ilBlogPosting::create (   $a_import = false)

Create new blog posting.

Definition at line 135 of file class.ilBlogPosting.php.

136 {
137 global $ilDB;
138
139 $id = $ilDB->nextId("il_blog_posting");
140 $this->setId($id);
141
142 if(!$a_import)
143 {
145 }
146 else
147 {
148 $created = $this->getCreated()->get(IL_CAL_DATETIME);
149 }
150
151 // we are using a separate creation date to enable sorting without JOINs
152
153 $query = "INSERT INTO il_blog_posting (id, title, blog_id, created, author, approved)".
154 " VALUES (".
155 $ilDB->quote($this->getId(), "integer").",".
156 $ilDB->quote($this->getTitle(), "text").",".
157 $ilDB->quote($this->getBlogId(), "integer").",".
158 $ilDB->quote($created, "timestamp").",".
159 $ilDB->quote($this->getAuthor(), "integer").",".
160 $ilDB->quote($this->isApproved(), "integer").")"; // #16526 - import
161 $ilDB->manipulate($query);
162
163 if(!$a_import)
164 {
165 parent::create();
166 // $this->saveInternalLinks($this->getXMLContent());
167 }
168 }
const IL_CAL_DATETIME
getCreated()
Get creation date.
getBlogId()
Get blog object id.
getTitle()
Get title.
getAuthor()
Get author user id.
setId($a_id)
set id
static now()
Return current timestamp in Y-m-d H:i:s format.
global $ilDB

References $created, ilPageObject\$id, $ilDB, $query, getAuthor(), getBlogId(), getCreated(), ilPageObject\getId(), getTitle(), IL_CAL_DATETIME, isApproved(), ilUtil\now(), and ilPageObject\setId().

+ Here is the call graph for this function:

◆ delete()

ilBlogPosting::delete ( )

Delete blog posting and all related data.

Returns
bool

Reimplemented from ilPageObject.

Definition at line 244 of file class.ilBlogPosting.php.

245 {
246 global $ilDB;
247
248 include_once("./Services/News/classes/class.ilNewsItem.php");
250 "blog", $this->getId(), $this->getParentType());
251
252 $query = "DELETE FROM il_blog_posting".
253 " WHERE id = ".$ilDB->quote($this->getId(), "integer");
254 $ilDB->manipulate($query);
255
256 parent::delete();
257
258 return true;
259 }
getParentType()
Get parent type.
static deleteNewsOfContext($a_context_obj_id, $a_context_obj_type, $a_context_sub_obj_id=0, $a_context_sub_obj_type="")
Delete all news of a context.

References $ilDB, $query, ilNewsItem\deleteNewsOfContext(), getBlogId(), ilPageObject\getId(), and getParentType().

+ Here is the call graph for this function:

◆ deleteAllBlogPostings()

static ilBlogPosting::deleteAllBlogPostings (   $a_blog_id)
static

Delete all postings for blog.

Parameters
int$a_blog_id

Definition at line 281 of file class.ilBlogPosting.php.

282 {
283 global $ilDB;
284
285 include_once 'Services/MetaData/classes/class.ilMD.php';
286
287 $query = "SELECT * FROM il_blog_posting".
288 " WHERE blog_id = ".$ilDB->quote($a_blog_id, "integer");
289 $set = $ilDB->query($query);
290 while($rec = $ilDB->fetchAssoc($set))
291 {
292 // delete all md keywords
293 $md_obj = new ilMD($a_blog_id, $rec["id"], "blp");
294 if(is_object($md_section = $md_obj->getGeneral()))
295 {
296 foreach($md_section->getKeywordIds() as $id)
297 {
298 $md_key = $md_section->getKeyword($id);
299 $md_key->delete();
300 }
301 }
302
303 $post = new ilBlogPosting($rec["id"]);
304 $post->delete();
305 }
306 }
Class ilBlogPosting.

References ilPageObject\$id, $ilDB, and $query.

Referenced by ilObjBlog\doDelete().

+ Here is the caller graph for this function:

◆ exists()

static ilBlogPosting::exists (   $a_blog_id,
  $a_posting_id 
)
static

Checks whether a posting exists.

Parameters
int$a_blog_id
int$a_posting_id
Returns
bool

Definition at line 382 of file class.ilBlogPosting.php.

383 {
384 global $ilDB;
385
386 $query = "SELECT id FROM il_blog_posting".
387 " WHERE blog_id = ".$ilDB->quote($a_blog_id, "integer").
388 " AND id = ".$ilDB->quote($a_posting_id, "integer");
389 $set = $ilDB->query($query);
390 if($rec = $ilDB->fetchAssoc($set))
391 {
392 return true;
393 }
394 return false;
395 }

References $ilDB, and $query.

Referenced by ilObjBlogGUI\executeCommand().

+ Here is the caller graph for this function:

◆ getAllPostings()

static ilBlogPosting::getAllPostings (   $a_blog_id,
  $a_limit = 1000,
  $a_offset = 0 
)
static

Get all postings of blog.

Parameters
int$a_blog_id
int$a_limit
int$a_offset
Returns
array

Definition at line 336 of file class.ilBlogPosting.php.

337 {
338 global $ilDB;
339
340 $pages = parent::getAllPages("blp", $a_blog_id);
341
342 if($a_limit)
343 {
344 $ilDB->setLimit($a_limit, $a_offset);
345 }
346
347 $query = "SELECT * FROM il_blog_posting".
348 " WHERE blog_id = ".$ilDB->quote($a_blog_id, "integer").
349 " ORDER BY created DESC";
350 $set = $ilDB->query($query);
351 $post = array();
352 while($rec = $ilDB->fetchAssoc($set))
353 {
354 if (isset($pages[$rec["id"]]))
355 {
356 $post[$rec["id"]] = $pages[$rec["id"]];
357 $post[$rec["id"]]["title"] = $rec["title"];
358 $post[$rec["id"]]["created"] = new ilDateTime($rec["created"], IL_CAL_DATETIME);
359 $post[$rec["id"]]["author"] = $rec["author"];
360 $post[$rec["id"]]["approved"] = (bool)$rec["approved"];
361
362 foreach(self::getPageContributors("blp", $rec["id"]) as $editor)
363 {
364 if($editor["user_id"] != $rec["author"])
365 {
366 $post[$rec["id"]]["editors"][] = $editor["user_id"];
367 }
368 }
369 }
370 }
371
372 return $post;
373 }
@classDescription Date and time handling

References $ilDB, $query, and IL_CAL_DATETIME.

Referenced by ilObjBlogGUI\buildPostingList(), ilObjBlog\deliverRSS(), ilObjBlogGUI\exportHTMLPages(), getLastPost(), ilBlogExporter\getXmlExportTailDependencies(), ilBlogPostingGUI\initKeywordsForm(), and ilPCBlogGUI\initPostingForm().

+ Here is the caller graph for this function:

◆ getAuthor()

ilBlogPosting::getAuthor ( )

Get author user id.

Returns
int

Definition at line 109 of file class.ilBlogPosting.php.

110 {
111 return $this->author;
112 }

References $author.

Referenced by create(), and handleNews().

+ Here is the caller graph for this function:

◆ getBlogId()

ilBlogPosting::getBlogId ( )

Get blog object id.

Returns
int

Definition at line 69 of file class.ilBlogPosting.php.

70 {
71 return $this->getParentId();
72 }

References ilPageObject\getParentId().

Referenced by create(), delete(), getMDSection(), handleNews(), and unpublish().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getCreated()

ilBlogPosting::getCreated ( )

Get creation date.

Returns
ilDateTime

Definition at line 89 of file class.ilBlogPosting.php.

90 {
91 return $this->created;
92 }

References $created.

Referenced by create(), and update().

+ Here is the caller graph for this function:

◆ getKeywords()

static ilBlogPosting::getKeywords (   $a_obj_id,
  $a_posting_id 
)
static

Definition at line 490 of file class.ilBlogPosting.php.

491 {
492 include_once("./Services/MetaData/classes/class.ilMDKeyword.php");
493 return ilMDKeyword::lookupKeywords($a_obj_id, $a_posting_id);
494 }
static lookupKeywords($a_rbac_id, $a_obj_id, $a_return_ids=false)
Lookup Keywords.

References ilMDKeyword\lookupKeywords().

Referenced by ilObjBlogGUI\filterItemsByKeyWord(), ilObjBlogGUI\getKeywords(), ilBlogPostingGUI\initKeywordsForm(), and ilBlogDataSet\readData().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getLastPost()

static ilBlogPosting::getLastPost (   $a_blog_id)
static

Get newest posting for blog.

Parameters
int$a_blog_id
Returns
int

Definition at line 403 of file class.ilBlogPosting.php.

404 {
405 $data = self::getAllPostings($a_blog_id, 1);
406 if($data)
407 {
408 return array_pop(array_keys($data));
409 }
410 }
static getAllPostings($a_blog_id, $a_limit=1000, $a_offset=0)
Get all postings of blog.

References $data, and getAllPostings().

+ Here is the call graph for this function:

◆ getMDSection()

ilBlogPosting::getMDSection ( )

Definition at line 464 of file class.ilBlogPosting.php.

465 {
466 // general section available?
467 include_once 'Services/MetaData/classes/class.ilMD.php';
468 $md_obj = new ilMD($this->getBlogId(), $this->getId(), "blp");
469 if(!is_object($md_section = $md_obj->getGeneral()))
470 {
471 $md_section = $md_obj->addGeneral();
472 $md_section->save();
473 }
474
475 return $md_section;
476 }

References getBlogId(), and ilPageObject\getId().

Referenced by updateKeywords().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getNotificationAbstract()

ilBlogPosting::getNotificationAbstract ( )

Definition at line 447 of file class.ilBlogPosting.php.

448 {
449 include_once "Modules/Blog/classes/class.ilBlogPostingGUI.php";
450 $snippet = ilBlogPostingGUI::getSnippet($this->getId(), true);
451
452 // making things more readable
453 $snippet = str_replace('<br/>', "\n", $snippet);
454 $snippet = str_replace('<br />', "\n", $snippet);
455 $snippet = str_replace('</p>', "\n", $snippet);
456 $snippet = str_replace('</div>', "\n", $snippet);
457
458 return trim(strip_tags($snippet));
459 }
static getSnippet($a_id, $a_truncate=false, $a_truncate_length=500, $a_truncate_sign="...", $a_include_picture=false, $a_picture_width=144, $a_picture_height=144, $a_export_directory=null)
Get first text paragraph of page.

References ilPageObject\getId(), and ilBlogPostingGUI\getSnippet().

+ Here is the call graph for this function:

◆ getParentType()

ilBlogPosting::getParentType ( )

Get parent type.

Returns
string parent type

Reimplemented from ilPageObject.

Definition at line 28 of file class.ilBlogPosting.php.

29 {
30 return "blp";
31 }

Referenced by delete(), handleNews(), and unpublish().

+ Here is the caller graph for this function:

◆ getTitle()

ilBlogPosting::getTitle ( )

Get title.

Returns
string

Definition at line 49 of file class.ilBlogPosting.php.

50 {
51 return $this->title;
52 }

References $title.

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

+ Here is the caller graph for this function:

◆ handleNews()

ilBlogPosting::handleNews (   $a_update = false)

Handle news item.

Parameters
bool$a_update

Definition at line 501 of file class.ilBlogPosting.php.

502 {
503 global $lng, $ilUser;
504
505 // see ilWikiPage::updateNews()
506
507 include_once("./Services/News/classes/class.ilNewsItem.php");
508 $news_item = null;
509
510 // try to re-use existing news item
511 if((bool)$a_update)
512 {
513 // get last news item of the day (if existing)
515 $this->getBlogId(),
516 "blog",
517 $this->getId(),
518 $this->getParentType(),
519 true
520 );
521 if($news_id > 0)
522 {
523 $news_item = new ilNewsItem($news_id);
524 }
525 }
526
527 // create new news item
528 if(!$news_item)
529 {
530 $news_set = new ilSetting("news");
531 $default_visibility = $news_set->get("default_visibility", "users");
532
533 $news_item = new ilNewsItem();
534 $news_item->setContext(
535 $this->getBlogId(),
536 "blog",
537 $this->getId(),
538 $this->getParentType()
539 );
540 $news_item->setPriority(NEWS_NOTICE);
541 $news_item->setVisibility($default_visibility);
542 }
543
544 // news author
545 $news_item->setUserId($ilUser->getId());
546
547
548 // news title/content
549
550 $news_item->setTitle($this->getTitle());
551
552 $content = $a_update
553 ? "blog_news_posting_updated"
554 : "blog_news_posting_published";
555
556 // news "author"
557 include_once "Services/User/classes/class.ilUserUtil.php";
558 $content = sprintf($lng->txt($content), ilUserUtil::getNamePresentation($ilUser->getId()));
559
560 // posting author[s]
561 $contributors = array();
562 foreach(self::getPageContributors($this->getParentType(), $this->getId()) as $user)
563 {
564 $contributors[] = $user["user_id"];
565 }
566 if(sizeof($contributors) > 1 || !in_array($this->getAuthor(), $contributors))
567 {
568 // original author should come first?
569 $authors = array(ilUserUtil::getNamePresentation($this->getAuthor()));
570 foreach($contributors as $user_id)
571 {
572 if($user_id != $this->getAuthor())
573 {
574 $authors[] = ilUserUtil::getNamePresentation($user_id);
575 }
576 }
577 $content .= "\n".sprintf($lng->txt("blog_news_posting_authors"), implode(", ", $authors));
578 }
579
580 $news_item->setContentTextIsLangVar(false);
581 $news_item->setContent($content);
582
583 include_once "Modules/Blog/classes/class.ilBlogPostingGUI.php";
584 $snippet = ilBlogPostingGUI::getSnippet($this->getId());
585 $news_item->setContentLong($snippet);
586
587 if(!$news_item->getId())
588 {
589 $news_item->create();
590 }
591 else
592 {
593 $news_item->update(true);
594 }
595 }
sprintf('%.4f', $callTime)
const NEWS_NOTICE
static getLastNewsIdForContext($a_context_obj_id, $a_context_obj_type, $a_context_sub_obj_id="", $a_context_sub_obj_type="", $a_only_today=false)
Get last news id of news set related to a certain context.
ILIAS Setting Class.
static getNamePresentation($a_user_id, $a_user_image=false, $a_profile_link=false, $a_profile_back_link="", $a_force_first_lastname=false, $a_omit_login=false, $a_sortable=true, $a_return_data_array=false)
Default behaviour is:
global $lng
Definition: privfeed.php:17
$ilUser
Definition: imgupload.php:18

References $ilUser, $lng, getAuthor(), getBlogId(), ilPageObject\getId(), ilNewsItem\getLastNewsIdForContext(), ilUserUtil\getNamePresentation(), getParentType(), ilBlogPostingGUI\getSnippet(), getTitle(), NEWS_NOTICE, and sprintf.

+ Here is the call graph for this function:

◆ isApproved()

ilBlogPosting::isApproved ( )

Get approved status.

Returns
bool

Definition at line 127 of file class.ilBlogPosting.php.

128 {
129 return (bool)$this->approved;
130 }

References $approved.

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

+ Here is the caller graph for this function:

◆ lookupBlogId()

static ilBlogPosting::lookupBlogId (   $a_posting_id)
static

Lookup blog id.

Parameters
int$a_posting_id
Returns
int

Definition at line 314 of file class.ilBlogPosting.php.

315 {
316 global $ilDB;
317
318 $query = "SELECT blog_id FROM il_blog_posting".
319 " WHERE id = ".$ilDB->quote($a_posting_id, "integer");
320 $set = $ilDB->query($query);
321 if ($rec = $ilDB->fetchAssoc($set))
322 {
323 return $rec["blog_id"];
324 }
325 return false;
326 }

References $ilDB, and $query.

Referenced by ilObjBlogGUI\__construct(), ilBlogImporter\finalProcessing(), and ilBlogDataSet\readData().

+ Here is the caller graph for this function:

◆ read()

ilBlogPosting::read ( )

Read blog posting.

Reimplemented from ilPageObject.

Definition at line 206 of file class.ilBlogPosting.php.

207 {
208 global $ilDB;
209
210 $query = "SELECT * FROM il_blog_posting".
211 " WHERE id = ".$ilDB->quote($this->getId(), "integer");
212 $set = $ilDB->query($query);
213 $rec = $ilDB->fetchAssoc($set);
214
215 $this->setTitle($rec["title"]);
216 $this->setBlogId($rec["blog_id"]);
217 $this->setCreated(new ilDateTime($rec["created"], IL_CAL_DATETIME));
218 $this->setAuthor($rec["author"]);
219 if((bool)$rec["approved"])
220 {
221 $this->setApproved(true);
222 }
223
224 // when posting is deactivated it should loose the approval
225 $this->addUpdateListener($this, "checkApproval");
226
227 parent::read();
228 }
setCreated(ilDateTime $a_date)
Set creation date.
setAuthor($a_id)
Set author user id.
setTitle($a_title)
Set title.
setApproved($a_status)
Toggle approval status.
setBlogId($a_id)
Set blog object id.
addUpdateListener(&$a_object, $a_method, $a_parameters="")

References $ilDB, $query, ilPageObject\addUpdateListener(), ilPageObject\getId(), IL_CAL_DATETIME, setApproved(), setAuthor(), setBlogId(), setCreated(), and setTitle().

+ Here is the call graph for this function:

◆ searchBlogsByAuthor()

static ilBlogPosting::searchBlogsByAuthor (   $a_user_id)
static

Get all blogs where user has postings.

Parameters
int$a_user_id
Returns
array

Definition at line 430 of file class.ilBlogPosting.php.

431 {
432 global $ilDB;
433
434 $ids = array();
435
436 $sql = "SELECT DISTINCT(blog_id)".
437 " FROM il_blog_posting".
438 " WHERE author = ".$ilDB->quote($a_user_id);
439 $set = $ilDB->query($sql);
440 while($row = $ilDB->fetchAssoc($set))
441 {
442 $ids[] = $row["blog_id"];
443 }
444 return $ids;
445 }

References $ilDB, and $row.

Referenced by ilPCBlogGUI\initForm().

+ Here is the caller graph for this function:

◆ setApproved()

ilBlogPosting::setApproved (   $a_status)

Toggle approval status.

Definition at line 117 of file class.ilBlogPosting.php.

118 {
119 $this->approved = (bool)$a_status;
120 }

Referenced by read(), and unpublish().

+ Here is the caller graph for this function:

◆ setAuthor()

ilBlogPosting::setAuthor (   $a_id)

Set author user id.

Parameters
int$a_id

Definition at line 99 of file class.ilBlogPosting.php.

100 {
101 $this->author = (int)$a_id;
102 }

Referenced by read().

+ Here is the caller graph for this function:

◆ setBlogId()

ilBlogPosting::setBlogId (   $a_id)

Set blog object id.

Parameters
int$a_id

Definition at line 59 of file class.ilBlogPosting.php.

60 {
61 $this->setParentId($a_id);
62 }

References ilPageObject\setParentId().

Referenced by read().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setBlogNodeId()

ilBlogPosting::setBlogNodeId (   $a_id,
  $a_is_in_workspace = false 
)

Set blog node id (needed for notification)

Parameters
int$a_id
bool$a_is_in_workspace

Definition at line 418 of file class.ilBlogPosting.php.

419 {
420 $this->blog_node_id = (int)$a_id;
421 $this->blog_node_is_wsp = (bool)$a_is_in_workspace;
422 }

◆ setCreated()

ilBlogPosting::setCreated ( ilDateTime  $a_date)

Set creation date.

Parameters
ilDateTime$a_date

Definition at line 79 of file class.ilBlogPosting.php.

80 {
81 $this->created = $a_date;
82 }

Referenced by read().

+ Here is the caller graph for this function:

◆ setTitle()

ilBlogPosting::setTitle (   $a_title)

Set title.

Parameters
string$a_title

Definition at line 39 of file class.ilBlogPosting.php.

40 {
41 $this->title = $a_title;
42 }

Referenced by read().

+ Here is the caller graph for this function:

◆ unpublish()

ilBlogPosting::unpublish ( )

Unpublish.

Definition at line 264 of file class.ilBlogPosting.php.

265 {
266 $this->setApproved(false);
267 $this->setActive(false);
268 $this->update(true, false, false);
269
270 include_once("./Services/News/classes/class.ilNewsItem.php");
272 "blog", $this->getId(), $this->getParentType());
273 }
setActive($a_active)
set activation

References ilNewsItem\deleteNewsOfContext(), getBlogId(), ilPageObject\getId(), getParentType(), ilPageObject\setActive(), setApproved(), and update().

+ Here is the call graph for this function:

◆ update()

ilBlogPosting::update (   $a_validate = true,
  $a_no_history = false,
  $a_notify = true,
  $a_notify_action = "update" 
)

Update blog posting.

Parameters
bool$a_validate
bool$a_no_history
bool$a_notify
string$a_notify_action
Returns
boolean

Definition at line 179 of file class.ilBlogPosting.php.

180 {
181 global $ilDB;
182
183 // blog_id, author and created cannot be changed
184
185 $query = "UPDATE il_blog_posting SET".
186 " title = ".$ilDB->quote($this->getTitle(), "text").
187 ",created = ".$ilDB->quote($this->getCreated()->get(IL_CAL_DATETIME), "text").
188 ",approved =".$ilDB->quote($this->isApproved(), "integer").
189 " WHERE id = ".$ilDB->quote($this->getId(), "integer");
190 $ilDB->manipulate($query);
191
192 parent::update($a_validate, $a_no_history);
193
194 if($a_notify && $this->getActive())
195 {
196 include_once "Modules/Blog/classes/class.ilObjBlog.php";
197 ilObjBlog::sendNotification($a_notify_action, $this->blog_node_is_wsp, $this->blog_node_id, $this->getId());
198 }
199
200 return true;
201 }
static sendNotification($a_action, $a_in_wsp, $a_blog_node_id, $a_posting_id, $a_comment=null)

References $ilDB, $query, ilPageObject\getActive(), getCreated(), ilPageObject\getId(), getTitle(), IL_CAL_DATETIME, isApproved(), and ilObjBlog\sendNotification().

Referenced by checkApproval(), and unpublish().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateKeywords()

ilBlogPosting::updateKeywords ( array  $keywords)

Definition at line 478 of file class.ilBlogPosting.php.

479 {
480 global $ilUser;
481
482 // language is not "used" anywhere
483 $ulang = $ilUser->getLanguage();
484 $keywords = array($ulang=>$keywords);
485
486 include_once("./Services/MetaData/classes/class.ilMDKeyword.php");
487 ilMDKeyword::updateKeywords($this->getMDSection(), $keywords);
488 }
static updateKeywords(ilMDGeneral $a_md_section, array $a_keywords)
Update keywords from input array.

References $ilUser, getMDSection(), and ilMDKeyword\updateKeywords().

+ Here is the call graph for this function:

Field Documentation

◆ $approved

ilBlogPosting::$approved
protected

Definition at line 21 of file class.ilBlogPosting.php.

Referenced by isApproved().

◆ $author

ilBlogPosting::$author
protected

Definition at line 20 of file class.ilBlogPosting.php.

Referenced by getAuthor().

◆ $blog_node_id

ilBlogPosting::$blog_node_id
protected

Definition at line 18 of file class.ilBlogPosting.php.

◆ $blog_node_is_wsp

ilBlogPosting::$blog_node_is_wsp
protected

Definition at line 19 of file class.ilBlogPosting.php.

◆ $created

ilBlogPosting::$created
protected

Definition at line 17 of file class.ilBlogPosting.php.

Referenced by create(), and getCreated().

◆ $title

ilBlogPosting::$title
protected

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

Referenced by getTitle().


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