ILIAS  release_4-3 Revision
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilObjBlog Class Reference

Class ilObjBlog. More...

+ Inheritance diagram for ilObjBlog:
+ Collaboration diagram for ilObjBlog:

Public Member Functions

 initType ()
 getNotesStatus ()
 Get notes status.
 setNotesStatus ($a_status)
 Toggle notes status.
 hasProfilePicture ()
 Get profile picture status.
 setProfilePicture ($a_status)
 Toggle profile picture status.
 getBackgroundColor ()
 Get background color.
 setBackgroundColor ($a_value)
 Set background color.
 getFontColor ()
 Get font color.
 setFontColor ($a_value)
 Set font color.
 getImage ()
 Get banner image.
 setImage ($a_value)
 Set banner image.
 getImageFullPath ($a_as_thumb=false)
 Get banner image incl.
 deleteImage ()
 remove existing file
 uploadImage (array $a_upload)
 Upload new image file.
 hasRSS ()
 Get RSS status.
 setRSS ($a_status)
 Toggle RSS status.
 hasApproval ()
 Get approval status.
 setApproval ($a_status)
 Toggle approval status.
 getParentContainerId ($a_node_id)
 Get object id of parent course/group.
 getParentMemberIds ($a_node_id)
 Get parent members object.
 initDefaultRoles ()
 init default roles settings Purpose of this function is to create a local role folder and local roles, that are needed depending on the object type If you want to setup default local roles you MUST overwrite this method in derived object classes (see ilObjForum for an example) public
 getLocalContributorRole ($a_node_id)
 Get object id of local contributor role.
 getRolesWithContribute ($a_node_id)
- Public Member Functions inherited from ilObject2
 __construct ($a_id=0, $a_reference=true)
 Constructor public.
 withReferences ()
 determines wehter objects are referenced or not (got ref ids or not)
 read ($a_force_db=false)
 Read data from db.
 getId ()
 get object id public
 setId ($a_id)
 set object id public
 setRefId ($a_id)
 set reference id public
 getRefId ()
 get reference id public
 getType ()
 get object type public
 setType ($a_type)
 set object type public
 getPresentationTitle ()
 get presentation title Normally same as title Overwritten for sessions
 getTitle ()
 get object title public
 getUntranslatedTitle ()
 get untranslated object title public
 setTitle ($a_title)
 set object title
 getDescription ()
 get object description
 setDescription ($a_desc)
 set object description
 getLongDescription ()
 get object long description (stored in object_description)
 getImportId ()
 get import id
 setImportId ($a_import_id)
 set import id
 getOwner ()
 get object owner
 getOwnerName ()
 _lookupOwnerName ($a_owner_id)
 lookup owner name for owner id
 setOwner ($a_owner)
 set object owner
 getCreateDate ()
 get create date public
 getLastUpdateDate ()
 get last update date public
 setObjDataRecord ($a_record)
 set object_data record (note: this method should only be called from the ilObjectFactory class)
 create ($a_clone_mode=false)
 update ()
 update object in db
 MDUpdateListener ($a_element)
 Meta data update listener.
 createMetaData ()
 create meta data entry
 updateMetaData ()
 update meta data entry
 deleteMetaData ()
 delete meta data entry
 updateOwner ()
 update owner of object in db
 _getIdForImportId ($a_import_id)
 get current object id for import id (static)
 _lookupOwner ($a_id)
 lookup object owner
 _lookupLastUpdate ($a_id, $a_as_string=false)
 lookup last update
 _getLastUpdateOfObjects ($a_objs)
 Get last update for a set of media objects.
 _setDeletedDate ($a_ref_id)
 only called in ilTree::saveSubTree
 _resetDeletedDate ($a_ref_id)
 only called in ilObjectGUI::insertSavedNodes
 _lookupDeletedDate ($a_ref_id)
 only called in ilObjectGUI::insertSavedNodes
 _writeTitle ($a_obj_id, $a_title)
 write title to db (static)
 _writeDescription ($a_obj_id, $a_desc)
 write description to db (static)
 _writeImportId ($a_obj_id, $a_import_id)
 write import id to db (static)
 _isInTrash ($a_ref_id)
 checks wether object is in trash
 _hasUntrashedReference ($a_obj_id)
 checks wether an object has at least one reference that is not in trash
 _getObjectsDataForType ($a_type, $a_omit_trash=false)
 get all objects of a certain type
 putInTree ($a_parent_ref)
 maybe this method should be in tree object!?
 setPermissions ($a_parent_ref)
 set permissions of object
 createReference ()
 creates reference for object
 countReferences ()
 count references of object
 delete ()
 delete object or referenced object (in the case of a referenced object, object data is only deleted if last reference is deleted) This function removes an object entirely from system!!
 createRoleFolder ()
 creates a local role folder
 _exists ($a_id, $a_reference=false)
 checks if an object exists in object_data
 notify ($a_event, $a_ref_id, $a_parent_non_rbac_id, $a_node_id, $a_params=0)
 notifys an object about an event occured Based on the event passed, each object may decide how it reacts.
 setRegisterMode ($a_bool)
 isUserRegistered ($a_user_id=0)
 requireRegistration ()
 appendCopyInfo ($a_target_id, $a_copy_id)
 Prepend Copy info if object with same name exists in that container.
 cloneMetaData ($target_obj)
 Copy meta data.
 cloneObject ($a_target_id, $a_copy_id=null, $a_omit_tree=false)
 Clone object permissions, put in tree ...
 cloneDependencies ($a_target_id, $a_copy_id)
 Clone object dependencies.
