本文整理汇总了PHP中user_is_super_user函数的典型用法代码示例。如果您正苦于以下问题:PHP user_is_super_user函数的具体用法?PHP user_is_super_user怎么用?PHP user_is_super_user使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了user_is_super_user函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: session_require
function session_require($req)
{
global $Language;
/*
Codendi admins always return true
*/
if (user_is_super_user()) {
return true;
}
if (isset($req['group']) && $req['group']) {
$query = "SELECT user_id FROM user_group WHERE user_id=" . user_getid() . " AND group_id=" . db_ei($req['group']);
if (isset($req['admin_flags']) && $req['admin_flags']) {
$query .= " AND admin_flags = '" . db_escape_string($req['admin_flags']) . "'";
}
if (db_numrows(db_query($query)) < 1 || !$req['group']) {
exit_error($Language->getText('include_session', 'insufficient_g_access'), $Language->getText('include_session', 'no_perm_to_view'));
}
} elseif (isset($req['user']) && $req['user']) {
if (user_getid() != $req['user']) {
exit_error($Language->getText('include_session', 'insufficient_u_access'), $Language->getText('include_session', 'no_perm_to_view'));
}
} elseif (isset($req['isloggedin']) && $req['isloggedin']) {
if (!user_isloggedin()) {
exit_error($Language->getText('include_session', 'required_login'), $Language->getText('include_session', 'login'));
}
} else {
exit_error($Language->getText('include_session', 'insufficient_access'), $Language->getText('include_session', 'no_access'));
}
}
示例2: getAllGroups
/**
* return a resultset of Group
*
* @return resultset
*/
function getAllGroups()
{
global $Language;
if (user_isloggedin()) {
// For surperuser), we can see all the trackers (both public and non public)
if (user_is_super_user()) {
$access_condition = '';
} else {
$access_condition = " AND access != '" . db_es(Project::ACCESS_PRIVATE) . "' ";
}
} else {
if (isset($GLOBALS['Language'])) {
$this->setError($Language->getText('include_exit', 'perm_denied'));
}
return false;
}
$sql = "SELECT group_id,group_name,unix_group_name FROM groups\n\t\t\tWHERE group_id <> 100 AND status = 'A'\n\t\t\t{$access_condition}\n\t\t\tORDER BY group_name ASC";
//echo $sql;
$result = db_query($sql);
$rows = db_numrows($result);
if (!$result || $rows < 1) {
if (isset($GLOBALS['Language'])) {
$this->setError($Language->getText('include_common_groupfactory', 'none_found', db_error()));
}
return false;
}
return $result;
}
示例3: do_edit
function do_edit()
{
global $feedback;
$request =& HTTPRequest::instance();
// Sanity check
if (!$request->get('group_id') || !$request->get('reference_id')) {
exit_error($GLOBALS['Language']->getText('global', 'error'), $GLOBALS['Language']->getText('project_reference', 'missing_parameter'));
}
$reference_manager =& ReferenceManager::instance();
$force = $request->get('force');
$su = false;
if (user_is_super_user()) {
$su = true;
} else {
$force = false;
}
// Load existing reference from DB
$ref =& $reference_manager->loadReference($request->get('reference_id'), $request->get('group_id'));
if ($ref->isSystemReference() && $ref->getGroupId() != 100) {
// Only update is_active field
if ($ref->isActive() != $request->get('is_used')) {
$reference_manager->updateIsActive($ref, $request->get('is_used'));
}
} else {
if (!$su) {
// Only a server admin may define a service_id
$service_short_name = "";
} else {
if ($request->get('service_short_name') == 100) {
// none
$service_short_name = "";
} else {
$service_short_name = $request->get('service_short_name');
}
}
$old_keyword = $ref->getKeyword();
//Update table 'reference'
$new_ref = new Reference($request->get('reference_id'), $request->get('keyword'), $request->get('description'), $request->get('link'), $ref->getScope(), $service_short_name, $request->get('nature'), $request->get('is_used'), $request->get('group_id'));
$result = $reference_manager->updateReference($new_ref, $force);
if (!$result) {
exit_error($GLOBALS['Language']->getText('global', 'error'), $GLOBALS['Language']->getText('project_reference', 'edit_fail', db_error()));
} else {
if ($old_keyword != $request->get('keyword')) {
//Update table 'cross_reference'
$reference_dao = $this->getCrossReferenceDao();
$result = $reference_dao->updateTargetKeyword($old_keyword, $request->get('keyword'), $request->get('group_id'));
$result2 = $reference_dao->updateSourceKeyword($old_keyword, $request->get('keyword'), $request->get('group_id'));
//Update table 'artifact_group_list'
$reference_dao = $this->getArtifactGroupListDao();
$result = $reference_dao->updateItemName($request->get('group_id'), $old_keyword, $request->get('keyword'));
}
}
}
}
示例4: snippet_data_can_modify_snippet_package
function snippet_data_can_modify_snippet_package($snippet_package_id)
{
if (user_is_super_user()) {
return true;
} else {
$sql = "SELECT submitted_by FROM snippet_package_version WHERE snippet_package_id='{$snippet_package_id}'";
$result = db_query($sql);
while ($resrow = db_fetch_array($result)) {
if ($resrow['submitted_by'] == user_getid()) {
return true;
break;
}
}
}
return false;
}
示例5: edit
function edit()
{
global $sys_default_domain, $Language;
$request =& HTTPRequest::instance();
$group_id = $request->get('group_id');
$purifier = Codendi_HTMLPurifier::instance();
$pm = ProjectManager::instance();
$project = $pm->getProject($group_id);
$refid = $request->get('reference_id');
if (!$refid) {
exit_error($GLOBALS['Language']->getText('global', 'error'), $GLOBALS['Language']->getText('project_reference', 'missing_parameter'));
}
$referenceManager =& ReferenceManager::instance();
$ref =& $referenceManager->loadReference($refid, $group_id);
$su = false;
if (user_is_super_user()) {
$su = true;
}
$star = ' <font color="red">*</font>';
// "Read-only" -> can only edit reference availability (system reference)
$ro = false;
if ($ref->isSystemReference() && $ref->getGroupId() != 100) {
$ro = true;
$star = "";
}
echo '
<h3>' . $Language->getText('project_reference', 'edit_r') . '</h3>
<form name="form_create" method="post" action="/project/admin/reference.php?group_id=' . $group_id . '">
<input type="hidden" name="action" VALUE="do_edit">
<input type="hidden" name="view" VALUE="browse">
<input type="hidden" name="group_id" VALUE="' . $group_id . '">
<input type="hidden" name="reference_id" VALUE="' . $refid . '">
<table width="100%" cellspacing=0 cellpadding=3 border=0>
<tr><td width="10%"><a href="#" title="' . $Language->getText('project_reference', 'r_keyword_desc') . '">' . $Language->getText('project_reference', 'r_keyword') . ':</a>' . $star . '</td>
<td>';
if ($ro) {
echo $purifier->purify($ref->getKeyWord());
} else {
echo '<input type="text" name="keyword" size="25" maxlength="25" value="' . $purifier->purify($ref->getKeyWord()) . '">';
}
echo '</td></tr>';
echo '
<tr><td><a href="#" title="' . $Language->getText('project_reference', 'r_desc_in_tooltip') . '">' . $Language->getText('project_reference', 'r_desc') . '</a>: </td>
<td>';
if ($ro) {
if ($ref->getDescription() == "reference_" . $ref->getKeyWord() . "_desc_key") {
echo $purifier->purify($Language->getText('project_reference', $ref->getDescription()));
} else {
echo $purifier->purify($ref->getDescription());
}
} else {
echo '<input type="text" name="description" size="70" maxlength="255" value="' . $purifier->purify($ref->getDescription()) . '">';
}
echo '</td></tr>';
echo '
<tr><td><a href="#" title="' . $Language->getText('project_reference', 'r_nature_desc') . '">' . $Language->getText('project_reference', 'r_nature') . '</a>: </td>
<td>';
if ($ro) {
echo $purifier->purify($ref->getNature());
} else {
echo '<select name="nature" >';
foreach ($this->natures as $nature_key => $nature_desc) {
if ($ref->getNature() == $nature_key) {
$selected = 'selected="selected"';
} else {
$selected = '';
}
echo '<option value="' . $purifier->purify($nature_key) . '" ' . $selected . '>' . $purifier->purify($nature_desc['label']) . '</option>';
}
echo '</select>';
}
echo '</td></tr>';
echo '
<tr><td><a href="#" title="' . $Language->getText('project_reference', 'url') . '">' . $Language->getText('project_reference', 'r_link') . '</a>:' . $star . '</td>
<td>';
if ($ro) {
echo $purifier->purify($ref->getLink());
} else {
echo '<input type="text" name="link" size="70" maxlength="255" value="' . $purifier->purify($ref->getLink()) . '"> ';
echo help_button('project-admin.html#creating-or-updating-a-reference-pattern');
}
echo '</td></tr>';
if ($group_id == 100) {
echo '
<tr><td><a href="#" title="' . $Language->getText('project_reference', 'r_service_desc') . '">' . $Language->getText('project_reference', 'r_service') . '</a>:</td>
<td>';
// Get list of services
$result = db_query("SELECT * FROM service WHERE group_id=100 ORDER BY rank");
$serv_label = array();
$serv_short_name = array();
while ($serv = db_fetch_array($result)) {
$label = $serv['label'];
if ($label == "service_" . $serv['short_name'] . "_lbl_key") {
$label = $Language->getText('project_admin_editservice', $label);
}
$serv_short_name[] = $serv['short_name'];
$serv_label[] = $label;
}
echo html_build_select_box_from_arrays($serv_short_name, $serv_label, "service_short_name", $ref->getServiceShortName());
//.........这里部分代码省略.........
示例6: display_service_creation_form
}
display_service_creation_form($group_id, $is_superuser);
} else {
$service_id = $request->getValidated('service_id', 'uint', 0);
if (!$service_id) {
exit_error('ERROR', 'Service Id was not specified ');
}
$sql = "SELECT * FROM service WHERE group_id={$group_id} AND service_id={$service_id}";
$result = db_query($sql);
if (db_numrows($result) < 1) {
exit_error($Language->getText('global', 'error'), $Language->getText('project_admin_editservice', 's_not_exist', $service_id));
}
$service = db_fetch_array($result);
$readonly = false;
$is_superuser = true;
if (!user_is_super_user()) {
$is_superuser = false;
if (!$service['is_active']) {
exit_error($Language->getText('project_admin_editservice', 'forbidden'), $Language->getText('project_admin_editservice', 'no_access_inactive_s'));
}
if ($service['scope'] == "system") {
// Display service as read-only
$readonly = true;
}
}
if (!ServiceManager::instance()->isServiceAllowedForProject($project, $service_id)) {
exit_error('ERROR', $GLOBALS['Language']->getText('project_admin_servicebar', 'not_allowed'));
}
display_service_configuration_form($group_id, $service_id, $service, $readonly, $is_superuser);
}
project_admin_footer(array());
示例7: install
/**
* special install function
*
*/
function install()
{
if ($this->gid == 1) {
if (!user_is_super_user()) {
exit_error($GLOBALS['Language']->getText('global', 'error'), $GLOBALS['Language']->getText('plugin_phpwiki_lib_wikipagewrap', 'right_error'));
}
}
$we = new PHPWikiEntry();
$we->setGid($this->gid);
$we->setLanguage_id($_REQUEST['language_id']);
$name_fr = "Page d'accueil";
$page_fr = "PageAccueil";
$desc_fr = "Document initial du Wiki";
$name_en = "Home Page";
$page_en = "HomePage";
$desc_en = "Initial wiki document";
switch ($we->getLanguage_id()) {
// English
case 'en_US':
define('WIKI_PGSRC', 'codendipgsrc');
define('DEFAULT_WIKI_PGSRC', PHPWIKI_SRC_PATH . '/codendipgsrc');
$we->setName($name_en);
$we->setPage($page_en);
$we->setDesc($desc_en);
break;
// French
// French
case 'fr_FR':
define('WIKI_PGSRC', 'pgsrc');
define('DEFAULT_WIKI_PGSRC', PHPWIKI_SRC_PATH . '/locale/fr/pgsrc');
$we->setName($name_fr);
$we->setPage($page_fr);
$we->setDesc($desc_fr);
break;
default:
define('WIKI_PGSRC', 'codendipgsrc');
define('DEFAULT_WIKI_PGSRC', PHPWIKI_SRC_PATH . '/codendipgsrc');
$we->setName($name_en);
$we->setPage($page_en);
$we->setDesc($desc_en);
}
$we->add();
$this->render();
}
示例8: svn_utils_check_access
/**
* Function svn_utils_check_access : check if the user $username can access the path $svnpath of the project $gname
* regarding the global arrays $SVNACCESS and $SVNGROUPS.
*
* @param string $username the login name of the user we want to check the perms
* @param string $project_svnroot the unix name of the group (project)
* @param string $svnpath the subversion path to check
* @global array $SVNACCESS the array populated with the rights for each user for this project $gname
* @global array $SVNGROUPS the array populated with the members of each ugroup of this project
*
* Warning:
* The code source of this function is writing in Python too.
* If you modify part of this code, thanks to check if
* the corresponding Python code needs to be updated too.
* (see src/utils/svn/svnaccess.py)
*/
function svn_utils_check_access($username, $project_svnroot, $svnpath)
{
global $SVNACCESS;
if (user_getname() == $username && user_is_super_user()) {
return true;
}
$em =& EventManager::instance();
$em->processEvent('svn_check_access_username', array('username' => &$username, 'project_svnroot' => $project_svnroot));
$username = strtolower($username);
if ($SVNACCESS == "None") {
svn_utils_parse_access_file($project_svnroot);
}
$perm = '';
$path = '/' . $svnpath;
while (true) {
if (array_key_exists($username, $SVNACCESS) && array_key_exists($path, $SVNACCESS[$username])) {
$perm = $SVNACCESS[$username][$path];
//echo "match: SVNACCESS[$username][$path] $perm";
break;
} else {
if (array_key_exists('*', $SVNACCESS) && array_key_exists($path, $SVNACCESS['*'])) {
$perm = $SVNACCESS['*'][$path];
//echo "match: SVNACCESS[*][$path] $perm";
break;
} else {
// see if it maches higher in the path
if ($path == '/') {
break;
}
$idx = strrpos($path, '/');
if ($idx == 0) {
$path = '/';
} else {
$path = substr($path, 0, $idx);
}
}
}
}
if (strpos($perm, 'r') === false) {
return false;
} else {
return true;
}
}
示例9: getInstance
/**
* @return Widget
*/
public static function getInstance($widget_name)
{
$o = null;
switch ($widget_name) {
case 'mysurveys':
$o = new Widget_MySurveys();
break;
case 'myprojects':
$o = new Widget_MyProjects();
break;
case 'mybookmarks':
$o = new Widget_MyBookmarks();
break;
case 'mymonitoredforums':
$o = new Widget_MyMonitoredForums();
break;
case 'mymonitoredfp':
$o = new Widget_MyMonitoredFp();
break;
case 'mylatestsvncommits':
$o = new Widget_MyLatestSvnCommits();
break;
case 'myartifacts':
$o = new Widget_MyArtifacts();
break;
case 'myrss':
$o = new Widget_MyRss();
break;
case 'mytwitterfollow':
$o = new Widget_MyTwitterFollow();
break;
//case 'mywikipage': //not yet
// $o = new Widget_MyWikiPage();
// break;
//case 'mywikipage': //not yet
// $o = new Widget_MyWikiPage();
// break;
case 'myimageviewer':
$o = new Widget_MyImageViewer();
break;
case 'myadmin':
if (user_is_super_user()) {
//This widget is only for super admin
$o = new Widget_MyAdmin();
}
break;
case 'mysystemevent':
if (user_is_super_user()) {
//This widget is only for super admin
$o = new Widget_MySystemEvent();
}
break;
case 'projectdescription':
$o = new Widget_ProjectDescription();
break;
case 'projectclassification':
$o = new Widget_ProjectClassification();
break;
case 'projectmembers':
$o = new Widget_ProjectMembers();
break;
case 'projectlatestfilereleases':
$o = new Widget_ProjectLatestFileReleases();
break;
case 'projectlatestnews':
$o = new Widget_ProjectLatestNews();
break;
case 'projectpublicareas':
$o = new Widget_ProjectPublicAreas();
break;
case 'projectrss':
$o = new Widget_ProjectRss();
break;
case 'projecttwitterfollow':
$o = new Widget_ProjectTwitterFollow();
break;
case 'projectsvnstats':
$o = new Widget_ProjectSvnStats();
break;
//case 'projectwikipage': //not yet
// $o = new Widget_ProjectWikiPage();
// break;
//case 'projectwikipage': //not yet
// $o = new Widget_ProjectWikiPage();
// break;
case 'projectlatestsvncommits':
$o = new Widget_ProjectLatestSvnCommits();
break;
case 'projectlatestcvscommits':
$o = new Widget_ProjectLatestCvsCommits();
break;
case 'projectimageviewer':
$o = new Widget_ProjectImageViewer();
break;
default:
$em = EventManager::instance();
$em->processEvent('widget_instance', array('widget' => $widget_name, 'instance' => &$o));
//.........这里部分代码省略.........
示例10: exit_permission_denied
$arh->fetchData($update_default);
if ($arh->scope == 'P' && $ath->userIsAdmin()) {
$arh->updateDefaultReport();
$GLOBALS['Response']->addFeedback('info', $Language->getText('tracker_admin_index', 'update_success'));
}
}
}
}
if ($request->getValidated('new_report')) {
$arh->createReportForm();
} else {
if ($request->getValidated('show_report')) {
if ($arh->scope == 'P' && !$ath->userIsAdmin()) {
exit_permission_denied();
}
if ($arh->scope == 'S' && !user_is_super_user()) {
exit_permission_denied();
}
$arh->showReportForm();
} else {
// Front page
$reports = $arh->getReports($atid, user_getid());
$arh->showAvailableReports($reports);
}
}
$ath->footer(array());
break;
case 'canned':
if (!user_isloggedin()) {
exit_not_logged_in();
return;
示例11: session_require
/**
*
* Method of easily enforcing permissions
* Page will terminate with error message if you fail checks
*
*/
function session_require($req)
{
if (!user_isloggedin()) {
exit_permission_denied();
}
/*
SF Admins always have permission
*/
if (user_is_super_user()) {
return true;
}
if ($req['group']) {
$group =& group_get_object($req['group']);
if (!$group) {
exit_no_group();
}
if ($req['admin_flags']) {
//$query .= " AND admin_flags = '$req[admin_flags]'";
if (!$group->userIsAdmin()) {
exit_permission_denied();
}
} else {
if (!$group->userIsMember()) {
exit_permission_denied();
}
}
} else {
if ($req['isloggedin']) {
//no need to check as long as the check is present at top of function
} else {
exit_permission_denied();
}
}
}
示例12: menu_print_sidebar
function menu_print_sidebar($params)
{
if (!user_isloggedin()) {
echo menu_notloggedin();
if (!$GLOBALS['sys_allow_anon']) {
return;
}
} else {
echo menu_loggedin($params['title']);
}
// LJ Site Admin menu added here
if (user_is_super_user()) {
echo menu_site_admin();
}
echo menu_software();
echo menu_site();
//search menu
echo menu_search();
?>
<div align="center">
<?php
echo $GLOBALS['HTML']->getOsdnNavDropdown();
?>
</div>
<?php
}
示例13: userCanSubmit
/**
* userCanSubmit - determine if the user can submit an artifact (if he can submit a field).
* Note that if there is no group explicitely auhtorized, access is denied (don't check default values)
*
* @param $my_user_id if not specified, use the current user id..
* @return boolean user_can_submit.
*/
function userCanSubmit($my_user_id = 0)
{
if (!$my_user_id) {
// Super-user has all rights...
if (user_is_super_user()) {
return true;
}
$my_user_id = user_getid();
} else {
$u = UserManager::instance()->getUserById($my_user_id);
if ($u->isSuperUser()) {
return true;
}
}
// Select submit permissions for all fields
$sql = "SELECT ugroup_id \n FROM permissions \n WHERE permission_type='TRACKER_FIELD_SUBMIT' \n AND object_id LIKE '" . db_ei($this->getID()) . "#%' \n GROUP BY ugroup_id";
$res = db_query($sql);
if (db_numrows($res) > 0) {
while ($row = db_fetch_array($res)) {
// should work even for anonymous users
if (ugroup_user_is_member($my_user_id, $row['ugroup_id'], $this->Group->getID(), $this->getID())) {
return true;
}
}
}
return false;
}
示例14: _currentUserCanUpdateLayout
/**
* _currentUserCanUpdateLayout
*
* @return boolean true if the user dan uppdate the layout (add/remove widget, collapse, set preferences, ...)
* @param owner_id
* @param owner_type
*/
function _currentUserCanUpdateLayout($owner_id, $owner_type)
{
$readonly = true;
$request = HTTPRequest::instance();
switch ($owner_type) {
case self::OWNER_TYPE_USER:
if (user_getid() == $owner_id) {
//Current user can only update its own /my/ page
$readonly = false;
}
break;
case self::OWNER_TYPE_GROUP:
if (user_is_super_user() || user_ismember($request->get('group_id'), 'A')) {
//Only project admin
$readonly = false;
}
break;
case self::OWNER_TYPE_HOME:
//Only site admin
break;
default:
break;
}
return !$readonly;
}
示例15: _getProjectTabs
function _getProjectTabs($toptab, &$project)
{
global $sys_default_domain;
$pm = ProjectManager::instance();
$tabs = array();
$group_id = $project->getGroupId();
reset($project->service_data_array);
while (list($short_name, $service_data) = each($project->service_data_array)) {
if ((string) $short_name == "admin") {
// for the admin service, we will check if the user is allowed to use the service
// it means : 1) to be a super user, or
// 2) to be project admin
if (!user_is_super_user()) {
if (!user_isloggedin()) {
continue;
// we don't include the service in the $tabs
} else {
if (!user_ismember($group_id, 'A')) {
continue;
// we don't include the service in the $tabs
}
}
}
}
if (!$service_data['is_used']) {
continue;
}
if (!$service_data['is_active']) {
continue;
}
// Get URL, and eval variables
//$project->services[$short_name]->getUrl(); <- to use when service will be fully served by satellite
if ($service_data['is_in_iframe']) {
$link = '/service/?group_id=' . $group_id . '&id=' . $service_data['service_id'];
} else {
$link = $service_data['link'];
}
if ($group_id == 100) {
if (strstr($link, '$projectname')) {
// NOTE: if you change link variables here, change them also in src/common/project/RegisterProjectStep_Confirmation.class.php and src/www/project/admin/servicebar.php
// Don't check project name if not needed.
// When it is done here, the service bar will not appear updated on the current page
$link = str_replace('$projectname', $pm->getProject($group_id)->getUnixName(), $link);
}
$link = str_replace('$sys_default_domain', $GLOBALS['sys_default_domain'], $link);
if ($GLOBALS['sys_force_ssl']) {
$sys_default_protocol = 'https';
} else {
$sys_default_protocol = 'http';
}
$link = str_replace('$sys_default_protocol', $sys_default_protocol, $link);
$link = str_replace('$group_id', $group_id, $link);
}
$enabled = is_numeric($toptab) && $toptab == $service_data['service_id'] || $short_name && $toptab == $short_name;
$hp =& Codendi_HTMLPurifier::instance();
if ($short_name == 'summary') {
// Add a default tab to explain project privacy
if ($project->isPublic()) {
$privacy = 'public';
} else {
$privacy = 'private';
}
$label = '<span class="project_privacy_' . $privacy . '">[';
$label .= $GLOBALS['Language']->getText('project_privacy', $privacy);
$label .= ']</span>';
// Javascript for project privacy tooltip
$js = "\ndocument.observe('dom:loaded', function() {\n \$\$('span[class=project_privacy_private], span[class=project_privacy_public]').each(function (span) {\n var type = span.className.substring('project_privacy_'.length, span.className.length);\n codendi.Tooltips.push(new codendi.Tooltip(span, '/project/privacy.php?project_type='+type));\n });\n});\n";
$this->includeFooterJavascriptSnippet($js);
$label .= ' ' . $hp->purify(util_unconvert_htmlspecialchars($project->getPublicName()), CODENDI_PURIFIER_CONVERT_HTML) . ' »';
} else {
$label = $hp->purify($service_data['label']);
}
$tabs[] = array('link' => $link, 'icon' => null, 'label' => $label, 'enabled' => $enabled, 'description' => $hp->purify($service_data['description']));
}
return $tabs;
}