本文整理汇总了PHP中module_security::can_user方法的典型用法代码示例。如果您正苦于以下问题:PHP module_security::can_user方法的具体用法?PHP module_security::can_user怎么用?PHP module_security::can_user使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类module_security
的用法示例。
在下文中一共展示了module_security::can_user方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _l
echo _l($link['name']);
?>
</a>
</li>
<?php
}
unset($menu_holder);
unset($menu_type);
unset($current_link);
unset($menu_allow_nesting);
?>
<?php
if (isset($show_quick_search) && $show_quick_search) {
?>
<?php
if (module_security::getcred() && module_security::can_user(module_security::get_loggedin_id(), 'Show Quick Search') && $display_mode != 'mobile') {
if (module_config::c('global_search_focus', 1) == 1) {
module_form::set_default_field('ajax_search_text');
}
?>
<li>
<div id="quick_search_box">
<div id="quick_search_placeholder"><div><?php
_e('Quick Search:');
?>
</div></div>
<input type="text" name="quick_search" id="ajax_search_text" size="10" value="">
<div id="ajax_search_result"></div>
</div>
</li>
<?php
示例2: save_file_comments
function save_file_comments($file_id)
{
if (isset($_REQUEST['new_comment_text']) && strlen($_REQUEST['new_comment_text'])) {
$file_data = $this->get_file($file_id);
$item_data = array("file_id" => $file_id, "create_user_id" => module_security::get_loggedin_id(), "comment" => $_REQUEST['new_comment_text']);
update_insert("file_comment_id", "new", "file_comment", $item_data);
$file_data['comment'] = $_REQUEST['new_comment_text'];
// do we schedule an alert for this file upload?
if (module_security::can_user(module_security::get_loggedin_id(), _FILE_COMMENT_ALERT_STRING)) {
// the current user is one who receives file alerts.
// so for now we don't schedule this alert.
// hmm - this might not work with a team environment, we'll send alerts no matter what :)
}
$alert_users = module_user::get_users_by_permission(array('category' => _LABEL_USER_SPECIFIC, 'name' => _FILE_COMMENT_ALERT_STRING, 'module' => 'config', 'view' => 1));
if (count($file_data['staff_ids'])) {
foreach ($alert_users as $user_id => $alert_user) {
if (!in_array($user_id, $file_data['staff_ids'])) {
// this user has permissions to receive alerts, but they're not assigned.
unset($alert_users[$user_id]);
}
}
} else {
if (isset($alert_users[1])) {
unset($alert_users[1]);
// skip admin for now until we can control that option
}
}
// dont set a notification to ourselves.
if (isset($alert_users[module_security::get_loggedin_id()])) {
unset($alert_users[module_security::get_loggedin_id()]);
}
$file_data['customer_name'] = '';
$file_data['customer_link'] = '';
if (isset($file_data['customer_id']) && $file_data['customer_id']) {
$customer_data = module_customer::get_customer($file_data['customer_id']);
$file_data['customer_name'] = $customer_data['customer_name'];
$file_data['customer_link'] = module_customer::link_open($file_data['customer_id']);
}
$file_data['file_link'] = self::link_open($file_id);
foreach ($alert_users as $alert_user) {
if (isset($alert_user['customer_id']) && $alert_user['customer_id'] > 0) {
// only send this user an alert of the file is from this customer account.
if (!isset($file_data['customer_id']) || $file_data['customer_id'] != $alert_user['customer_id']) {
continue;
// skip this user
}
}
$notification_data = array('email_id' => 0, 'view_time' => 0, 'notification_type' => _FILE_NOTIFICATION_TYPE_COMMENTED, 'file_id' => $file_id, 'user_id' => $alert_user['user_id']);
$template = module_template::get_template_by_key('file_comment_alert_email');
$template->assign_values($file_data);
$html = $template->render('html');
// send an email to this user.
$email = module_email::new_email();
$email->file_id = $file_id;
$email->replace_values = $file_data;
$email->set_to('user', $alert_user['user_id']);
$email->set_from('user', module_security::get_loggedin_id());
$email->set_subject($template->description);
// do we send images inline?
$email->set_html($html);
if ($email->send()) {
// it worked successfully!!
// sweet.
$notification_data['email_id'] = $email->email_id;
} else {
/// log err?
set_error('Failed to send notification email to user id ' . $alert_users['user_id']);
}
update_insert('file_notification_id', 'new', 'file_notification', $notification_data);
}
}
}
示例3: htmlspecialchars
$template->assign_values(array('user_name' => htmlspecialchars($_SESSION['_user_name']), 'system_name' => htmlspecialchars(module_config::s('admin_system_name'))));
$widget_sort_json = @json_decode(module_config::c('dash_widgets_sort_' . module_security::get_loggedin_id()), true);
if (!is_array($widget_sort_json)) {
$widget_sort_json = array();
}
$widget_sort_order = array();
$widget_sort_page_order = 1;
foreach ($widget_sort_json as $id => $vals) {
$bits = explode('|', $vals);
if (count($bits) == 3) {
$widget_sort_order[$bits[2]] = array('column' => $bits[0], 'column_number' => $bits[1], 'page_order' => $widget_sort_page_order++);
}
}
$widget_sort_id = 1;
// then display the alerts list.
if (module_config::c('dashboard_new_layout', 1) && class_exists('module_dashboard', false) && module_security::can_user(module_security::get_loggedin_id(), 'Show Dashboard Alerts')) {
ob_start();
module_dashboard::output_dashboard_alerts(module_config::c('dashboard_alerts_ajax', 1));
array_unshift($home_widgets, array('columns' => isset($widget_sort_order[$widget_sort_id]['column']) ? $widget_sort_order[$widget_sort_id]['column'] : 1, 'column_number' => isset($widget_sort_order[$widget_sort_id]['column_number']) ? $widget_sort_order[$widget_sort_id]['column_number'] : false, 'page_order' => isset($widget_sort_order[$widget_sort_id]['page_order']) ? $widget_sort_order[$widget_sort_id]['page_order'] : false, 'sort_id' => $widget_sort_id++, 'title' => _l('Alerts'), 'content' => ob_get_clean()));
}
array_unshift($home_widgets, array('columns' => isset($widget_sort_order[$widget_sort_id]['column']) ? $widget_sort_order[$widget_sort_id]['column'] : 1, 'column_number' => isset($widget_sort_order[$widget_sort_id]['column_number']) ? $widget_sort_order[$widget_sort_id]['column_number'] : false, 'page_order' => isset($widget_sort_order[$widget_sort_id]['page_order']) ? $widget_sort_order[$widget_sort_id]['page_order'] : false, 'sort_id' => $widget_sort_id++, 'title' => _l('Home Page'), 'content' => _DEMO_MODE ? strip_tags($template->replace_content()) : $template->replace_content()));
// now grab the widgets from the various modules and add those in:
$widget_columns_counter = array();
foreach ($home_widgets as $module_widgets) {
if (isset($module_widgets['id']) || isset($module_widgets['sort_id'])) {
$module_widgets = array($module_widgets);
}
foreach ($module_widgets as $module_widget) {
if (isset($widget_sort_order[$widget_sort_id]['column'])) {
$module_widget['columns'] = $widget_sort_order[$widget_sort_id]['column'];
}
示例4: isset
<?php
}
?>
</div>
</div>
<!-- header.head -->
<header class="head">
<div class="search-bar hidden-xs">
<a data-original-title="Show/Hide Menu" data-placement="bottom" data-tooltip="tooltip" class="accordion-toggle btn btn-primary btn-sm visible-xs" data-toggle="collapse" href="#menu" id="menu-toggle">
<i class="fa fa-resize-full"></i>
</a>
<?php
if (module_security::getcred() && module_security::can_user(module_security::get_loggedin_id(), 'Show Quick Search')) {
if (module_config::c('global_search_focus', 1) == 1) {
module_form::set_default_field('ajax_search_text');
}
?>
<form class="main-search" action="<?php
echo _BASE_HREF;
?>
?p=search_results" method="post">
<div class="input-group">
<input type="text" class="input-small form-control" name="quicksearch" value="<?php
echo isset($_REQUEST['quicksearch']) ? htmlspecialchars($_REQUEST['quicksearch']) : '';
?>
" placeholder="<?php
示例5: handle_hook
//.........这里部分代码省略.........
if (!class_exists('module_website', false) || !module_website::is_plugin_enabled()) {
unset($columns['website']);
}
if (!module_customer::can_i('view', 'Customers')) {
unset($columns['customer']);
}
module_dashboard::register_group($key, array('columns' => $columns));
}
if ($cached_alerts = module_cache::get('job', $cache_key . $key)) {
$alerts = array_merge($alerts, $cached_alerts);
} else {
module_debug::log(array('title' => 'Job Home Alerts: ', 'data' => " starting: " . $key));
$this_alerts = array();
$sql = "SELECT p.job_id,p.name, t.date_updated, t.date_created, COUNT(t.task_id) AS approval_count FROM `" . _DB_PREFIX . "job` p ";
$sql .= " LEFT JOIN `" . _DB_PREFIX . "task` t ON p.job_id = t.job_id";
$sql .= " WHERE t.approval_required = 2";
$sql .= " GROUP BY p.job_id ";
$res = qa($sql);
foreach ($res as $r) {
$job = self::get_job($r['job_id']);
if (!$job || $job['job_id'] != $r['job_id']) {
continue;
}
$alert_res = process_alert($r['date_updated'] && $r['date_updated'] != '0000-00-00' ? $r['date_updated'] : $r['date_created'], $key);
if ($alert_res) {
$alert_res['link'] = $this->link_open($r['job_id'], false, $r);
$alert_res['name'] = $r['name'];
// new dashboard alert layout here:
$alert_res['time'] = strtotime($r['date_updated'] && $r['date_updated'] != '0000-00-00' ? $r['date_updated'] : $r['date_created']);
$alert_res['group'] = $key;
$alert_res['job'] = $this->link_open($job['job_id'], true, $job);
$alert_res['customer'] = $job['customer_id'] ? module_customer::link_open($job['customer_id'], true) : _l('N/A');
$alert_res['website'] = $job['website_id'] ? module_website::link_open($job['website_id'], true) : _l('N/A');
$alert_res['assigned_staff'] = $job['user_id'] ? module_user::link_open($job['user_id'], true) : _l('N/A');
//$alert_res['progress'] = ($job['total_percent_complete'] * 100).'%';
$alert_res['task_count'] = $r['approval_count'];
$alert_res['date'] = print_date($alert_res['time']);
$alert_res['days'] = $alert_res['warning'] ? '<span class="important">' . $alert_res['days'] . '</span>' : $alert_res['days'];
$this_alerts[] = $alert_res;
}
}
module_cache::put('job', $cache_key . $key, $this_alerts, $cache_timeout);
$alerts = array_merge($alerts, $this_alerts);
}
}
if (module_security::can_user(module_security::get_loggedin_id(), 'Show Dashboard Todo List')) {
$key = _l('Job Todo');
if (class_exists('module_dashboard', false)) {
$columns = array('job' => _l('Job Title'), 'customer' => _l('Customer Name'), 'progress' => _l('Task Progress'), 'task' => _l('Task Description'), 'assigned_staff' => _l('Staff'), 'date' => _l('Due Date'), 'days' => _l('Day Count'));
if (!module_customer::can_i('view', 'Customers')) {
unset($columns['customer']);
}
module_dashboard::register_group($key, array('columns' => $columns));
}
if ($cached_alerts = module_cache::get('job', $cache_key . $key)) {
$alerts = array_merge($alerts, $cached_alerts);
} else {
module_debug::log(array('title' => 'Job Home Alerts: ', 'data' => " starting: " . $key));
$this_alerts = array();
$todo_list = self::get_tasks_todo();
$x = 0;
foreach ($todo_list as $todo_item) {
if ($todo_item['hours_completed'] > 0) {
if ($todo_item['hours'] > 0) {
$percentage = round($todo_item['hours_completed'] / $todo_item['hours'], 2);
$percentage = min(1, $percentage);
} else {
$percentage = 1;
}
} else {
$percentage = 0;
}
$job_data = module_job::get_job($todo_item['job_id'], false);
$alert_res = process_alert($todo_item['date_due'], 'temp');
if ($alert_res) {
$alert_res['link'] = $this->link_open($todo_item['job_id'], false, $job_data);
$alert_res['name'] = $percentage * 100 . '% ' . $todo_item['description'];
$alert_res['item'] = $job_data['name'];
// new dashboard alert layout here:
$alert_res['time'] = strtotime($alert_res['date']);
$alert_res['group'] = $key;
$alert_res['job'] = $this->link_open($todo_item['job_id'], true, $job_data);
$alert_res['customer'] = $job_data['customer_id'] ? module_customer::link_open($job_data['customer_id'], true) : _l('N/A');
$alert_res['assigned_staff'] = $todo_item['user_id'] ? module_user::link_open($todo_item['user_id'], true) : _l('N/A');
$alert_res['progress'] = $percentage * 100 . '%';
$alert_res['task'] = htmlspecialchars($todo_item['description']);
$alert_res['date'] = $alert_res['warning'] ? '<span class="important">' . print_date($alert_res['date']) . '</span>' : print_date($alert_res['date']);
$alert_res['days'] = $alert_res['warning'] ? '<span class="important">' . $alert_res['days'] . '</span>' : $alert_res['days'];
$this_alerts[] = $alert_res;
}
}
module_cache::put('job', $cache_key . $key, $this_alerts, $cache_timeout);
$alerts = array_merge($alerts, $this_alerts);
}
}
return $alerts;
break;
}
return false;
}
示例6:
<?php
}
?>
</tbody>
</table>
</div>
<?php
}
?>
</td>
<td valign="top">
<?php
if (class_exists('module_job', false) && module_security::can_user(module_security::get_loggedin_id(), 'Show Dashboard Todo List')) {
?>
<?php
print_heading(array('title' => 'Todo List', 'type' => 'h3'));
?>
<div class="content_box_wheader">
<table class="tableclass tableclass_rows tableclass_full">
<tbody>
<?php
$todo_list = module_job::get_tasks_todo();
$x = 0;
if (!count($todo_list)) {
示例7: foreach
<?php
/**
* Copyright: dtbaker 2012
* Licence: Please check CodeCanyon.net for licence details.
* More licence clarification available here: http://codecanyon.net/wiki/support/legal-terms/licensing-terms/
* Deploy: 9809 f200f46c2a19bb98d112f2d32a8de0c4
* Envato: 4ffca17e-861e-4921-86c3-8931978c40ca, 0a3014a3-2b8f-460b-8850-d6025aa845f8
* Package Date: 2015-11-25 03:08:08
* IP Address: 67.79.165.254
*/
if (class_exists('module_customer', false) && module_security::can_user(module_security::get_loggedin_id(), 'Show Dashboard Widgets')) {
$customer_types = module_customer::get_customer_types();
foreach ($customer_types as $customer_type) {
// if(!empty($customer_type['type_name_plural']) && $customer_type['customer_type_id']) { // dtbaker
if (!empty($customer_type['type_name_plural'])) {
// dtbaker
if (module_customer::can_i('view', $customer_type['type_name_plural'])) {
// find out how many open customers are left..
$customers = module_customer::get_customers(array('customer_type_id' => $customer_type['customer_type_id']), true);
ob_start();
// icons from http://ionicons.com/
?>
<div class="small-box bg-yellow">
<div class="inner">
<h3>
<?php
echo mysql_num_rows($customers);
?>
</h3>
示例8: process
public function process()
{
if ("ajax_dashboard_tabs" == $_REQUEST['_process']) {
header("Content-type: text/javascript");
if (module_security::is_logged_in() && module_security::can_user(module_security::get_loggedin_id(), 'Show Dashboard Alerts')) {
$items_to_hide = json_decode(module_config::c('_dashboard_item_hide' . module_security::get_loggedin_id(), '{}'), true);
if (!is_array($items_to_hide)) {
$items_to_hide = array();
}
//$results = handle_hook("home_alerts");
global $plugins;
$tabid = 1;
// Implicitly flush the buffer(s)
@ini_set('implicit_flush', true);
@ob_implicit_flush(true);
?>
var tabs = $('#dashboard_tabs'); //.tabs();
var ul = tabs.find( "ul" );
<?php
if (is_array($plugins)) {
foreach ($plugins as $plugin_name => $plugin) {
if (is_callable(array($plugin, 'handle_hook'))) {
$argv = array('home_alerts');
$this_return = call_user_func_array(array(&$plugin, 'handle_hook'), $argv);
if ($this_return !== false && $this_return !== null && is_array($this_return) && count($this_return)) {
// we found some home dashboard alerts! yew! print these out for our ajax display and exit, waiting for the next one.
uasort($this_return, 'sort_ajax_alert');
$dashboard_alerts = array();
foreach ($this_return as $alert) {
$group_key = isset($alert['group']) ? $alert['group'] : $alert['item'];
if (!isset($dashboard_alerts[$group_key])) {
$dashboard_alerts[$group_key] = array();
}
$dashboard_alerts[$group_key][] = $alert;
}
if (!isset($_REQUEST['show_hidden'])) {
foreach ($dashboard_alerts as $key => $val) {
// see if any of these "$val" alert entries are marked as hidden
foreach ($val as $k => $v) {
$hide_key = md5($v['link'] . $v['item'] . (isset($v['name']) ? $v['name'] : ''));
$dashboard_alerts[$key][$k]['hide_key'] = $val[$k]['hide_key'] = $hide_key;
if (in_array($hide_key, $items_to_hide)) {
unset($val[$k]);
unset($dashboard_alerts[$key][$k]);
}
}
}
}
//print_r($dashboard_alerts);
foreach ($dashboard_alerts as $key => $alerts) {
if (!count($alerts)) {
continue;
}
$tabid++;
?>
$( "<li><a href='#newtab<?php
echo $tabid;
?>
'><?php
echo $key;
?>
(<?php
echo count($alerts);
?>
)</a></li>" ).appendTo( ul );
<?php
ob_start();
if (isset(module_dashboard::$group_settings[$key])) {
?>
<table class="tableclass tableclass_rows tableclass_full" id="alert_table_<?php
echo strtolower(str_replace(' ', '', $key));
?>
">
<thead>
<tr>
<?php
foreach (module_dashboard::$group_settings[$key]['columns'] as $column_key => $column_title) {
?>
<th class="alert_column_<?php
echo $column_key;
?>
"><?php
echo $column_title;
?>
</th>
<?php
}
?>
<th width="10" class="alert_column_delete"></th>
</tr>
</thead>
<tbody>
<?php
if (count($alerts)) {
$y = 0;
//.........这里部分代码省略.........
示例9: get_staff_members
public static function get_staff_members()
{
if (is_array(self::$_staff_members_cache)) {
return self::$_staff_members_cache;
}
// todo: a different kinda perimssion outlines staff members maybe?
if (module_config::c('staff_by_flag', 0)) {
$label = 'Staff Member';
// seed security permission:
module_security::can_user(module_security::get_loggedin_id(), $label);
// find any that exist.
$staff = self::get_users_by_permission(array('category' => _LABEL_USER_SPECIFIC, 'name' => 'Staff Member', 'module' => 'config', 'view' => 1, 'description' => 'checkbox'));
} else {
$staff = self::get_users_by_permission(array('category' => 'Job', 'name' => 'Job Tasks', 'module' => 'job', 'edit' => 1));
}
foreach ($staff as $staff_id => $s) {
if (isset($s['is_staff']) && $s['is_staff'] == 0) {
// user has staff option manually disabled override the role settings.
unset($staff[$staff_id]);
}
}
// add any staff members that have the new is_staff flag set
$staff_users = self::get_users(array('is_staff' => 1));
if (!is_array($staff_users)) {
$staff_users = array();
}
$staff_contacts = self::get_contacts(array('is_staff' => 1));
if (!is_array($staff_contacts)) {
$staff_contacts = array();
}
$staff = $staff + $staff_users + $staff_contacts;
if (module_config::c('staff_remove_admin', 0) && isset($staff[module_config::c('staff_remove_admin', 0)])) {
unset($staff[module_config::c('staff_remove_admin', 0)]);
}
self::$_staff_members_cache = $staff;
return self::$_staff_members_cache;
}