当前位置: 首页>>代码示例>>PHP>>正文


PHP Core_Model_Item_Abstract::getParent方法代码示例

本文整理汇总了PHP中Core_Model_Item_Abstract::getParent方法的典型用法代码示例。如果您正苦于以下问题:PHP Core_Model_Item_Abstract::getParent方法的具体用法?PHP Core_Model_Item_Abstract::getParent怎么用?PHP Core_Model_Item_Abstract::getParent使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Core_Model_Item_Abstract的用法示例。


在下文中一共展示了Core_Model_Item_Abstract::getParent方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: getParent

 public function getParent($recurseType = null)
 {
     if ($this->parent_type == 'temporary' || $this->parent_type == 'system') {
         return null;
     } else {
         return parent::getParent($recurseType);
     }
 }
开发者ID:febryantosulistyo,项目名称:ClassicSocial,代码行数:8,代码来源:File.php

示例2: 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;
 }
开发者ID:robeendey,项目名称:ce,代码行数:64,代码来源:Notifications.php

示例3: getActivityAbout

 public function getActivityAbout(Core_Model_Item_Abstract $about, User_Model_User $user, array $params = array())
 {
     // Proc args
     extract($this->_getInfo($params));
     // action_id, limit, min_id, max_id, actionFilter, filterValue
     // Prepare main query
     $streamTable = Engine_Api::_()->getDbtable('stream', 'activity');
     $streamName = $streamTable->info('name');
     $actionTableName = $this->info('name');
     $db = $streamTable->getAdapter();
     $union = new Zend_Db_Select($db);
     // Prepare action types
     $masterActionTypes = Engine_Api::_()->getDbtable('actionTypes', 'activity')->getActionTypes();
     $subjectActionTypes = array();
     $objectActionTypes = array();
     // Filter types based on displayable
     foreach ($masterActionTypes as $type) {
         if ($about->getType() == 'event' && Engine_Api::_()->hasItemType('event') || $about->getType() == 'group' && Engine_Api::_()->hasItemType('group') || $about->getType() == 'ynbusinesspages_business' && Engine_Api::_()->hasItemType('ynbusinesspages_business')) {
             if ($actionFilter == 'owner' && isset($type->is_object_thumb) && !$type->is_object_thumb) {
                 continue;
             }
             if ($actionFilter == 'membership' && isset($type->is_object_thumb) && $type->is_object_thumb) {
                 continue;
             }
         }
         if ($type->displayable & 1) {
             $subjectActionTypes[] = $type->type;
         }
         if ($type->displayable & 2) {
             $objectActionTypes[] = $type->type;
         }
     }
     // Filter types based on user request
     if (isset($showTypes) && is_array($showTypes) && !empty($showTypes)) {
         $subjectActionTypes = array_intersect($subjectActionTypes, $showTypes);
         $objectActionTypes = array_intersect($objectActionTypes, $showTypes);
     } else {
         if (isset($hideTypes) && is_array($hideTypes) && !empty($hideTypes)) {
             $subjectActionTypes = array_diff($subjectActionTypes, $hideTypes);
             $objectActionTypes = array_diff($objectActionTypes, $hideTypes);
         }
     }
     // Nothing to show
     if (empty($subjectActionTypes) && empty($objectActionTypes)) {
         return null;
     }
     if (empty($subjectActionTypes)) {
         $subjectActionTypes = null;
     } else {
         if (count($subjectActionTypes) == count($masterActionTypes)) {
             $subjectActionTypes = true;
         } else {
             $subjectActionTypes = "'" . join("', '", $subjectActionTypes) . "'";
         }
     }
     if (empty($objectActionTypes)) {
         $objectActionTypes = null;
     } else {
         if (count($objectActionTypes) == count($masterActionTypes)) {
             $objectActionTypes = true;
         } else {
             $objectActionTypes = "'" . join("', '", $objectActionTypes) . "'";
         }
     }
     // Prepare sub queries
     $event = Engine_Hooks_Dispatcher::getInstance()->callEvent('getActivity', array('for' => $user, 'about' => $about));
     $responses = (array) $event->getResponses();
     if (empty($responses)) {
         return null;
     }
     $friendsFlage = false;
     $action_ids = array();
     // Filter by hashtag
     if ($actionFilter == 'hashtag' && !empty($filterValue)) {
         $action_ids = Engine_Api::_()->getDbtable('hashtags', 'ynfeed')->getHashtagFeeds($filterValue, array(), array('limit' => $limit, 'max_id' => $max_id));
         if (empty($action_ids)) {
             return null;
         }
     }
     // Filter by login as business post
     if ($actionFilter == 'business') {
         $select = $this->select()->where('`subject_type` = ?', 'ynbusinesspages_business')->where('subject_id', $about->getIdentity())->limit($limit);
         if (null !== $max_id) {
             $select->where('action_id <= ?', $max_id);
         }
         $data = $select->query()->fetchAll();
         foreach ($data as $row) {
             $action_ids[] = $row['action_id'];
         }
         if (empty($action_ids)) {
             return null;
         }
     }
     $member_ids = array();
     if ($actionFilter == 'owner') {
         if ($about instanceof User_Model_User) {
             $member_ids[] = $about->getIdentity();
         } elseif ($about instanceof Group_Model_Group || $about instanceof Advgroup_Model_Group) {
             $objectParent = $about->getParent('user');
             if ($objectParent instanceof User_Model_User) {
//.........这里部分代码省略.........
开发者ID:hoalangoc,项目名称:ftf,代码行数:101,代码来源:Actions.php


注:本文中的Core_Model_Item_Abstract::getParent方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。