Example #1
0
/**
 * SUMO MODULE: Users | Export
 * 
 * @version    0.5.0
 * @link       http://sumoam.sourceforge.net SUMO Access Manager
 * @author     Alberto Basso <*****@*****.**>
 * @copyright  Copyright &copy; 2003-2009, Alberto Basso
 * @package    SUMO
 * @category   Console
 */
// set table settings
sumo_set_table_settings();
$num_groups = count($SUMO['user']['group']);
// Create sql query to select only groups of user
$group_query = sumo_get_group_query(false, true);
$users_lang = sumo_get_string_languages();
// Create search query
$search = '';
if ($_SESSION['search_users_list']) {
    $field['user'] = sumo_search_composer($_SESSION['search_users_list'], 'username');
    $field['firstname'] = sumo_search_composer($_SESSION['search_users_list'], 'firstname');
    $field['lastname'] = sumo_search_composer($_SESSION['search_users_list'], 'lastname');
    $field['email'] = sumo_search_composer($_SESSION['search_users_list'], 'email');
    $search = $group_query ? " AND " : " WHERE ";
    $operand = count($field['lastname'][1]) > 1 ? 'AND' : 'OR';
    if ($field['user'][0] && $field['firstname'][0] && $field['lastname'][0]) {
        $search = $search . "((" . $field['user'][0] . ") OR (" . $field['email'][0] . ") OR " . "((" . $field['firstname'][0] . ") " . $operand . " (" . $field['lastname'][0] . ")) OR " . "(" . $field['usergroup'][0] . "))";
    } else {
        $search = '';
    }
}
Example #2
0
/**
 *  Generate available languages list and flag
 */
