<?php if ($imagePage) { $url = html_encode(getPageURL(getTotalPages(true))); } else { $url = html_encode(getPageURL(getCurrentPage())); } if (substr($url, -1, 1) == '/') { $url = substr($url, 0, strlen($url) - 1); } echo $url = $url . (MOD_REWRITE ? "?" : "&") . 'noflash'; ?> "> View gallery without Flash</a>.</p> </div> <!-- flash --> <?php $flash_url = "index.php?p=search" . html_encode(getSearchParams()) . "&format=xml"; ?> <script type="text/javascript"> // <!-- <![CDATA[ var fo = new SWFObject("<?php echo $_zp_themeroot; ?> /simpleviewer.swf", "viewer", "100%", "100%", "7", "<?php echo $backgroundColor; ?> "); fo.addVariable("preloaderColor", "<?php echo $preloaderColor; ?> "); fo.addVariable("xmlDataPath", "<?php
/** * Show table with all users * */ function SearchUserResult() { global $db, $perm, $ROOT_FOLDER, $INCLUDE_FOLDER; global $UserID, $PermissionGroupID, $Checked, $sort_by, $sort_order, $objcount, $isSearch, $nonConfirmed; global $srchPat, $admin_mode, $curPos; global $systemTableID, $systemMessageID, $systemTableName; global $AUTHORIZE_BY, $ADMIN_PATH, $ADMIN_TEMPLATE; $nc_core = nc_Core::get_object(); $curPos += 0; $grpID = $_GET['grpID']; $rightsIds = $_GET['rightsIds']; $Checked += 0; $sort_by += 0; $sort_order += 0; $objcount += 0; $nonConfirmed += 0; require $ROOT_FOLDER . "message_fields.php"; require_once $INCLUDE_FOLDER . "s_list.inc.php"; //кол-во выводимых пользователей на странице if ($objcount < 1) { $objcount = 20; } //имя поля, по которому будет производиться сортировка switch ($sort_by) { case -2: $order_by_fld = "a." . $AUTHORIZE_BY; break; case -1: $order_by_fld = "a.`User_ID`"; break; case 0: $order_by_fld = "a.PermissionGroup_ID"; break; default: foreach ($fld as $k => $v) { if ($fldID[$k] == $sort_by) { $order_by_fld = "a.`" . $fld[$k] . "`"; break; } } break; } if (!$order_by_fld) { $order_by_fld = "g.PermissionGroup_ID"; } $order = " ORDER BY " . $order_by_fld . ($sort_order ? " DESC" : " ASC"); //параметры поиска $search_params = getSearchParams($fld, $fldType, $fldDoSearch, $srchPat); $fullSearchStr = $search_params['query']; // формирование ссылки, чтобы при переходе по навигации\ сортировки не сбивались рез-ты выборки $native_pars = ""; if (is_array($grpID) && !empty($grpID)) { foreach ($grpID as $v) { $native_pars .= "&grpID[]=" . intval($v); } } if (is_array($rightsIds) && !empty($rightsIds)) { foreach ($rightsIds as $v) { $native_pars .= "&rightsIds[]=" . intval($v); } } if ($Checked) { $native_pars .= "&Checked=" . $Checked; } if ($nonConfirmed) { $native_pars .= "&nonConfirmed=" . $nonConfirmed; } $url = $native_pars . "&" . $search_params['link'] . "&curPos=" . $curPos . "&objcount=" . $objcount; // -= Определение параметров выборки =- $tables = ""; $where = " WHERE ug.`User_ID` = a.`User_ID` AND ug.`PermissionGroup_ID` = g.`PermissionGroup_ID` "; $where .= $fullSearchStr; // В выборке участвует группы if (is_array($grpID) && !empty($grpID)) { $user_in_group = array(); foreach ($grpID as $v) { // Получим всех пользователей, находящихся в данной группе $user_in_group[] = nc_usergroup_get_users_from_group($v); } if (count($user_in_group) > 1) { // если выбрано больше одной группы, то массивы нудно объединить $to_eval = " \$users_id = array_intersect("; for ($i = 0; $i < count($user_in_group) - 1; $i++) { $to_eval .= " \$user_in_group[{$i}], "; } $to_eval .= " \$user_in_group[{$i}] );"; eval($to_eval); } else { // выбрана одна группа $users_id = $user_in_group[0]; } if (empty($users_id)) { $users_id[] = 0; } // на случай, если ничего не нашлось $where .= "AND a.`User_ID` IN (" . join(',', (array) $users_id) . ")"; } // В выборке участвуют права if (is_array($rightsIds) && !empty($rightsIds)) { $tables .= ", `Permission` as p "; $where .= " AND p.AdminType IN (" . implode(",", $rightsIds) . ") AND a.`User_ID`=p.`User_ID` "; } //условия выборки if ($nonConfirmed) { $where .= " AND a.Confirmed = 0 AND a.`RegistrationCode` <> '' "; $Checked = 2; } if ($UserID) { $where .= " AND a.User_ID = '" . $UserID . "'"; } if ($Checked != "" && $Checked != 2) { $where .= " AND a.Checked = '" . $Checked . "'"; } if ($Checked == 2) { $where .= " AND a.Checked = 0"; } // ограничение по количеству $limit = " LIMIT " . $curPos . "," . $objcount; // Основоной запрос на выбору $select = "SELECT SQL_CALC_FOUND_ROWS a.`User_ID` AS id, a.`Checked` AS checked, a.`" . $AUTHORIZE_BY . "` AS login, `Email` AS email,\n g.`PermissionGroup_ID` AS grp, GROUP_CONCAT( CONCAT(g.`PermissionGroup_ID`, '. ', g.`PermissionGroup_Name`) SEPARATOR '<br>') AS groups\n FROM `User` AS a,\n `User_Group` AS ug,\n `PermissionGroup` as g" . $tables . $where . " GROUP BY a.`User_ID` " . $order . $limit; $Users = $db->get_results($select, ARRAY_A); // общее количество пользоватлей $totRows = $db->get_var("SELECT FOUND_ROWS()"); //Форма для выборки пользователей $searchForm = SearchUserForm($totRows); // листинг пользователей $listing = ListUserPages($totRows, $search_params['link'], $grpID, $Checked, $sort_by, $sort_order, $objcount, $rightsIds); // информация о количестве найденных пользователей if (false && $totRows) { echo ($isSearch ? CONTROL_USER_FUNCS_SEARCHEDUSER : CONTROL_USER_FUNCS_USERCOUNT) . ": " . $totRows . "\n"; } echo "<div id='mainForm_c'>"; echo $searchForm; echo $listing; if (!empty($Users)) { $morePreference = $perm->GetUserWithMoreRights(); //id пользователей, которых данный пользователь не может трогать $edit_access = $perm->isAccess(NC_PERM_ITEM_USER, NC_PERM_ACTION_EDIT, -1); // Если ли в приницпе доступ к редактированию $del_access = $perm->isAccess(NC_PERM_ITEM_USER, NC_PERM_ACTION_DEL, -1); // и удалению //$right_access = $perm->isAccess(NC_PERM_ITEM_USER, NC_PERM_ACTION_RIGHT, -1); // и к правам $right_access = $edit_access; // на данный момент право редактирование = право измениие прав ?> <form method='post' action='index.php' id='mainForm'> <table border='0' cellpadding='0' cellspacing='0' width='100%'> <tr> <td> <table class='nc-table nc--striped nc--small' width='100%'> <tr> <th> <a href='?sort_by=-1&sort_order=<?php echo $sort_by == -1 ? !$sort_order : 0; ?> &<?php echo $url; ?> '>ID</a> </th> <th width="40%"> <a href='?sort_by=-2&sort_order=<?php echo $sort_by == -2 ? !$sort_order : 0; ?> &<?php echo $url; ?> '><?php echo CONTROL_USER; ?> </a> </th> <th> <a href='?sort_by=0&sort_order=<?php echo $sort_by == 0 ? !$sort_order : 0; ?> &<?php echo $url; ?> '><?php echo CONTROL_USER_GROUP; ?> </a> </th> <?php if ($edit_access) { ?> <th class='nc-text-right' width='25%'><?php echo CONTROL_USER_ACTIONS; ?> </th> <?php } if ($right_access) { ?> <th class='nc-text-center'><?php echo CONTROL_USER_RIGHTS; ?> </th> <?php } if ($del_access) { ?> <th class='nc-text-center'> <i class='nc-icon nc--remove' title='<?php echo CONTROL_CONTENT_CATALOUGE_FUNCS_SHOWCATALOGUELIST_DELETE; ?> '></i> </th> <?php } ?> </tr> <?php // сообственно вывд пользователя foreach ($Users as $User) { $this_user_edit = !in_array($User['id'], $morePreference); //Может ли редактировать данного пользователя print "<tr>\n"; print "<td >" . $User['id'] . "</td>\n\n <td >\n"; if ($edit_access && $this_user_edit) { print "<a href=\"index.php?phase=4&UserID=" . $User['id'] . "\" " . (!$User['checked'] ? "style='color:#cccccc;'" : "") . ">\n"; } print $AUTHORIZE_BY != "User_ID" && !empty($User['login']) ? $User['login'] : $User['email']; print "</a></td>"; print "<td nowrap>" . $User['groups'] . "</td>"; if ($edit_access) { print "<td align=right nowrap>\n"; if ($this_user_edit) { print "<a href=index.php?" . $nc_core->token->get_url() . "&phase=12&UserID=" . $User['id'] . ">" . ($User['checked'] ? NETCAT_MODERATION_TURNTOOFF : NETCAT_MODERATION_TURNTOON) . "</a> | <a href=\"index.php?phase=6&UserID=" . $User['id'] . "\">" . CONTROL_USER_CHANGEPASS . "</a>\n"; } print "</td>\n"; } if ($right_access) { print "<td align=center>\n"; if ($this_user_edit) { print "<a href=\"index.php?phase=8&UserID=" . $User['id'] . "\"><i class='nc-icon nc--settings nc--hovered' title='" . CONTROL_USER_FUNCS_EDITACCESSRIGHT . "'></div></a>"; } print "</td>"; } if ($del_access) { print "<td align=center>\n"; if ($this_user_edit) { print nc_admin_checkbox_simple("User" . $User['id'], $User['id']); } print "</td>\n"; } print "</tr>\n"; } ?> </table> </td> </tr> </table> <br /> <br /> <?php global $UI_CONFIG; if ($perm->isAccess(NC_PERM_ITEM_USER, NC_PERM_ACTION_ADD)) { $UI_CONFIG->actionButtons[] = array("id" => "adduser", "caption" => CONTROL_USER_REG, "align" => "left", "location" => "user.add()"); } if ($del_access) { $UI_CONFIG->actionButtons[] = array("id" => "submit", "caption" => NETCAT_ADMIN_DELETE_SELECTED, "align" => "right", "action" => "document.getElementById('mainViewIframe').contentWindow.sumbit_form(14)", "red_border" => true); } ?> <script type='text/javascript'> function sumbit_form ( phase ) { document.getElementById('mainForm').phase.value = phase; parent.mainView.submitIframeForm('mainForm'); return 0; } </script> <input type='hidden' name=phase id='phase' value=14 /> <input type='submit' class='hidden' /> </form> <?php echo $listing; } else { nc_print_status(CONTROL_USER_MSG_USERNOTFOUND, 'info'); } echo "</div> <br /> "; return; }
<?php if ($imagePage) { $url = htmlspecialchars(getPageURL(getTotalPages(true))); } else { $url = htmlspecialchars(getPageURL(getCurrentPage())); } if (substr($url, -1, 1) == '/') { $url = substr($url, 0, strlen($url) - 1); } echo $url = $url . (getOption("mod_rewrite") ? "?" : "&") . 'noflash'; ?> "> View gallery without Flash</a>.</p> </div> <!-- flash --> <?php $flash_url = "index.php?p=search" . getSearchParams() . "&format=xml"; ?> <script type="text/javascript"> var fo = new SWFObject("<?php echo $_zp_themeroot; ?> /simpleviewer.swf", "viewer", "100%", "100%", "7", "<?php echo $backgroundColor; ?> "); fo.addVariable("preloaderColor", "<?php echo $preloaderColor; ?> "); fo.addVariable("xmlDataPath", "<?php echo $flash_url;
function SendMessage($PermissionGroupID, $Subject, $Message, $Attach, $is_html = 0) { global $db, $nc_core, $ROOT_FOLDER, $INCLUDE_FOLDER; global $FileToAttach, $FileToAttach_name, $FileToAttach_type; global $SPAM_FROM, $SPAM_FROM_NAME; global $systemTableID, $systemMessageID, $systemTableName; global $srchPat; require_once $INCLUDE_FOLDER . "s_files.inc.php"; require $ROOT_FOLDER . "message_fields.php"; require_once $INCLUDE_FOLDER . "s_list.inc.php"; $search_params = getSearchParams($fld, $fldType, $fldDoSearch, $srchPat); $fullSearchStr = $search_params[query]; $MyEmail = "info@" . $HTTP_DOMAIN; $MyName = "Supervisor"; $SPAM_MAIL = $nc_core->get_settings('UserEmailField'); if (!$SPAM_MAIL) { nc_print_status(CONTROL_USER_MAIL_ERROR_EMAILFIELD, 'error'); return; } $select = "SELECT `" . $SPAM_MAIL . "`\n FROM `User` AS a,\n `User_Group` AS ug\n WHERE a.`User_ID` > 0\n AND ug.`User_ID` = a.`User_ID`\n AND a.`" . $SPAM_MAIL . "` <> ''\n " . ($PermissionGroupID ? " AND ug.`PermissionGroup_ID` = " . intval($PermissionGroupID) : "") . $fullSearchStr . "\n ORDER BY a.`" . $SPAM_MAIL . "`"; if ($Result = $db->get_results($select, ARRAY_N)) { foreach ($Result as $Array) { $Email[] = $Array[0]; } $Email = array_unique($Email); } $m = new CMIMEMail(); $m->mailbody(strip_tags($Message), $is_html ? $Message : ''); if ($Attach) { $FileToAttach_name = $_FILES['FileToAttach']['name']; $FileToAttach_type = $_FILES['FileToAttach']['type']; $m->attachFile($_FILES['FileToAttach']['tmp_name'], $FileToAttach_name, $FileToAttach_type); } if (sizeof($Email)) { @set_time_limit(0); @ignore_user_abort(true); for ($i = 0; $i < sizeof($Email); $i++) { print $i + 1 . " . " . $Email[$i] . "<br>\n"; $m->send($Email[$i], $SPAM_FROM, $SPAM_FROM, $Subject, $SPAM_FROM_NAME); ob_flush(); flush(); } nc_print_status(CONTROL_USER_MAIL_OK, 'ok'); } else { nc_print_status(CONTROL_USER_MAIL_ERROR_NOONEEMAIL, 'error'); } return false; }