• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP ElggEntity类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: advanced_notifications_is_registered_notification_entity

/**
 * Checks if the given $entity is registered for notifications by
 * register_notification_object()
 *
 * @param ElggEntity $entity  the entity to check
 * @param bool       $subject return the subject string (default=false)
 *
 * @return bool|string
 */
function advanced_notifications_is_registered_notification_entity(ElggEntity $entity, $subject = false)
{
    $result = false;
    if (!empty($entity) && $entity instanceof ElggEntity) {
        $type = $entity->getType();
        if (empty($type)) {
            $type = "__BLANK__";
        }
        $subtype = $entity->getSubtype();
        if (empty($subtype)) {
            $subtype = "__BLANK__";
        }
        // get the registered entity -> type/subtype
        $notifications = elgg_get_config("register_objects");
        if (!empty($notifications) && is_array($notifications)) {
            if (isset($notifications[$type]) && isset($notifications[$type][$subtype])) {
                if ($subject) {
                    $result = $notifications[$type][$subtype];
                } else {
                    $result = true;
                }
            }
        }
    }
    return $result;
}
开发者ID:juliendangers,项目名称:advanced_notifications,代码行数:35,代码来源:functions.php


示例2: pages_register_navigation_tree

/**
 * Register the navigation menu
 * 
 * @param ElggEntity $container Container entity for the pages
 */
function pages_register_navigation_tree($container)
{
    if (!$container) {
        return;
    }
    $top_pages = elgg_get_entities(array('type' => 'object', 'subtype' => 'page_top', 'container_guid' => $container->getGUID(), 'limit' => 0));
    if (!$top_pages) {
        return;
    }
    foreach ($top_pages as $page) {
        elgg_register_menu_item('pages_nav', array('name' => $page->getGUID(), 'text' => $page->title, 'href' => $page->getURL()));
        $stack = array();
        array_push($stack, $page);
        while (count($stack) > 0) {
            $parent = array_pop($stack);
            $children = elgg_get_entities_from_metadata(array('type' => 'object', 'subtype' => 'page', 'metadata_name' => 'parent_guid', 'metadata_value' => $parent->getGUID(), 'limit' => 0));
            if ($children) {
                foreach ($children as $child) {
                    elgg_register_menu_item('pages_nav', array('name' => $child->getGUID(), 'text' => $child->title, 'href' => $child->getURL(), 'parent_name' => $parent->getGUID()));
                    array_push($stack, $child);
                }
            }
        }
    }
}
开发者ID:nogsus,项目名称:Elgg,代码行数:30,代码来源:pages.php


示例3: questions_workflow_enabled

/**
 * This function checks if the questions workflow is enabled in the plugin settings and for the given container
 *
 * @return bool true is enabled, false otherwise
 */
function questions_workflow_enabled(ElggEntity $container = null)
{
    if ($container && $container instanceof ElggGroup) {
        return $container->getPrivateSetting('questions_workflow_enabled') == "yes";
    }
    return elgg_get_plugin_setting("workflow_enabled", "questions") == "yes";
}
开发者ID:Pleio,项目名称:questions,代码行数:12,代码来源:functions.php


示例4: pages_get_navigation_tree

/**
 * Produce the navigation tree
 * 
 * @param ElggEntity $container Container entity for the pages
 *
 * @return array
 */
function pages_get_navigation_tree($container)
{
    if (!$container) {
        return;
    }
    $top_pages = elgg_get_entities(array('type' => 'object', 'subtype' => 'page_top', 'container_guid' => $container->getGUID(), 'limit' => 0));
    if (!$top_pages) {
        return;
    }
    /* @var ElggObject[] $top_pages */
    $tree = array();
    $depths = array();
    foreach ($top_pages as $page) {
        $tree[] = array('guid' => $page->getGUID(), 'title' => $page->title, 'url' => $page->getURL(), 'depth' => 0);
        $depths[$page->guid] = 0;
        $stack = array();
        array_push($stack, $page);
        while (count($stack) > 0) {
            $parent = array_pop($stack);
            $children = elgg_get_entities_from_metadata(array('type' => 'object', 'subtype' => 'page', 'metadata_name' => 'parent_guid', 'metadata_value' => $parent->getGUID(), 'limit' => 0));
            if ($children) {
                foreach ($children as $child) {
                    $tree[] = array('guid' => $child->getGUID(), 'title' => $child->title, 'url' => $child->getURL(), 'parent_guid' => $parent->getGUID(), 'depth' => $depths[$parent->guid] + 1);
                    $depths[$child->guid] = $depths[$parent->guid] + 1;
                    array_push($stack, $child);
                }
            }
        }
    }
    return $tree;
}
开发者ID:tjcaverly,项目名称:Elgg,代码行数:38,代码来源:pages.php


