Beispiel #1
0
 					<?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 ? "?" : "&amp;") . 'noflash';
            ?>
">
 					View gallery without Flash</a>.</p>
 					</div> <!-- flash -->
 					<?php 
            $flash_url = "index.php?p=search" . html_encode(getSearchParams()) . "&amp;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 
Beispiel #2
0
/**
 * 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 .= "&amp;Checked=" . $Checked;
    }
    if ($nonConfirmed) {
        $native_pars .= "&amp;nonConfirmed=" . $nonConfirmed;
    }
    $url = $native_pars . "&amp;" . $search_params['link'] . "&amp;curPos=" . $curPos . "&amp;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&amp;sort_order=<?php 
        echo $sort_by == -1 ? !$sort_order : 0;
        ?>
&<?php 
        echo $url;
        ?>
'>ID</a>
                                </th>
                                <th width="40%">
                                    <a href='?sort_by=-2&amp;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&amp;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() . "&amp;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>&nbsp;<br />&nbsp;<br />&nbsp;
            <?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>&nbsp;<br />&nbsp;";
    return;
}
Beispiel #3
0
 					<?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") ? "?" : "&amp;") . 'noflash';
                ?>
">
 					View gallery without Flash</a>.</p>
 					</div> <!-- flash -->
 					<?php 
                $flash_url = "index.php?p=search" . getSearchParams() . "&amp;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;
Beispiel #4
0
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;
}