本文整理匯總了PHP中entity::user_can_edit_field方法的典型用法代碼示例。如果您正苦於以下問題:PHP entity::user_can_edit_field方法的具體用法?PHP entity::user_can_edit_field怎麽用?PHP entity::user_can_edit_field使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類entity
的用法示例。
在下文中一共展示了entity::user_can_edit_field方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: init
function init()
{
$this->admin_page->set_show('leftbar', false);
if (empty($this->admin_page->id)) {
$this->_not_expungable_reason = 'no_id_provided';
return false;
}
if (!reason_user_has_privs($this->admin_page->user_id, 'expunge')) {
$this->_not_expungable_reason = 'insufficient_privileges';
return false;
}
$item = new entity($this->admin_page->id);
$user = new entity($this->admin_page->user_id);
if (!$item->user_can_edit_field('state', $user)) {
$this->_not_expungable_reason = 'state_field_locked';
return false;
}
if ($item->get_value('state') != 'Deleted') {
$this->_not_expungable_reason = 'not_deleted_yet';
return false;
}
$this->expungable = $this->admin_page->is_deletable();
if ($this->expungable) {
$this->_set_up_form();
} else {
$this->_not_expungable_reason = 'dependencies';
return false;
}
}
示例2: entity
/**
* Determines whether or not the user can inline edit. Only admin users may
* perform inline editing for the page title.
*
* @return boolean;
*/
function user_can_inline_edit()
{
if (!isset($this->_user_can_inline_edit)) {
// Additionally, check to see if the user has editing privileges for the 'name' field
$page_entity = new entity($this->page_id);
if ($netid = reason_check_authentication()) {
if ($user_id = get_user_id($netid)) {
$user = new entity($user_id);
$field_check = $page_entity->user_can_edit_field('name', $user);
}
}
$this->_user_can_inline_edit = $netid && reason_check_access_to_site($this->site_id) && $field_check;
}
return $this->_user_can_inline_edit;
}
示例3: init
function init()
{
$this->admin_page->set_show('leftbar', false);
if (empty($this->admin_page->id)) {
$this->_not_undeletable_reason = 'no_id_provided';
return false;
}
if (!reason_user_has_privs($this->admin_page->user_id, 'publish')) {
$this->_not_undeletable_reason = 'insufficient_privileges';
return false;
}
$item = new entity($this->admin_page->id);
$user = new entity($this->admin_page->user_id);
if (!$item->user_can_edit_field('state', $user)) {
$this->_not_undeletable_reason = 'state_field_locked';
return false;
}
if ($item->get_value('state') != 'Deleted') {
$this->_not_undeletable_reason = 'not_deleted_yet';
return false;
}
reason_update_entity($this->admin_page->id, $this->admin_page->user_id, array('state' => 'Live'), false);
if ($this->admin_page->type_id == id_of('minisite_page')) {
// zap nav cache so it reappears.
reason_include_once('classes/object_cache.php');
$cache = new ReasonObjectCache($this->admin_page->site_id . '_navigation_cache');
$cache->clear();
}
$manager_site_id = $this->admin_page->site_id;
if ($item->get_value('type') == id_of('site')) {
$manager_site_id = $item->id();
}
//Updates the rewrites to prevent infinite redirection loop.
reason_include_once('classes/url_manager.php');
$urlm = new url_manager($manager_site_id);
$urlm->update_rewrites();
$link = unhtmlentities($this->admin_page->make_link(array('cur_module' => 'Lister', 'id' => '', 'state' => 'deleted')));
header('Location: ' . $link);
die;
}
示例4: run
function run()
{
$type = new entity($this->admin_page->type_id);
$entity = new entity($this->admin_page->id);
$user = new entity($this->admin_page->user_id);
$text = array('root_node' => 'This is a root ' . $type->get_value('name') . ', so you may not delete it. If you wish to delete this item, please contact the <a href="' . $this->admin_page->make_link(array("cur_module" => "about_reason")) . '">web team</a>.', 'default' => 'You cannot currently delete this item because following items, which
are associated with it, must be associated with a ' . $type->get_value('name') . '. If
you wish to delete this item, you must first select a different ' . $type->get_value('name') . ' for each of the following items.<br /><br />', id_of('minisite_page') => 'This page has children. In order to delete it, you must first either:
<ul>
<li>delete its children</li>
<li>Select a different parent page for its children</li>
</ul>If you wish to delete this item, please select a different parent for the pages listed below.<br /><br />', 'borrowed' => '<p>This item is currently borrowed by one or more sites. Deleting it might break their sites. If you still want to delete it, contact the sites\' maintainers to ask if they can stop borrowing the item.</p>', 'locks' => 'This ' . $type->get_value('name') . ' has had a lock applied to it that keeps it from being deleted. A reason administrator may have applied this lock in order to ensure that a site was not inadventently broken. Please contact a Reason administrator if you have any questions about the rationale for placing this lock on this ' . $type->get_value('name') . '.');
if (!empty($this->borrowed_by)) {
echo $text['borrowed'];
echo '<h4>Sites borrowing this item</h4>' . "\n";
echo '<ul>' . "\n";
foreach ($this->borrowed_by as $site) {
echo '<li><a href="' . $site->get_value('base_url') . '">' . $site->get_value('name') . '</a>' . "\n";
echo '<div>Primary maintainer: ' . $site->get_value('name_cache') . ', <a href="mailto:' . $site->get_value('email_cache') . '" title="send email">' . $site->get_value('email_cache') . '</a></div></li>' . "\n";
}
echo '</ul>' . "\n";
} elseif ($this->is_root_node()) {
echo $text['root_node'];
} elseif (!$entity->user_can_edit_field('state', $user)) {
echo $text['locks'];
} else {
if (!empty($text[$this->admin_page->type_id])) {
echo $text[$this->admin_page->type_id];
} else {
echo $text['default'];
}
foreach ($this->values as $v) {
$link = $this->admin_page->make_link(array('cur_module' => 'Preview', 'id' => $v['e_id'], 'type_id' => $v['relationship_a']));
echo '<a href="' . $link . '" target="' . $v['e_id'] . '">' . $v['e_name'] . '</a><span class="smallText"> (' . prettify_string($v['name']) . ')</span><br />';
}
}
}
示例5: entity
function is_deletable($id = 0)
{
$id = (int) $id;
if (empty($id)) {
$id = $this->id;
}
if (empty($id)) {
return false;
}
//get all one-to-many required relationships that the current item is a part of
$entity = new entity($id);
$user = new entity($this->user_id);
$subject_of_required_rels = array();
$dbq = $this->get_required_ar_dbq($id);
if (!empty($dbq)) {
$subject_of_required_rels = $dbq->run();
}
$sites = get_sites_that_are_borrowing_entity($id);
if ($subject_of_required_rels || !empty($sites) || !$entity->user_can_edit_field('state', $user)) {
return false;
} else {
return true;
}
}