示例5: canReshareEntity

 /**
  * Check if resharing of this entity is allowed
  *
  * @param \ElggEntity $entity the entity to check
  *
  * @return bool
  */
 protected static function canReshareEntity(\ElggEntity $entity)
 {
     if (!$entity instanceof \ElggEntity) {
         return false;
     }
     // only allow objects and groups
     if (!$entity instanceof \ElggObject && !$entity instanceof \ElggGroup) {
         return false;
     }
     // comments and discussion replies are never allowed
     $blocked_subtypes = ['comment', 'discussion_reply'];
     if (in_array($entity->getSubtype(), $blocked_subtypes)) {
         return false;
     }
     // by default allow searchable entities
     $reshare_allowed = false;
     if ($entity instanceof \ElggGroup) {
         $reshare_allowed = true;
     } else {
         $searchable_entities = get_registered_entity_types($entity->getType());
         if (!empty($searchable_entities)) {
             $reshare_allowed = in_array($entity->getSubtype(), $searchable_entities);
         }
     }
     // trigger hook to allow others to change
     $params = ['entity' => $entity, 'user' => elgg_get_logged_in_user_entity()];
     return (bool) elgg_trigger_plugin_hook('reshare', $entity->getType(), $params, $reshare_allowed);
 }
开发者ID:coldtrick,项目名称:thewire_tools,代码行数:35,代码来源:Menus.php


示例6: actions_feature_is_allowed_type

/**
 * Check if entity type is registered for feature/unfeature
 *
 * @param ElggEntity $entity Entity to be featured
 * @return bool
 */
function actions_feature_is_allowed_type(ElggEntity $entity)
{
    $type = $entity->getType();
    $subtype = $entity->getSubtype();
    $hook_type = implode(':', array_filter([$type, $subtype]));
    return elgg_trigger_plugin_hook('feature', $hook_type, ['entity' => $entity], false);
}
开发者ID:hypeJunction,项目名称:Elgg-actions_feature,代码行数:13,代码来源:start.php


示例7: removeAdmin

 /**
  * listen to the remove admin event to unset the toggle admin flag
  *
  * @param string     $event  the event
  * @param string     $type   the type of the event
  * @param ElggEntity $entity the affected entity
  *
  * @return void
  */
 public static function removeAdmin($event, $type, $entity)
 {
     if (!$entity instanceof \ElggUser) {
         return;
     }
     elgg_unset_plugin_user_setting('switched_admin', $entity->getGUID(), 'admin_tools');
 }
开发者ID:coldtrick,项目名称:admin_tools,代码行数:16,代码来源:Admin.php


示例8: oddmetadata_to_elggextender

/**
 * Utility function used by import_extender_plugin_hook() to process
 * an ODDMetaData and add it to an entity. This function does not
 * hit ->save() on the entity (this lets you construct in memory)
 *
 * @param ElggEntity  $entity  The entity to add the data to.
 * @param ODDMetaData $element The OpenDD element
 *
 * @return bool
 * @access private
 */
function oddmetadata_to_elggextender(ElggEntity $entity, ODDMetaData $element)
{
    // Get the type of extender (metadata, type, attribute etc)
    $type = $element->getAttribute('type');
    $attr_name = $element->getAttribute('name');
    $attr_val = $element->getBody();
    switch ($type) {
        // Ignore volatile items
        case 'volatile':
            break;
        case 'annotation':
            $entity->annotate($attr_name, $attr_val);
            break;
        case 'metadata':
            $entity->setMetaData($attr_name, $attr_val, "", true);
            break;
        default:
            // Anything else assume attribute
            $entity->set($attr_name, $attr_val);
    }
    // Set time if appropriate
    $attr_time = $element->getAttribute('published');
    if ($attr_time) {
        $entity->set('time_updated', $attr_time);
    }
    return true;
}
开发者ID:elainenaomi,项目名称:labxp2014,代码行数:38,代码来源:extender.php


示例9: thewire_tools_url_handler

/**
 * Custom URL handler for thewire objects
 *
 * @param ElggEntity $entity the entity to make the URL for
 *
 * @return string the URL
 */
function thewire_tools_url_handler(ElggEntity $entity)
{
    if ($entity->getContainerEntity() instanceof ElggGroup) {
        $entity_url = elgg_get_site_url() . "thewire/group/" . $entity->getContainer();
    } else {
        $entity_url = elgg_get_site_url() . "thewire/owner/" . $entity->getOwnerEntity()->username;
    }
    return $entity_url;
}
开发者ID:T4SG,项目名称:Bangalore-Team-5,代码行数:16,代码来源:start.php