- Public Member Functions inherited from ilObject
 ilObject ($a_id=0, $a_reference=true)
 Constructor public.
 getDiskUsage ()
 Gets the disk usage of the object in bytes.
 create ()
 create
 applyDidacticTemplate ($a_tpl_id)
 Apply template.
 getXMLZip ()
 getHTMLDirectory ()
 _lookupCreationDate ($a_id)
 Lookup creation date.

Static Public Member Functions

static initStorage ($a_id, $a_subdir=null)
 Init file system storage.
static sendNotification ($a_action, $a_in_wsp, $a_blog_node_id, $a_posting_id, $a_comment=null)
static deliverRSS ($a_wsp_id)
 Deliver blog as rss feed.
- Static Public Member Functions inherited from ilObject2
static _lookupObjIdByImportId ($a_import_id)
static _getAllReferences ($a_id)
 get all reference ids of object
static _lookupTitle ($a_id)
 lookup object title
static _getIdsForTitle ($title, $type= '', $partialmatch=false)
static _lookupDescription ($a_id)
 lookup object description
static _lookupObjId ($a_id)
static _lookupType ($a_id, $a_reference=false)
 lookup object type
static _lookupObjectId ($a_ref_id)
 lookup object id
static _getObjectsByType ($a_obj_type="", $a_owner="")
 Get objects by type.
static _prepareCloneSelection ($a_ref_ids, $new_type)
static _getIcon ($a_obj_id="", $a_size="big", $a_type="", $a_offline=false)
 Get icon for repository item.
- Static Public Member Functions inherited from ilObject
static _prepareCloneSelection ($a_ref_ids, $new_type, $show_path=true)
 Prepare copy wizard object selection.
static collectDeletionDependencies (&$deps, $a_ref_id, $a_obj_id, $a_type, $a_depth=0)
 Collect deletion dependencies.
static getDeletionDependencies ($a_obj_id)
 Get deletion dependencies.
static getLongDescriptions (array $a_obj_ids)
 Get long description data.
static getAllOwnedRepositoryObjects ($a_user_id)
 Get all ids of objects user owns.

Protected Member Functions

 doRead ()
 doCreate ()
 doDelete ()
 doUpdate ()
- Protected Member Functions inherited from ilObject2
 beforeCreate ()
 beforeUpdate ()
 doMDUpdateListener ($a_element)
 beforeMDUpdateListener ($a_element)
 doCreateMetaData ()
 beforeCreateMetaData ()
 doUpdateMetaData ()
 beforeUpdateMetaData ()
 beforeDelete ()
 doCloneObject ($new_obj, $a_target_id, $a_copy_id=null)
 beforeCloneObject ()

