本文整理汇总了PHP中Core_Model_Item_Abstract::getHref方法的典型用法代码示例。如果您正苦于以下问题:PHP Core_Model_Item_Abstract::getHref方法的具体用法?PHP Core_Model_Item_Abstract::getHref怎么用?PHP Core_Model_Item_Abstract::getHref使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Core_Model_Item_Abstract
的用法示例。
在下文中一共展示了Core_Model_Item_Abstract::getHref方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: addNotification
/**
* Add a notification
*
* @param User_Model_User $user The user to receive the notification
* @param Core_Model_Item_Abstract $subject The item responsible for causing the notification
* @param Core_Model_Item_Abstract $object Bleh
* @param string $type
* @param array $params
* @return Activity_Model_Notification
*/
public function addNotification(User_Model_User $user, Core_Model_Item_Abstract $subject, Core_Model_Item_Abstract $object, $type, array $params = null)
{
// We may want to check later if a request exists of the same type already
$row = $this->createRow();
$row->user_id = $user->getIdentity();
$row->subject_type = $subject->getType();
$row->subject_id = $subject->getIdentity();
$row->object_type = $object->getType();
$row->object_id = $object->getIdentity();
$row->type = $type;
$row->params = $params;
$row->date = date('Y-m-d H:i:s');
$row->save();
// Try to add row to caching
if (Zend_Registry::isRegistered('Zend_Cache')) {
$cache = Zend_Registry::get('Zend_Cache');
$id = __CLASS__ . '_new_' . $user->getIdentity();
$cache->save(true, $id);
}
// Try to send an email
$notificationSettingsTable = Engine_Api::_()->getDbtable('notificationSettings', 'activity');
if ($notificationSettingsTable->checkEnabledNotification($user, $type) && !empty($user->email)) {
// Main params
$defaultParams = array('host' => $_SERVER['HTTP_HOST'], 'email' => $user->email, 'date' => time(), 'recipient_title' => $user->getTitle(), 'recipient_link' => $user->getHref(), 'recipient_photo' => $user->getPhotoUrl('thumb.icon'), 'sender_title' => $subject->getTitle(), 'sender_link' => $subject->getHref(), 'sender_photo' => $subject->getPhotoUrl('thumb.icon'), 'object_title' => $object->getTitle(), 'object_link' => $object->getHref(), 'object_photo' => $object->getPhotoUrl('thumb.icon'), 'object_description' => $object->getDescription());
// Extra params
try {
$objectParent = $object->getParent();
if ($objectParent && !$objectParent->isSelf($object)) {
$defaultParams['object_parent_title'] = $objectParent->getTitle();
$defaultParams['object_parent_link'] = $objectParent->getHref();
$defaultParams['object_parent_photo'] = $objectParent->getPhotoUrl('thumb.icon');
$defaultParams['object_parent_description'] = $objectParent->getDescription();
}
} catch (Exception $e) {
}
try {
$objectOwner = $object->getParent();
if ($objectOwner && !$objectOwner->isSelf($object)) {
$defaultParams['object_owner_title'] = $objectOwner->getTitle();
$defaultParams['object_owner_link'] = $objectOwner->getHref();
$defaultParams['object_owner_photo'] = $objectOwner->getPhotoUrl('thumb.icon');
$defaultParams['object_owner_description'] = $objectOwner->getDescription();
}
} catch (Exception $e) {
}
// Send
try {
Engine_Api::_()->getApi('mail', 'core')->sendSystem($user, 'notify_' . $type, array_merge($defaultParams, (array) $params));
} catch (Exception $e) {
// Silence exception
}
}
return $row;
}
示例2: getHref
public function getHref()
{
// @todo take directly to the comment
if (isset($this->resource_type)) {
$resource = Engine_Api::_()->getItem($this->resource_type, $this->resource_id);
if ($resource) {
return $resource->getHref() . '#comment-' . $this->comment_id;
} else {
return null;
}
} else {
if (method_exists($this->getTable(), 'getResourceType')) {
$tmp = Engine_Api::_()->getItem($this->getTable()->getResourceType(), $this->resource_id);
if ($tmp) {
return $tmp->getHref() . '#comment-' . $this->comment_id;
} else {
return null;
}
} else {
return parent::getHref();
// @todo fix this
}
}
}