function sumo_get_flags()
{
    global $SUMO;
    $languages = sumo_get_available_languages();
    $flags = "<div id='menuLanguages' class='menu'>\n";
    for ($l = 0; $l < count($languages); $l++) {
        if ($languages[$l] != $_COOKIE['language']) {
            $lang = sumo_get_string_languages($languages[$l]);
            $flags .= "<a href='?sumo_lang=" . $languages[$l] . "'>" . "<img src='" . $SUMO['page']['web_path'] . "/themes/" . $SUMO['page']['theme'] . "/images/flags/" . $languages[$l] . ".png'" . " class='flag' alt='" . ucwords($lang) . "'>&nbsp;" . ucwords($lang) . "</a>\n";
        }
    }
    $flags .= "</div>" . "<div onmouseover='dropdownmenu(this, event, \"menuLanguages\")'>" . "<img src='" . $SUMO['page']['web_path'] . "/themes/" . $SUMO['page']['theme'] . "/images/flags/" . $_COOKIE['language'] . ".png' " . "alt='" . ucwords(sumo_get_string_languages($_COOKIE['language'])) . "' " . "class='flag'>" . "</div>";
    return $flags;
}
Example #3
0
     } else {
         $tpl['PUT:Status'] = "<select name='active'>\n<option value='0'>" . $language['Disable'] . "</option>\n<option value='1'>" . $language['Enable'] . "</option>\n</select>";
     }
 } else {
     $tpl['PUT:DayLimit'] = $tab['day_limit'] ? $tab['day_limit'] : $language['Unlimited'];
 }
 if ($SUMO['user']['user'] == $tab['username'] || in_array('sumo', $SUMO['user']['group']) || $SUMO['user']['id'] == $tab['owner_id']) {
     $tpl['PUT:FirstName'] = "<input type='text' size='35' name='firstname' value='" . htmlspecialchars($tab['firstname'], ENT_QUOTES) . "'>";
     $tpl['PUT:LastName'] = "<input type='text' size='35' name='lastname' value='" . htmlspecialchars($tab['lastname'], ENT_QUOTES) . "'>";
     $tpl['PUT:Email'] = "<input type='text' size='35' name='email' value='" . $tab['email'] . "'>";
     $tpl['PUT:UserImage'] = "<input type='button' onclick='javascript:window.open(\"?module=users&action=editimg&id=" . $tab['id'] . "\",\"UserImage\",\"height=230,width=300,resizable=yes,scrollbars=yes,status=0,toolbar=0,location=0\");' class='button' value='" . $language['Change'] . "'>";
     $tpl['PUT:Language'] = sumo_get_available_languages(1, 0, $tab['language']);
 } else {
     $tpl['PUT:FirstName'] = htmlspecialchars($tab['firstname'], ENT_QUOTES);
     $tpl['PUT:LastName'] = htmlspecialchars($tab['lastname'], ENT_QUOTES);
     $tpl['PUT:Language'] = ucfirst(sumo_get_string_languages($tab['language']));
     $tpl['PUT:Email'] = "<a href='mailto:" . $tab['email'] . "' title='Send e-mail'>" . $tab['email'] . "</a>";
     $tpl['PUT:UserImage'] = "";
 }
 // to change IP
 if (in_array('sumo', $SUMO['user']['group']) || $SUMO['user']['id'] == $tab['owner_id']) {
     $tpl['PUT:IP'] = "<textarea rows='2' cols='40' name='ip'>" . implode("; ", $tab['ip']) . "</textarea>";
 } else {
     $tpl['PUT:IP'] = implode("; ", $tab['ip']);
 }
 // Remove
 if ((in_array('sumo', $SUMO['user']['group']) || sumo_verify_permissions(7, $tab['group']) || $SUMO['user']['id'] == $tab['owner_id']) && $tab['username'] != 'sumo' && $tab['username'] != $SUMO['user']['user']) {
     $msg = sumo_get_simple_rand_string(4, "123456789");
     $tpl['LINK:Remove'] = "<div class='sub-module-icon' " . "onmouseover='this.style.outline=\"1px solid #999999\";this.style.background=\"#FFFFFF\"' " . "onmouseout='this.style.outline=\"\";this.style.background=\"\"'>" . "<a href=\"javascript:sumo_show_message('msg{$msg}', '" . htmlspecialchars(sumo_get_message('AreYouSureDelete', array($tab['username'], htmlspecialchars($tab['firstname'], ENT_QUOTES), htmlspecialchars($tab['lastname'], ENT_QUOTES)))) . "', \n\t\t\t\t\t\t\t 'h', 0,\n\t\t\t\t\t\t\t '" . base64_encode(sumo_get_form_req('', 'delete', 'id=' . $tab['id'])) . "',\n\t\t\t\t\t\t\t '" . base64_encode('') . "',\n\t\t\t\t\t\t\t '" . base64_encode("<input type='button' value='" . $language['Cancel'] . "' onclick='javascript:sumo_remove_window(\"msg{$msg}\");' class='button'>") . "',\n\t\t\t\t\t\t\t '" . base64_encode("<input type='submit' value='" . $language['Ok'] . "' onclick='javascript:sumo_remove_window(\"msg{$msg}\");'>") . "');\" class='button'>" . "<img src='themes/" . $SUMO['page']['theme'] . "/images/modules/users/delete.png' vspace='4'><br>" . $language['Remove'] . "</a>" . "</div>";
 } else {
     $tpl['LINK:Remove'] = sumo_get_action_icon("users", "delete");
Example #4
0
/**
 * Get available languages from "SUMO_PATH/languages/" directory
 * and return an array with languages
 * or an HTML selection box if $type=1
 *
 * @author Alberto Basso <*****@*****.**>
 */
function sumo_get_available_languages($type = 0, $autosubmit = 0, $default = '', $name = 'language')
{
    global $SUMO;
    $dh = @dir(SUMO_PATH . '/languages');
    while ($entry = $dh->read()) {
        if (is_dir(SUMO_PATH . '/languages/' . $entry) && $entry != '.' && $entry != '..') {
            $available_lang[] = $entry;
        }
    }
    $dh->close();
    asort($available_lang);
    reset($available_lang);
    if ($type == 1) {
        $languages = sumo_get_string_languages();
        $autosubmit = $autosubmit ? " onchange='submit();'" : "";
        $num_available_lang = count($available_lang);
        $language = "<style>\n" . "select.icon-menu option {\n\t\t\t\t\t\tbackground-repeat:no-repeat;\n\t\t\t\t\t\tbackground-position:bottom left;\n\t\t\t\t\t\tpadding-left:25px;\n\t\t\t\t\t\t}";
        for ($l = 0; $l < $num_available_lang; $l++) {
            $language .= "select#countries option[value='{$available_lang[$l]}'] {\n" . "background-image:url(themes/" . $SUMO['page']['theme'] . "/images/flags/{$available_lang[$l]}.png);\n" . "}\n";
        }
        $language .= "</style>\n" . "<select name='" . $name . "'" . $autosubmit . " id='countries' class='icon-menu'>\n";
        for ($l = 0; $l < $num_available_lang; $l++) {
            $selected = $available_lang[$l] == $default ? " selected" : "";
            $language .= "<option value='" . $available_lang[$l] . "'{$selected}>" . ucwords($languages[$available_lang[$l]]) . "</option>\n";
        }
        $language .= "</select>";
        return $language;
    } else {
        return $available_lang;
    }
}
Example #5
0
 * @link       http://sumoam.sourceforge.net SUMO Access Manager
 * @author     Alberto Basso <*****@*****.**>
 * @copyright  Copyright &copy; 2003-2009, Alberto Basso
 * @package    SUMO
 * @category   Console
 */
$tab = sumo_get_user_info($_GET['id'], 'id', FALSE);
if (sumo_verify_permissions(3, $tab['group']) || sumo_verify_permissions(FALSE, FALSE, $SUMO['user']['user'])) {
    $datasource = sumo_get_datasource_info($tab['datasource_id'], FALSE);
    $tpl['GET:User'] = $tab['username'];
    $tpl['GET:Email'] = $tab['email'];
    $tpl['GET:DayLimit'] = !$tab['day_limit'] ? $language['Unlimited'] : $tab['day_limit'];
    $tpl['GET:FirstName'] = htmlspecialchars($tab['firstname'], ENT_QUOTES);
    $tpl['GET:LastName'] = htmlspecialchars($tab['lastname'], ENT_QUOTES);
    $tpl['GET:IP'] = implode("; ", $tab['ip']);
    $tpl['GET:Language'] = ucwords(sumo_get_string_languages($tab['language']));
    $tpl['GET:LastLogin'] = sumo_get_human_date($tab['last_login']);
    $tpl['GET:AccountCreated'] = sumo_get_human_date($tab['created']);
    $tpl['GET:Modified'] = sumo_get_human_date($tab['modified']);
    $tpl['GET:UserAccessPages'] = sumo_get_user_accesspoints($tab['id'], TRUE);
    $tpl['GET:GroupLevel'] = sumo_get_user_grouplevel($tab['group_level']);
    $tpl['GET:Expire'] = $tab['day_limit'] != NULL ? sumo_get_human_date($tab['day_limit'] * 86400 + $SUMO['server']['time'], FALSE) : $language['Never'];
    $tpl['GET:DataSourceType'] = $datasource['name'] ? "<a href='javascript:sumo_ajax_get(\"network\",\"?module=network&action=view_datasource&id=" . $datasource['id'] . "\");'>" . $datasource['name'] . "</a>" : '';
    $tpl['GET:Email'] = "<a href='mailto:" . $tab['email'] . "' title='Send e-mail'>" . $tab['email'] . "</a>";
    $tpl['LINK:AddUser'] = sumo_get_action_icon("", "new", "users.content", "?module=users&action=new&decoration=false");
    $tpl['LINK:EditUser'] = sumo_get_action_icon("", "edit", "users.content", "?module=users&action=edit&id=" . $tab['id'] . "&decoration=false");
    $tpl['IMG:User'] = "******" . $tab['id'] . "' alt='" . $tab['username'] . "' class='user'>";
    $tpl['IMG:Language'] = "<img src='themes/" . $SUMO['page']['theme'] . "/images/flags/" . $tab['language'] . ".png' alt='" . ucwords($tab['language']) . "' class='flag'>";
    // Verify image support for refection effects
    if (function_exists('imagecreatefromjpeg') && function_exists('imagecreatefrompng') && function_exists('imagecreatefromgif')) {
        $tpl['IMG:User'] . "<br><img src='services.php?module=users&service=image&cmd=GET_USER_REFLECTION&id=" . $tab['id'] . "&fade=6&height=30%'>";
Example #6
0
 * @version    0.5.0
 * @link       http://sumoam.sourceforge.net SUMO Access Manager
 * @author     Alberto Basso <*****@*****.**>
 * @copyright  Copyright &copy; 2003-2009, Alberto Basso
 * @package    SUMO
 * @category   Console
 */
$tab = sumo_get_user_info($_GET['id'], 'id', FALSE);
$conf = sumo_get_config('server', FALSE);
$conf = $conf['config'];
$yes = "<img src='themes/" . $SUMO['page']['theme'] . "/images/modules/settings/yes.gif' alt='" . $language['Enabled'] . "'>";
$no = "<img src='themes/" . $SUMO['page']['theme'] . "/images/modules/settings/no.gif' alt='" . $language['Disabled'] . "'>";
// Generic
$tpl['GET:server.admin.name'] = $conf['server']['admin']['name'];
$tpl['GET:server.admin.email'] = $conf['server']['admin']['email'];
$tpl['GET:server.language'] = ucwords(sumo_get_string_languages($conf['server']['language']));
$tpl['IMG:server.language'] = "<img src='themes/" . $SUMO['page']['theme'] . "/images/flags/" . $conf['server']['language'] . ".png' alt='" . $tpl['GET:server.language'] . "' class='flag'>";
$tpl['GET:server.date_format'] = $conf['server']['date_format'];
$tpl['GET:server.time_format'] = $conf['server']['time_format'];
$tpl['GET:iptocountry.enabled'] = $conf['iptocountry']['enabled'] ? $yes : $no;
// Console
$tpl['GET:console.tip'] = $conf['console']['tip'] ? $yes : $no;
// Security
$tpl['GET:security.max_login_attempts'] = $conf['security']['max_login_attempts'];
$tpl['GET:security.banned_time'] = sumo_convert_sec2hms($conf['security']['banned_time']);
$tpl['GET:security.access_violations'] = $conf['security']['access_violations'] ? $yes : $no;
// Accesspoints
$tpl['GET:accesspoints.stats.enabled'] = $conf['accesspoints']['stats']['enabled'] ? $yes : $no;
$tpl['GET:accesspoints.def_name'] = sumo_get_accesspoint_name($conf['accesspoints']['def_name'], $_COOKIE['language']);
$tpl['GET:accesspoints.def_group'] = $conf['accesspoints']['def_group'];
$tpl['GET:accesspoints.def_theme'] = ucwords($conf['accesspoints']['def_theme']);