示例10: getRowCells

 /**
  * Map column headers to a proper representation in the row cell
  * @param ElggEntity $entity
  * @param boolean $csv
  * @return array
  */
 public function getRowCells($entity)
 {
     $row = array();
     $headers = $this->getColumnHeaders();
     foreach ($headers as $header => $label) {
         $value = '';
         switch ($header) {
             default:
                 $value = $entity->{$header};
                 if (is_array($value)) {
                     $value = implode('; ', $value);
                 }
                 break;
             case 'guid':
                 $value = $entity->guid;
                 break;
             case 'icon':
                 $value = $entity->getIconURL();
                 if (!elgg_in_context('plaintext')) {
                     $value = elgg_view_entity_icon($entity, 'small');
                 }
                 break;
             case 'title':
                 $value = elgg_instanceof($entity, 'object') ? $entity->title : $entity->name;
                 if (!elgg_in_context('plaintext')) {
                     $value = elgg_view('output/url', array('text' => $value, 'href' => $entity->getURL()));
                 }
                 break;
             case 'time_created':
                 $value = date('M d, Y H:i', $entity->time_created);
                 break;
             case 'owner_guid':
                 $value = '';
                 $owner = $entity->getOwnerEntity();
                 if (elgg_instanceof($owner)) {
                     $value = $owner->guid;
                     if (!elgg_in_context('plaintext')) {
                         $value = elgg_view('output/url', array('text' => elgg_instanceof($owner, 'object') ? $owner->title : $owner->name, 'href' => $owner->getURL()));
                     }
                 }
                 break;
             case 'container_guid':
                 $value = '';
                 $container = $entity->getContainerEntity();
                 if (elgg_instanceof($container)) {
                     $value = $container->guid;
                     if (!elgg_in_context('plaintext')) {
                         $value = elgg_view('output/url', array('text' => elgg_instanceof($container, 'object') ? $container->title : $container->name, 'href' => $container->getURL()));
                     }
                 }
                 break;
         }
         $row[$header] = $value;
     }
     return elgg_trigger_plugin_hook('export:entity', 'table', array('headers' => $this->getColumnHeaders(), 'entity' => $entity), $row);
 }
开发者ID:Daltonmedia,项目名称:hypeLists,代码行数:62,代码来源:ElggTable.php


示例11: createRandomAnnotations

 /**
  * Creates random annotations on $entity
  *
  * @param \ElggEntity $entity
  * @param int        $max
  */
 protected function createRandomAnnotations($entity, $max = 1)
 {
     $annotations = array();
     for ($i = 0; $i < $max; $i++) {
         $name = 'test_annotation_name_' . rand();
         $value = rand();
         $id = create_annotation($entity->getGUID(), $name, $value, 'integer', $entity->getGUID());
         $annotations[] = elgg_get_annotation_from_id($id);
     }
     return $annotations;
 }
开发者ID:elgg,项目名称:elgg,代码行数:17,代码来源:ElggCoreGetEntitiesFromAnnotationsTest.php


示例12: Build

 /**
  * @param \ElggEntity $entity
  * @return bool|notification
  */
 public function Build($entity)
 {
     switch ($entity->getSubtype()) {
         case 'sub_comment_notification':
             return new \WizmassNotifier\Notifications\SubCommentNotification($entity);
         case 'rate_comment_notification':
             return new \WizmassNotifier\Notifications\RateCommentNotification($entity);
         default:
             return false;
     }
 }
开发者ID:roybirger,项目名称:elgg-wizmass-notifier,代码行数:15,代码来源:NotificationFactory.php


示例13: toGUID

 /**
  * Get guids from an entity attribute
  *
  * @param ElggEntity|int $entity Entity or GUID
  * @return int
  */
 protected function toGUID($entity = null)
 {
     if ($entity instanceof ElggEntity) {
         return (int) $entity->getGUID();
     } else {
         if ($this->exists($entity)) {
             return (int) $entity;
         }
     }
     return false;
 }
开发者ID:n8b,项目名称:VMN,代码行数:17,代码来源:ItemCollection.php


示例14: likes_count

/**
 * Count how many people have liked an entity.
 *
 * @param  ElggEntity $entity 
 *
 * @return int Number of likes
 */
function likes_count($entity)
{
    $type = $entity->getType();
    $params = array('entity' => $entity);
    $number = elgg_trigger_plugin_hook('likes:count', $type, $params, false);
    if ($number) {
        return $number;
    } else {
        return $entity->countAnnotations('likes');
    }
}
开发者ID:rasul,项目名称:Elgg,代码行数:18,代码来源:start.php


示例15: hj_framework_set_entity_priority

