本文整理汇总了PHP中entity_selector::run_one方法的典型用法代码示例。如果您正苦于以下问题:PHP entity_selector::run_one方法的具体用法?PHP entity_selector::run_one怎么用?PHP entity_selector::run_one使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类entity_selector
的用法示例。
在下文中一共展示了entity_selector::run_one方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: init
/**
* Standard Module init function
*
* @return void
*/
function init()
{
parent::init();
if (!reason_user_has_privs($this->admin_page->user_id, 'delete')) {
$this->_ok_to_run = false;
$this->_not_ok_message = 'Sorry; you don\'t have the privileges to delete items on this site.';
} elseif (empty($this->admin_page->site_id)) {
$this->_ok_to_run = false;
$this->_not_ok_message = 'Sorry; you need to specify a site before batch deleting items.';
} elseif (empty($this->admin_page->type_id)) {
$this->_ok_to_run = false;
$this->_not_ok_message = 'Sorry; you need to specify a type before batch deleting items.';
}
if ($this->_ok_to_run) {
$this->_type = new entity($this->admin_page->type_id);
$this->admin_page->title = 'Batch Delete ' . $this->_type->get_value('plural_name');
$es = new entity_selector($this->admin_page->site_id);
$es->add_type($this->admin_page->type_id);
$es->set_sharing('owns');
$es->set_order('entity.last_modified DESC');
// pray($this->admin_page->request);
if (isset($this->admin_page->request['state']) && $this->admin_page->request['state'] == 'pending') {
$status = 'Pending';
} else {
$status = 'Live';
}
$this->_items = $es->run_one('', $status);
foreach (array_keys($this->_items) as $id) {
if (!$this->admin_page->is_deletable($id)) {
unset($this->_items[$id]);
}
}
}
}
示例2: user_has_access_to_media
/**
* Determines whether or not the current user has access to the specified media work. If no username is provided, this function defaults to the currently-loggin-in username.
*
* @param string $username
* @return boolean user has access
*/
public function user_has_access_to_media($username = '')
{
// First, get the restricted group--if one exists
$es = new entity_selector();
$es->add_type(id_of('group_type'));
$es->add_right_relationship($this->media_work->id(), relationship_id_of('av_restricted_to_group'));
$group = current($es->run_one());
if (!empty($group)) {
$gh = new group_helper();
$gh->set_group_by_id($group->id());
if ($gh->requires_login()) {
if (!$username) {
$username = reason_check_authentication();
}
if ($username) {
if (!$gh->is_username_member_of_group($username)) {
return false;
}
} else {
return false;
}
}
}
return true;
// Return true if the user has access to view media work
}
示例3: addslashes
function image_may_be_shown($id)
{
if ($this->params['alternate_source_page_id']) {
$page_id = $this->params['alternate_source_page_id'];
if (!($site_id = get_owner_site_id($page_id))) {
$site_id = $this->site_id;
}
} else {
$page_id = $this->cur_page->id();
$site_id = $this->site_id;
}
$es = new entity_selector();
$es->add_type(id_of('image'));
$es->set_env('site', $site_id);
$es->add_right_relationship($page_id, relationship_id_of('minisite_page_to_image'));
$es->add_relation('entity.id = ' . addslashes($id));
$result = $es->run_one();
//echo 'given id='.$id;
if (!empty($result)) {
//echo 'returning true';
return true;
} else {
//echo 'returning false';
return false;
}
}
示例4: addslashes
function _produce_borrowing_nav()
{
$ret = '';
$nes = new entity_selector();
$nes->add_type(id_of('type'));
$nes->add_right_relationship($this->admin_page->site_id, relationship_id_of('site_cannot_edit_type'));
$nes->add_relation('`entity`.`id` = "' . addslashes($this->admin_page->type_id) . '"');
$nes->set_num(1);
$nes->limit_tables();
$nes->limit_fields();
$ns = $nes->run_one();
$show_edit = reason_user_has_privs($this->admin_page->user_id, 'edit') && !$this->admin_page->is_second_level() && empty($ns) ? true : false;
/* $type = new entity($this->admin_page->type_id);
$name = $type->get_value('plural_name') ? $type->get_value('plural_name') : $type->get_value('name');
if(function_exists('mb_strtolower'))
$name = mb_strtolower($name);
else
$name = strtolower($name); */
$ret .= '<div class="borrowNav">' . "\n";
$ret .= '<ul>';
if ($show_edit) {
$ret .= '<li><a href="' . $this->admin_page->get_owned_list_link($this->admin_page->type_id) . '"><img src="' . REASON_HTTP_BASE_PATH . 'silk_icons/bullet_edit.png" alt="" /> Add & edit</a></li>';
}
$ret .= '<li class="current"><strong><img src="' . REASON_HTTP_BASE_PATH . 'silk_icons/car.png" alt="" /> Borrow</strong></li>';
$ret .= '</ul>' . "\n";
$ret .= '</div>' . "\n";
// if(reason_user_has_privs($this->admin_page->user_id,'edit'))
return $ret;
}
示例5: build
/**
* Make sure that the model is configured with a valid URL.
*
* @return string json
*/
function build()
{
if ($site_id = $this->config('site_id')) {
$s = get_microtime();
$es = new entity_selector();
$es->add_type(id_of('social_account_type'));
$es->add_right_relationship($site_id, relationship_id_of('site_to_social_account'));
$es->add_rel_sort_field($site_id, relationship_id_of('site_to_social_account'));
$es->set_order('rel_sort_order ASC');
$es->limit_tables();
$es->limit_fields();
if ($results = $es->run_one()) {
$result_keys = array_keys($results);
$sih = reason_get_social_integration_helper();
foreach ($result_keys as $id) {
// get the integrator if it supports the SocialAccountProfileLinks interface
if ($integrator = $sih->get_social_account_integrator($id, 'SocialAccountProfileLinks')) {
$profile_links[$id]['icon'] = $integrator->get_profile_link_icon($id);
$profile_links[$id]['text'] = $integrator->get_profile_link_text($id);
$profile_links[$id]['href'] = $integrator->get_profile_link_href($id);
}
}
if (!empty($profile_links)) {
return $profile_links;
}
}
return false;
} else {
trigger_error('The ReasonSocialProfileLinksModel must be provided with the configuration parameter site_id.', FATAL);
}
}
示例6: foreach
function get_links()
{
$links = parent::get_links();
$es = new entity_selector($this->admin_page->site_id);
$es->add_type(id_of('event_type'));
$es->set_order('dated.datetime DESC');
$values = $es->run_one();
//should adjust so that can't rearrange slots for events that have only one or no registration slots.
//also, probably not for past events either.
if ($values) {
foreach ($values as $event_id => $event) {
$es2 = new entity_selector($this->admin_page->site_id);
$es2->add_type(id_of('registration_slot_type'));
$es2->add_right_relationship($event_id, relationship_id_of('event_type_to_registration_slot_type'));
$numSlots = $es2->get_one_count();
if ($numSlots > 1) {
$date = $event->get_value('datetime');
$name = 'Sort slots for ' . $event->get_value('name') . ' - ' . prettify_mysql_datetime($date);
$link = $this->admin_page->make_link(array('event_id' => $event->id(), 'default_sort' => false), true);
$links[$name] = $link;
}
}
$this->links = $links;
return $this->links;
}
}
示例7: foreach
function get_pages_needing_change()
{
if (!isset($this->pages_needing_change)) {
$es = new entity_selector();
$es->add_type(id_of('minisite_page'));
$es->enable_multivalue_results();
$es->limit_tables('page_node');
$es->limit_fields('custom_page');
$es->add_relation('page_node.custom_page = "blurb"');
$es->add_left_relationship_field('minisite_page_to_text_blurb', 'entity', 'id', 'blurb_id');
$result = $es->run_one();
foreach ($result as $k => $page) {
$blurbs = is_array($page->get_value('blurb_id')) ? $page->get_value('blurb_id') : array($page->get_value('blurb_id'));
foreach ($blurbs as $blurb_id) {
$blurb = new entity($blurb_id);
$content = $blurb->get_value('content');
$demoted_content = demote_headings($content, 1);
if ($content == $demoted_content) {
$pages_needing_page_type_change[$k] = $k;
}
}
}
$this->pages_needing_change = isset($pages_needing_page_type_change) ? array_keys($pages_needing_page_type_change) : false;
}
return $this->pages_needing_change;
}
示例8: name_es
function name_es($name)
{
$es = new entity_selector();
$es->add_type(id_of('content_table'));
$es->add_relation('entity.name = "' . $name . '"');
$results = $es->run_one();
return $results;
}
示例9: init
/**
* Standard Module init function
*
* Sets up page variables and runs the entity selctor that grabs the users
*
* @return void
*/
function init()
{
parent::init();
$this->site = new entity($this->admin_page->site_id);
$this->admin_page->title = 'Users with administrative access to ' . $this->site->get_value('name');
$es = new entity_selector();
$es->add_right_relationship($this->admin_page->site_id, relationship_id_of('site_to_user'));
$this->users = $es->run_one(id_of('user'));
}
示例10: _link_in_db
protected function _link_in_db()
{
$es = new entity_selector(id_of('master_admin'));
$es->add_type(id_of('admin_link'));
$es->add_relation('`url` = "?cur_module=AdminTools"');
$es->set_num(1);
$results = $es->run_one();
return !empty($results);
}
示例11: get_loki_1_entity
/**
* @return object loki 1 entity if it exists
*/
protected function get_loki_1_entity()
{
$es = new entity_selector(id_of('master_admin'));
$es->add_type(id_of('html_editor_type'));
$es->add_relation('entity.name = "Loki 1"');
$es->set_num(1);
$result = $es->run_one();
return !empty($result) ? reset($result) : FALSE;
}
示例12: get_minisite_template
function get_minisite_template($theme_id)
{
$template = false;
$es = new entity_selector();
$es->add_type(id_of('minisite_template'));
$es->add_right_relationship($theme_id, relationship_id_of('theme_to_minisite_template'));
$tmp = $es->run_one();
return current($tmp);
}
示例13: entity
function load_by_type($type_id, $id, $user_id)
{
$this->_id = $id;
$this->_original = new entity($this->_id);
// load all fields used by this type
$q = 'DESC entity';
$r = db_query($q, 'Unable to get entity description');
while ($row = mysql_fetch_array($r, MYSQL_ASSOC)) {
list($type, $args) = $this->plasmature_type_from_db_type($row['Field'], $row['Type']);
$this->add_element($row['Field'], $type, $args);
}
// get tables associated with this type
$es = new entity_selector();
$es->description = 'disco reason: load_by_type: tables to type';
$es->add_type(id_of('content_table'));
$es->add_right_relationship($type_id, relationship_id_of('type_to_table'));
$tables = $es->run_one();
unset($es);
// make an element for each field the type has
foreach ($tables as $tid => $table) {
// grab the type's entity tables and fields
$es = new entity_selector();
$es->description = 'disco reason 2: load_by_type: fields associated with table ' . $table->get_value('name');
$es->add_type(id_of('field'));
$es->add_left_relationship($tid, relationship_id_of('field_to_entity_table'));
$fields = $es->run_one('', 'Live', 'field es');
unset($es);
foreach ($fields as $fid => $field) {
$args = array();
$type = '';
// set the plasmature type if specified by the field, otherwise look up the default for the database type
list($type, $args) = $this->plasmature_type_from_db_type($field->get_value('name'), $field->get_value('db_type'));
if ($field->get_value('plasmature_type')) {
$type = $field->get_value('plasmature_type');
}
// hook for plasmature arguments here
$this->add_element($field->get_value('name'), $type, $args, $field->get_value('db_type'));
}
}
// load values
$elements = $this->_original->get_values();
foreach ($elements as $key => $val) {
if (isset($val)) {
$this->set_value($key, $val);
}
}
$this->init();
$this->change_element_type('type', 'hidden');
$this->set_value('type', $type_id);
$this->change_element_type('last_edited_by', 'hidden');
$this->set_value('last_edited_by', $user_id);
if (!reason_user_has_privs($user_id, 'edit_unique_names')) {
$this->change_element_type('unique_name', 'hidden');
} elseif ($this->get_value('unique_name')) {
$this->change_element_type('unique_name', 'solidText');
}
}
示例14: run
function run()
{
$site_id = $this->site_id;
$es = new entity_selector($site_id);
$es->add_type(id_of('google_map_type'));
$es->add_right_relationship($this->cur_page->id(), relationship_id_of('page_to_google_map'));
$es->add_rel_sort_field($this->cur_page->id(), relationship_id_of('page_to_google_map'));
$es->set_order('rel_sort_order');
$gmaps = $es->run_one();
draw_google_map($gmaps);
}
示例15: init
function init($args = array())
{
parent::init($args);
$s = new entity_selector();
$s->add_type(id_of('site'));
$s->set_order('entity.name');
$s->add_relation('site.site_state = "Live"');
$this->site_count = $s->get_one_count();
$this->sites = $s->run_one();
//pray($this->sites);
}