Protected Attributes

 $notes
 $bg_color
 $font_color
 $img
 $ppic
 $rss
 $approval

Additional Inherited Members

- Data Fields inherited from ilObject
const TITLE_LENGTH = 128
 max length of object title
 $ilias
 $lng
 $id
 $ref_id
 $type
 $title
 $untranslatedTitle
 $desc
 $long_desc
 $owner
 $create_date
 $last_update
 $import_id
 $register = false
 $referenced
 $objectList
 $max_title
 $max_desc
 $add_dots
 $obj_data_record
 object_data record

Detailed Description

Class ilObjBlog.

Author
Jörg Lützenkirchen luetz.nosp@m.enki.nosp@m.rchen.nosp@m.@lei.nosp@m.fos.c.nosp@m.om
Version
Id:
class.ilObjFolder.php 25528 2010-09-03 10:37:11Z smeyer

Definition at line 15 of file class.ilObjBlog.php.

Member Function Documentation

ilObjBlog::deleteImage ( )

remove existing file

Definition at line 225 of file class.ilObjBlog.php.

References setImage().

Referenced by doDelete(), and uploadImage().

{
if($this->id)
{
include_once "Modules/Blog/classes/class.ilFSStorageBlog.php";
$storage = new ilFSStorageBlog($this->id);
$storage->delete();
$this->setImage(null);
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static ilObjBlog::deliverRSS (   $a_wsp_id)
static

Deliver blog as rss feed.

Parameters
int$a_wsp_id

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

References ilObject\$id, $ilSetting, $tpl, ilLink\_getStaticLink(), ilPageObject\_lookupActive(), ilObject2\_lookupObjId(), exit, ilBlogPosting\getAllPostings(), ilBlogPostingGUI\getSnippet(), and IL_CAL_DATETIME.

{
global $tpl, $ilSetting;
if(!$ilSetting->get('enable_global_profiles'))
{
return;
}
// #10827
if(substr($a_wsp_id, -4) != "_cll")
{
include_once "Services/PersonalWorkspace/classes/class.ilWorkspaceTree.php";
$wsp_id = new ilWorkspaceTree(0);
$obj_id = $wsp_id->lookupObjectId($a_wsp_id);
$is_wsp = "_wsp";
}
else
{
$a_wsp_id = substr($a_wsp_id, 0, -4);
$obj_id = ilObject::_lookupObjId($a_wsp_id);
$is_wsp = null;
}
if(!$obj_id)
{
return;
}
$blog = new self($obj_id, false);
if(!$blog->hasRSS())
{
return;
}
include_once "Services/Feeds/classes/class.ilFeedWriter.php";
$feed = new ilFeedWriter();
include_once "Services/Link/classes/class.ilLink.php";
$url = ilLink::_getStaticLink($a_wsp_id, "blog", true, $is_wsp);
$url = str_replace("&", "&", $url);
// #11870
$feed->setChannelTitle(str_replace("&", "&", $blog->getTitle()));
$feed->setChannelDescription(str_replace("&", "&", $blog->getDescription()));
$feed->setChannelLink($url);
// needed for blogpostinggui / pagegui
$tpl = new ilTemplate("tpl.main.html", true, true);
include_once("./Modules/Blog/classes/class.ilBlogPosting.php");
include_once("./Modules/Blog/classes/class.ilBlogPostingGUI.php");
foreach(ilBlogPosting::getAllPostings($obj_id) as $item)
{
$id = $item["id"];
// only published items
$is_active = ilBlogPosting::_lookupActive($id, "blp");
if(!$is_active)
{
continue;
}
$snippet = strip_tags(ilBlogPostingGUI::getSnippet($id));
$snippet = str_replace("&", "&", $snippet);
$url = ilLink::_getStaticLink($a_wsp_id, "blog", true, "_".$id.$is_wsp);
$url = str_replace("&", "&", $url);
$feed_item = new ilFeedItem();
$feed_item->setTitle($item["title"]);
$feed_item->setDate($item["created"]->get(IL_CAL_DATETIME));
$feed_item->setDescription($snippet);
$feed_item->setLink($url);
$feed_item->setAbout($url);
$feed->addItem($feed_item);
}
$feed->showFeed();
exit();
}

+ Here is the call graph for this function:

ilObjBlog::doCreate ( )
protected

Reimplemented from ilObject2.

Definition at line 46 of file class.ilObjBlog.php.

{
global $ilDB;
$ilDB->manipulate("INSERT INTO il_blog (id,notes,ppic,rss_active,approval) VALUES (".
$ilDB->quote($this->id, "integer").",".
$ilDB->quote(true, "integer").",".
$ilDB->quote(true, "integer").",".
$ilDB->quote(true, "integer").",".
$ilDB->quote(false, "integer").")");
}
ilObjBlog::doDelete ( )
protected

Reimplemented from ilObject2.

Definition at line 58 of file class.ilObjBlog.php.

References ilBlogPosting\deleteAllBlogPostings(), deleteImage(), ilNotification\removeForObject(), and ilNotification\TYPE_BLOG.

{
global $ilDB;
$this->deleteImage();
include_once "Modules/Blog/classes/class.ilBlogPosting.php";
// remove all notifications
include_once "./Services/Notification/classes/class.ilNotification.php";
$ilDB->manipulate("DELETE FROM il_blog".
" WHERE id = ".$ilDB->quote($this->id, "integer"));
}

+ Here is the call graph for this function:

ilObjBlog::doRead ( )
protected

Reimplemented from ilObject2.

Definition at line 30 of file class.ilObjBlog.php.

References $row, setApproval(), setBackgroundColor(), setFontColor(), setImage(), setNotesStatus(), setProfilePicture(), and setRSS().

{
global $ilDB;
$set = $ilDB->query("SELECT * FROM il_blog".
" WHERE id = ".$ilDB->quote($this->id, "integer"));
$row = $ilDB->fetchAssoc($set);
$this->setNotesStatus((bool)$row["notes"]);
$this->setProfilePicture((bool)$row["ppic"]);
$this->setBackgroundColor($row["bg_color"]);
$this->setFontColor($row["font_color"]);
$this->setImage($row["img"]);
$this->setRSS($row["rss_active"]);
$this->setApproval($row["approval"]);
}

+ Here is the call graph for this function:

ilObjBlog::doUpdate ( )
protected

Reimplemented from ilObject2.

Definition at line 75 of file class.ilObjBlog.php.

{
global $ilDB;
if($this->id)
{
$ilDB->manipulate("UPDATE il_blog".
" SET notes = ".$ilDB->quote($this->getNotesStatus(), "integer").
",ppic = ".$ilDB->quote($this->hasProfilePicture(), "integer").
",bg_color = ".$ilDB->quote($this->getBackgroundColor(), "text").
",font_color = ".$ilDB->quote($this->getFontcolor(), "text").
",img = ".$ilDB->quote($this->getImage(), "text").
",rss_active = ".$ilDB->quote($this->hasRSS(), "integer").
",approval = ".$ilDB->quote($this->hasApproval(), "integer").
" WHERE id = ".$ilDB->quote($this->id, "integer"));
}
}
ilObjBlog::getBackgroundColor ( )

Get background color.

Returns
string

Definition at line 138 of file class.ilObjBlog.php.

References $bg_color.

{
if(!$this->bg_color)
{
$this->bg_color = "ffffff";
}
}
ilObjBlog::getFontColor ( )

Get font color.

Returns
string

Definition at line 162 of file class.ilObjBlog.php.

References $font_color.

{
if(!$this->font_color)
{
$this->font_color = "505050";
}
}
ilObjBlog::getImage ( )

Get banner image.

Returns
string

Definition at line 186 of file class.ilObjBlog.php.

References $img.

{
return $this->img;
}
ilObjBlog::getImageFullPath (   $a_as_thumb = false)

Get banner image incl.

path

Parameters
bool$a_as_thumb

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

References $img, $path, and initStorage().

{
if($this->img)
{
$path = $this->initStorage($this->id);
if(!$a_as_thumb)
{
return $path.$this->img;
}
else
{
return $path."thb_".$this->img;
}
}
}

+ Here is the call graph for this function:

ilObjBlog::getLocalContributorRole (   $a_node_id)

Get object id of local contributor role.

Parameters
int$a_node_id
Returns
int

Definition at line 672 of file class.ilObjBlog.php.

References ilObject\_lookupTitle().

Referenced by getRolesWithContribute().

{
global $rbacreview;
foreach($rbacreview->getLocalRoles($a_node_id) as $role_id)
{
if(substr(ilObject::_lookupTitle($role_id), 0, 19) == "il_blog_contributor")
{
return $role_id;
}
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjBlog::getNotesStatus ( )

Get notes status.

Returns
bool

Definition at line 98 of file class.ilObjBlog.php.

References $notes.

{
return $this->notes;
}
ilObjBlog::getParentContainerId (   $a_node_id)

Get object id of parent course/group.

Parameters
int$a_node_id
Returns
int

Definition at line 587 of file class.ilObjBlog.php.

Referenced by getParentMemberIds().

{
global $tree;
$crs_id = $tree->checkForParentType($a_node_id, "crs");
if($crs_id)
{
return $crs_id;
}
$grp_id = $tree->checkForParentType($a_node_id, "grp");
if($grp_id)
{
return $grp_id;
}
}

+ Here is the caller graph for this function:

ilObjBlog::getParentMemberIds (   $a_node_id)

Get parent members object.

Parameters
int$a_node_id
Returns
array

Definition at line 610 of file class.ilObjBlog.php.

References ilObject\_lookupObjId(), ilObject\_lookupType(), and getParentContainerId().

{
$container_id = $this->getParentContainerId($a_node_id);
if($container_id)
{
$members = null;
if(ilObject::_lookupType($container_id) == "crs")
{
include_once "Modules/Course/classes/class.ilCourseParticipants.php";
$members = new ilCourseParticipants(ilObject::_lookupObjId($container_id));
}
else
{
include_once "Modules/Group/classes/class.ilGroupParticipants.php";
$members = new ilGroupParticipants(ilObject::_lookupObjId($container_id));
}
// :TODO: review limit, members vs. participants
if($members && $members->getCountParticipants() < 100)
{
return $members->getParticipants();
}
}
}

+ Here is the call graph for this function:

ilObjBlog::getRolesWithContribute (   $a_node_id)

Definition at line 685 of file class.ilObjBlog.php.

References $res, ilRbacReview\_getOperationIdByName(), ilObjRole\_getTranslation(), and getLocalContributorRole().

{
global $rbacreview;
include_once "Services/AccessControl/classes/class.ilObjRole.php";
$contr_op_id = ilRbacReview::_getOperationIdByName("contribute");
$contr_role_id = $this->getLocalContributorRole($a_node_id);
$res = array();
foreach($rbacreview->getParentRoleIds($a_node_id) as $role_id => $role)
{
if($role_id != $contr_role_id &&
in_array($contr_op_id, $rbacreview->getActiveOperationsOfRole($a_node_id, $role_id)))
{
$res[$role_id] = ilObjRole:: _getTranslation($role["title"]);
}
}
return $res;
}

+ Here is the call graph for this function:

ilObjBlog::hasApproval ( )

Get approval status.

Returns
bool

Definition at line 335 of file class.ilObjBlog.php.

References $approval.

{
return (bool)$this->approval;
}
ilObjBlog::hasProfilePicture ( )

Get profile picture status.

Returns
bool

Definition at line 118 of file class.ilObjBlog.php.

References $ppic.

{
return $this->ppic;
}
ilObjBlog::hasRSS ( )

Get RSS status.

Returns
bool

Definition at line 315 of file class.ilObjBlog.php.

References $rss.

{
return $this->rss;
}
ilObjBlog::initDefaultRoles ( )

init default roles settings Purpose of this function is to create a local role folder and local roles, that are needed depending on the object type If you want to setup default local roles you MUST overwrite this method in derived object classes (see ilObjForum for an example) public

Returns
array empty array

Reimplemented from ilObject2.

Definition at line 636 of file class.ilObjBlog.php.

References $res, ilObject2\createRoleFolder(), ilObject2\getId(), and ilObject2\getRefId().

{
global $rbacadmin, $rbacreview, $ilDB;
// SET PERMISSION TEMPLATE OF NEW LOCAL CONTRIBUTOR ROLE
$set = $ilDB->query("SELECT obj_id FROM object_data ".
" WHERE type=".$ilDB->quote("rolt", "text").
" AND title=".$ilDB->quote("il_blog_contributor", "text"));
$res = $ilDB->fetchAssoc($set);
if($res["obj_id"])
{
$rolf_obj = $this->createRoleFolder();
// CREATE ADMIN ROLE
$role_obj = $rolf_obj->createRole("il_blog_contributor_".$this->getRefId(),
"Contributor of blog obj_no.".$this->getId());
$rbacadmin->copyRoleTemplatePermissions($res["obj_id"], ROLE_FOLDER_ID,
$rolf_obj->getRefId(), $role_obj->getId());
// SET OBJECT PERMISSIONS OF BLOG OBJECT
$ops = $rbacreview->getOperationsOfRole($role_obj->getId(), "blog", $rolf_obj->getRefId());
$rbacadmin->grantPermission($role_obj->getId(), $ops, $this->getRefId());
return true;
}
return false;
}

+ Here is the call graph for this function:

static ilObjBlog::initStorage (   $a_id,
  $a_subdir = null 
)
static

Init file system storage.

Parameters
type$a_id
type$a_subdir
Returns
string

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

References $path.

Referenced by getImageFullPath(), ilBlogDataSet\getXmlRecord(), ilBlogDataSet\importRecord(), and uploadImage().

{
include_once "Modules/Blog/classes/class.ilFSStorageBlog.php";
$storage = new ilFSStorageBlog($a_id);
$storage->create();
$path = $storage->getAbsolutePath()."/";
if($a_subdir)
{
$path .= $a_subdir."/";
if(!is_dir($path))
{
mkdir($path);
}
}
return $path;
}

+ Here is the caller graph for this function:

ilObjBlog::initType ( )

Reimplemented from ilObject2.

Definition at line 25 of file class.ilObjBlog.php.

{
$this->type = "blog";
}
static ilObjBlog::sendNotification (   $a_action,
  $a_in_wsp,
  $a_blog_node_id,
  $a_posting_id,
  $a_comment = null 
)
static

Definition at line 350 of file class.ilObjBlog.php.

References $ilUser, ilLanguageFactory\_getLanguageOfUser(), ilLink\_getStaticLink(), ilObjUser\_lookupFullname(), ilObjUser\_lookupLogin(), ilObject2\_lookupObjId(), ilObject2\_lookupTitle(), ilWorkspaceAccessHandler\getGotoLink(), ilUserUtil\getNamePresentation(), ilNotification\getNotificationsForObject(), ilWorkspaceTree\lookupObjectId(), ilNotification\TYPE_BLOG, and ilNotification\updateNotificationTime().

Referenced by ilBlogPostingGUI\activatePage(), ilBlogPostingGUI\observeNoteAction(), and ilBlogPosting\update().

{
global $ilUser, $ilAccess;
// get blog object id (repository or workspace)
if($a_in_wsp)
{
include_once "Services/PersonalWorkspace/classes/class.ilWorkspaceTree.php";
include_once "Services/PersonalWorkspace/classes/class.ilWorkspaceAccessHandler.php";
$tree = new ilWorkspaceTree($ilUser->getId()); // owner of tree is irrelevant
$blog_obj_id = $tree->lookupObjectId($a_blog_node_id);
$access_handler = new ilWorkspaceAccessHandler($tree);
$link = ilWorkspaceAccessHandler::getGotoLink($a_blog_node_id, $blog_obj_id, "_".$a_posting_id);
}
else
{
$blog_obj_id = ilObject::_lookupObjId($a_blog_node_id);
$access_handler = null;
include_once "Services/Link/classes/class.ilLink.php";
$link = ilLink::_getStaticLink($a_blog_node_id, "blog", true , "_".$a_posting_id);
}
if(!$blog_obj_id)
{
return;
}
include_once "./Modules/Blog/classes/class.ilBlogPosting.php";
$posting = new ilBlogPosting($a_posting_id);
// #11138
$ignore_threshold = ($a_action == "comment");
// approval handling
$admin_only = false;
if(!$posting->isApproved())
{
$blog = new self($blog_obj_id, false);
if($blog->hasApproval())
{
switch($a_action)
{
case "update":
// un-approved posting was updated - no notifications
return;
case "new":
// un-approved posting was activated - admin-only notification
$admin_only = true;
$ignore_threshold = true;
break;
}
}
}
// recipients
include_once "./Services/Notification/classes/class.ilNotification.php";
$blog_obj_id, $a_posting_id, $ignore_threshold);
if(!sizeof($users))
{
return;
}
// send mails
include_once "./Services/Mail/classes/class.ilMail.php";
include_once "./Services/User/classes/class.ilObjUser.php";
include_once "./Services/Language/classes/class.ilLanguageFactory.php";
include_once("./Services/User/classes/class.ilUserUtil.php");
$posting_title = $posting->getTitle();
$blog_title = ilObject::_lookupTitle($blog_obj_id);
$author = $posting->getAuthor();
$notified = array();
foreach(array_unique($users) as $idx => $user_id)
{
// the user responsible for the action should not be notified
if($user_id == $ilUser->getId())
{
continue;
}
// workspace
if($access_handler)
{
if($admin_only &&
!$access_handler->checkAccessOfUser($tree, $user_id, 'write', '', $a_blog_node_id))
{
continue;
}
if(!$access_handler->checkAccessOfUser($tree, $user_id, 'read', '', $a_blog_node_id))
{
continue;
}
}
// repository
else
{
if($admin_only &&
!$ilAccess->checkAccessOfUser($user_id, 'write', '', $a_blog_node_id))
{
continue;
}
if(!$ilAccess->checkAccessOfUser($user_id, 'read', '', $a_blog_node_id))
{
continue;
}
}
// use language of recipient to compose message
$ulng->loadLanguageModule('blog');
$subject = sprintf($ulng->txt('blog_change_notification_subject'), $blog_title);
$message = sprintf($ulng->txt('blog_change_notification_salutation'), ilObjUser::_lookupFullname($user_id))."\n\n";
$message .= $ulng->txt('blog_change_notification_body_'.$a_action).":\n\n";
$message .= $ulng->txt('obj_blog').": ".$blog_title."\n";
$message .= $ulng->txt('blog_posting').": ".$posting_title."\n";
$message .= $ulng->txt('blog_changed_by').": ".ilUserUtil::getNamePresentation($ilUser->getId())."\n";
if($a_comment)
{
$message .= "\n".$ulng->txt('comment').":\n\"".trim($a_comment)."\"\n";
}
$message .= "\n".$ulng->txt('blog_change_notification_link').": ".$link;
$mail_obj = new ilMail(ANONYMOUS_USER_ID);
$mail_obj->appendInstallationSignature(true);
$mail_obj->sendMail(ilObjUser::_lookupLogin($user_id),
"", "", $subject, $message, array(), array("system"));
$notified[] = $user_id;
}
if(sizeof($notified))
{
// #14387
ilNotification::updateNotificationTime(ilNotification::TYPE_BLOG, $blog_obj_id, $notified, $a_posting_id);
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjBlog::setApproval (   $a_status)

Toggle approval status.

Parameters
bool$a_status

Definition at line 345 of file class.ilObjBlog.php.

Referenced by doRead().

{
$this->approval = (bool)$a_status;
}

+ Here is the caller graph for this function:

ilObjBlog::setBackgroundColor (   $a_value)

Set background color.

Parameters
string$a_value

Definition at line 152 of file class.ilObjBlog.php.

Referenced by doRead().

{
$this->bg_color = (string)$a_value;
}

+ Here is the caller graph for this function:

ilObjBlog::setFontColor (   $a_value)

Set font color.

Parameters
string$a_value

Definition at line 176 of file class.ilObjBlog.php.

Referenced by doRead().

{
$this->font_color = (string)$a_value;
}

+ Here is the caller graph for this function:

ilObjBlog::setImage (   $a_value)

Set banner image.

Parameters
string$a_value

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

Referenced by deleteImage(), doRead(), and uploadImage().

{
$this->img = (string)$a_value;
}

+ Here is the caller graph for this function:

ilObjBlog::setNotesStatus (   $a_status)

Toggle notes status.

Parameters
bool$a_status

Definition at line 108 of file class.ilObjBlog.php.

Referenced by doRead().

{
$this->notes = (bool)$a_status;
}

+ Here is the caller graph for this function:

ilObjBlog::setProfilePicture (   $a_status)

Toggle profile picture status.

Parameters
bool$a_status

Definition at line 128 of file class.ilObjBlog.php.

Referenced by doRead().

{
$this->ppic = (bool)$a_status;
}

+ Here is the caller graph for this function:

ilObjBlog::setRSS (   $a_status)

Toggle RSS status.

Parameters
bool$a_status

Definition at line 325 of file class.ilObjBlog.php.

Referenced by doRead().

{
$this->rss = (bool)$a_status;
}

+ Here is the caller graph for this function:

ilObjBlog::uploadImage ( array  $a_upload)

Upload new image file.

Parameters
array$a_upload
Returns
bool

Definition at line 271 of file class.ilObjBlog.php.

References $path, deleteImage(), ilUtil\escapeShellArg(), ilUtil\execConvert(), initStorage(), and setImage().

{
if(!$this->id)
{
return false;
}
$this->deleteImage();
// #10074
$clean_name = preg_replace("/[^a-zA-Z0-9\_\.\-]/", "", $a_upload["name"]);
$path = $this->initStorage($this->id);
$original = "org_".$this->id."_".$clean_name;
$thumb = "thb_".$this->id."_".$clean_name;
$processed = $this->id."_".$clean_name;
if(@move_uploaded_file($a_upload["tmp_name"], $path.$original))
{
chmod($path.$original, 0770);
$blga_set = new ilSetting("blga");
$dimensions = $blga_set->get("banner_width")."x".
$blga_set->get("banner_height");
// take quality 100 to avoid jpeg artefacts when uploading jpeg files
// taking only frame [0] to avoid problems with animated gifs
$original_file = ilUtil::escapeShellArg($path.$original);
$thumb_file = ilUtil::escapeShellArg($path.$thumb);
$processed_file = ilUtil::escapeShellArg($path.$processed);
ilUtil::execConvert($original_file."[0] -geometry 100x100 -quality 100 JPEG:".$thumb_file);
ilUtil::execConvert($original_file."[0] -geometry ".$dimensions."! -quality 100 JPEG:".$processed_file);
$this->setImage($processed);
return true;
}
return false;
}

+ Here is the call graph for this function:

Field Documentation

ilObjBlog::$approval
protected

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

Referenced by hasApproval().

ilObjBlog::$bg_color
protected

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

Referenced by getBackgroundColor().

ilObjBlog::$font_color
protected

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

Referenced by getFontColor().

ilObjBlog::$img
protected

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

Referenced by getImage(), and getImageFullPath().

ilObjBlog::$notes
protected

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

Referenced by getNotesStatus().

ilObjBlog::$ppic
protected

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

Referenced by hasProfilePicture().

ilObjBlog::$rss
protected

Definition at line 22 of file class.ilObjBlog.php.

Referenced by hasRSS().


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