/**
 * Set priority of an element in a list
 *
 * @see ElggEntity::$priority
 *
 * @param ElggEntity $entity
 * @return bool
 */
function hj_framework_set_entity_priority($entity, $priority = null)
{
    if ($priority) {
        $entity->priority = $priority;
        return true;
    }
    $count = elgg_get_entities(array('type' => $entity->getType(), 'subtype' => $entity->getSubtype(), 'owner_guid' => $entity->owner_guid, 'container_guid' => $entity->container_guid, 'count' => true));
    if (!$entity->priority) {
        $entity->priority = $count + 1;
    }
    return true;
}
开发者ID:amcfarlane1251,项目名称:ongarde,代码行数:20,代码来源:base.php


示例16: afterEntityUpdate

 /**
  * After an entity is done with ->save() check if we need to enqueue it
  *
  * @param string      $event  the name of the event
  * @param string      $type   the type of the event
  * @param \ElggEntity $entity supplied param
  *
  * @return void
  */
 public static function afterEntityUpdate($event, $type, $entity)
 {
     if (!$entity instanceof \ElggEntity) {
         // not an entity, since we listen to 'all'
         return;
     }
     if (!isset($entity->tags)) {
         // no tags
         return;
     }
     if (!self::validateEntity($entity->getGUID())) {
         return;
     }
     self::enqueueEntity($entity->getGUID());
 }
开发者ID:coldtrick,项目名称:tag_tools,代码行数:24,代码来源:Enqueue.php


示例17: event_manager_update_object_handler

/**
 * Checks if there are new slots available after updating an event
 *
 * @param string     $event  name of the event
 * @param string     $type   type of the event
 * @param ElggEntity $object object related to the event
 *
 * @return void
 */
function event_manager_update_object_handler($event, $type, $object)
{
    if (!empty($object) && $object instanceof Event) {
        $fillup = false;
        if ($object->with_program && $object->hasSlotSpotsLeft()) {
            $fillup = true;
        } elseif (!$object->with_program && $object->hasEventSpotsLeft()) {
            $fillup = true;
        }
        if ($fillup) {
            while ($object->generateNewAttendee()) {
                continue;
            }
        }
    }
}
开发者ID:pleio,项目名称:event_manager,代码行数:25,代码来源:events.php


示例18: getValues

 /**
  * {@inheritdoc}
  */
 public function getValues(\ElggEntity $entity)
 {
     $sticky = $this->getStickyValue();
     if ($sticky) {
         return $sticky;
     }
     $name = $this->getShortname();
     switch ($name) {
         default:
             return $entity->{$name} ?: $this->getDefaultValue();
         case 'type':
             return $entity->getType();
         case 'subtype':
             return $entity->getSubtype();
     }
 }
开发者ID:hypejunction,项目名称:hypeprototyper,代码行数:19,代码来源:AttributeField.php


示例19: events

 /**
  * Track certain events on ElggEntity's
  *
  * @param string      $event  the event
  * @param string      $type   the type of the ElggEntity
  * @param \ElggEntity $object the entity for the event
  *
  * @return void
  */
 public static function events($event, $type, $object)
 {
     if (!$object instanceof \ElggEntity) {
         return;
     }
     if (!analytics_google_track_events_enabled()) {
         return;
     }
     switch ($object->getType()) {
         case 'object':
             analytics_track_event($object->getSubtype(), $event, $object->title);
             break;
         case 'group':
         case 'user':
             analytics_track_event($object->getType(), $event, $object->name);
             break;
     }
 }
开发者ID:coldtrick,项目名称:analytics,代码行数:27,代码来源:Tracker.php


示例20: __construct

 /**
  * Create a notification event
  *
  * @param \ElggData   $object The object of the event (\ElggEntity)
  * @param string      $action The name of the action (default: create)
  * @param \ElggEntity $actor  The entity that caused the event (default: logged in user)
  * 
  * @throws \InvalidArgumentException
  */
 public function __construct(\ElggData $object, $action, \ElggEntity $actor = null)
 {
     if (elgg_instanceof($object)) {
         $this->object_type = $object->getType();
         $this->object_subtype = $object->getSubtype();
         $this->object_id = $object->getGUID();
     } else {
         $this->object_type = $object->getType();
         $this->object_subtype = $object->getSubtype();
         $this->object_id = $object->id;
     }
     if ($actor == null) {
         $this->actor_guid = _elgg_services()->session->getLoggedInUserGuid();
     } else {
         $this->actor_guid = $actor->getGUID();
     }
     $this->action = $action;
 }
开发者ID:thehereward,项目名称:Elgg,代码行数:27,代码来源:Event.php



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP ElggFile类代码示例发布时间:2022-05-23
下一篇:
PHP ElggCoreUnitTest类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap