本文整理汇总了PHP中BlockInstance::get_title方法的典型用法代码示例。如果您正苦于以下问题:PHP BlockInstance::get_title方法的具体用法?PHP BlockInstance::get_title怎么用?PHP BlockInstance::get_title使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BlockInstance
的用法示例。
在下文中一共展示了BlockInstance::get_title方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: watchlist_process_notifications
/**
* is called by the cron-job to process the notifications stored into
* watchlist_queue.
*/
function watchlist_process_notifications()
{
$delayMin = get_config('watchlistnotification_delay');
$comparetime = time() - $delayMin * 60;
$sql = "SELECT usr, view, MAX(changed_on) AS time\n FROM {watchlist_queue}\n GROUP BY usr, view";
$results = get_records_sql_array($sql, array());
if (false === $results) {
return;
}
foreach ($results as $viewuserdaterow) {
if ($viewuserdaterow->time > date('Y-m-d H:i:s', $comparetime)) {
continue;
}
// don't send a notification if only blockinstances are referenced
// that were deleted (block exists but corresponding
// block_instance doesn't)
$sendnotification = false;
$blockinstance_ids = get_column('watchlist_queue', 'block', 'usr', $viewuserdaterow->usr, 'view', $viewuserdaterow->view);
if (is_array($blockinstance_ids)) {
$blockinstance_ids = array_unique($blockinstance_ids);
}
$viewuserdaterow->blocktitles = array();
// need to check if view has an owner, group or institution
$view = get_record('view', 'id', $viewuserdaterow->view);
if (empty($view->owner) && empty($view->group) && empty($view->institution)) {
continue;
}
// ignore root pages, owner = 0, this account is not meant to produce content
if (isset($view->owner) && empty($view->owner)) {
continue;
}
foreach ($blockinstance_ids as $blockinstance_id) {
if (empty($blockinstance_id)) {
// if no blockinstance is given, assume that the form itself
// was changed, e.g. the theme, or a block was removed
$sendnotification = true;
continue;
}
require_once get_config('docroot') . 'blocktype/lib.php';
try {
$block = new BlockInstance($blockinstance_id);
} catch (BlockInstanceNotFoundException $exc) {
// maybe the block was deleted
continue;
}
$blocktype = $block->get('blocktype');
$title = '';
// try to get title rendered by plugin-class
safe_require('blocktype', $blocktype);
if (class_exists(generate_class_name('blocktype', $blocktype))) {
$title = $block->get_title();
} else {
log_warn('class for blocktype could not be loaded: ' . $blocktype);
$title = $block->get('title');
}
// if no title was given to the blockinstance, try to get one
// from the artefact
if (empty($title)) {
$configdata = $block->get('configdata');
if (array_key_exists('artefactid', $configdata)) {
try {
$artefact = $block->get_artefact_instance($configdata['artefactid']);
$title = $artefact->get('title');
} catch (Exception $exc) {
log_warn('couldn\'t identify title of blockinstance ' . $block->get('id') . $exc->getMessage());
}
}
}
// still no title, maybe the default-name for the blocktype
if (empty($title)) {
$title = get_string('title', 'blocktype.' . $blocktype);
}
// no title could be retrieved, so let's tell the user at least
// what type of block was changed
if (empty($title)) {
$title = '[' . $blocktype . '] (' . get_string('nonamegiven', 'activity') . ')';
}
$viewuserdaterow->blocktitles[] = $title;
$sendnotification = true;
}
// only send notification if there is something to talk about (don't
// send notification for example when new blockelement was aborted)
if ($sendnotification) {
try {
$watchlistnotification = new ActivityTypeWatchlistnotification($viewuserdaterow, false);
$watchlistnotification->notify_users();
} catch (ViewNotFoundException $exc) {
// Seems like the view has been deleted, don't do anything
} catch (SystemException $exc) {
// if the view that was changed doesn't have an owner
}
}
delete_records('watchlist_queue', 'usr', $viewuserdaterow->usr, 'view', $viewuserdaterow->view);
}
}