Exemple #1
0
         if ($db->num_rows()) {
             $row = $db->fetch_assoc();
             html_convert_array($row);
             echo json_encode($row);
         } else {
             echo '{"error" : "' . htmlentities(NO_ENTRIES_ID) . '"}';
         }
     } else {
         echo '{"error" : "' . htmlentities(NO_ADMIN_RIGHTS) . '"}';
     }
     break;
 case 'del_rank':
     if (@$_SESSION['rights']['admin']['ranks']['del'] or @$_SESSION['rights']['superadmin']) {
         @unlink('images/ranks/' . $db->result(DB_PRE . 'ecp_ranks', 'iconname', 'rankID = ' . (int) $_GET['id']));
         if ($db->query('DELETE FROM ' . DB_PRE . 'ecp_ranks WHERE rankID = ' . (int) $_GET['id'])) {
             update_all_ranks();
             echo 'ok';
         }
     } else {
         echo html_ajax_convert(NO_ADMIN_RIGHTS);
     }
     break;
 case 'user_add_group':
     if (@$_SESSION['rights']['admin']['groups']['add_m'] or @$_SESSION['rights']['superadmin']) {
         if (isset($_GET['gid'])) {
             if ($db->result(DB_PRE . 'ecp_user_groups', 'COUNT(userID)', 'gID = ' . (int) $_GET['gid'] . ' AND userID = ' . (int) $_GET['id'])) {
                 echo USER_ALLREADY_IN_GROUP;
             } else {
                 if ($db->query('INSERT INTO ' . DB_PRE . 'ecp_user_groups (userID, gID) VALUES (' . (int) $_GET['id'] . ', ' . (int) $_GET['gid'] . ')')) {
                     $db->query('UPDATE ' . DB_PRE . 'ecp_user SET update_rights = 1 WHERE ID = ' . (int) $_GET['id']);
                     echo 'ok';
Exemple #2
0
function nulluhr()
{
    global $db;
    update_all_ranks();
    $db->query('DELETE FROM ' . DB_PRE . 'ecp_messages WHERE fromdel = 1 AND del = 1');
    $result = $db->query('SELECT ID FROM ' . DB_PRE . 'ecp_user WHERE (ondelete < ' . time() . ' AND ondelete != 0) OR (status = 0 AND registerdate < ' . (time() - DELETE_UNAKTIV * 86400) . ')');
    while ($row = mysql_fetch_assoc($result)) {
        delete_user($row['ID']);
    }
    $result = $db->query('SELECT ID, money FROM ' . DB_PRE . 'ecp_user LEFT JOIN ' . DB_PRE . 'ecp_ranks ON (rID = rankID)');
    while ($row = mysql_fetch_assoc($result)) {
        if ($row['money'] != '') {
            $db->query('UPDATE ' . DB_PRE . 'ecp_user_stats SET money = money + ' . $row['money'] . ' WHERE userID = ' . $row['ID']);
        }
    }
    if (BACKUP_AKTIV) {
        $last = $db->result(DB_PRE . 'ecp_stats', 'lastdbbackup', '1');
        if (BACKUP_CYCLE == 'day' or $last + (BACKUP_CYCLE == 'month' ? 2592000 : 604800) < time()) {
            $backup_obj = new MySQL_Backup();
            $backup_obj->server = MYSQL_HOST;
            $backup_obj->username = MYSQL_USER;
            $backup_obj->password = MYSQL_PASS;
            $backup_obj->database = MYSQL_DATABASE;
            $backup_obj->tables = array();
            $backup_obj->drop_tables = true;
            $backup_obj->struct_only = false;
            $backup_obj->comments = true;
            $backup_obj->fname_format = 'd_m_y__H_i_s';
            $string = get_random_string(8, 2);
            if ($backup_obj->Execute(MSB_SAVE, 'uploads/forum/' . $string . '.sql.gz', true)) {
                $m = new XMail();
                // set from address and name
                $m->From(SITE_EMAIL);
                // add to address and name
                $m->AddTo(BACKUP_EMAIL);
                // set subject
                $m->Subject(BACKUP_AUTO);
                // set text/plain version of message
                $m->Text(DATE . ': ' . date('d.m.Y H:i:s'));
                // add attachment ('text/plain' file)
                $m->Attach(date('Y_m_d') . '.sql.gz', 'application/x-gzip');
                $f = 'uploads/forum/' . $string . '.sql.gz';
                $id = MIME::unique();
                // add inline attachment '$f' file with ID '$id'
                $m->Attach(file_get_contents($f), FUNC::mime_type($f), null, null, null, 'attachment', $id);
                if (SMTP_AKTIV) {
                    $c = $m->Connect(SMTP_HOST, (int) SMTP_PORT, SMTP_USER, SMTP_PASS, 'tls', 10, 'localhost', null, 'plain');
                    //or die(print_r($m->Result));
                }
                if ($m->Send(SMTP_AKTIV ? $c : null)) {
                    $db->query('UPDATE ' . DB_PRE . 'ecp_stats SET lastdbbackup = ' . strtotime('today 00:00:00'));
                }
                unlink('uploads/forum/' . $string . '.sql.gz');
            }
        }
    }
    $result = $db->query('SELECT attachID, strname FROM ' . DB_PRE . 'ecp_forum_attachments WHERE (tID = 0 OR bID = 0) AND uploadzeit < ' . (time() - 1000));
    while ($row = $db->fetch_assoc()) {
        @unlink('upload/forum/' . $row['attachID'] . '_' . $row['strname']);
    }
    $db->query('DELETE FROM ' . DB_PRE . 'ecp_forum_attachments WHERE (tID = 0 OR bID = 0) AND uploadzeit < ' . (time() - 1000));
    // Buchungen durchf�hren
    $buchresult = $db->query('SELECT `ID`, `verwendung`, `intervall`, `betrag`, `nextbuch`, `tagmonat` FROM ' . DB_PRE . 'ecp_clankasse_auto WHERE nextbuch <= \'' . time() . '\'');
    while ($row = mysql_fetch_assoc($buchresult)) {
        $db->query('INSERT INTO ' . DB_PRE . 'ecp_clankasse_transaktion (`geld`, `verwendung`, `datum`, `userID`) VALUES
                 (-' . $row['betrag'] . ', \'' . mysql_real_escape_string($row['verwendung']) . '\', ' . time() . ', 0)');
        $db->query('UPDATE ' . DB_PRE . 'ecp_clankasse SET kontostand = kontostand - ' . $row['betrag']);
        switch ($row['tagmonat']) {
            case 1:
                $nextdate = strtotime('+ ' . (int) $row['intervall'] . ' month');
                break;
            case 15:
                $nextdate = strtotime('+ ' . (int) $row['intervall'] . ' month');
                break;
            case 28:
                $nextdate = strtotime('+ ' . (int) $row['intervall'] . ' month');
        }
        $db->query('UPDATE ' . DB_PRE . 'ecp_clankasse_auto SET `nextbuch` = \'' . $nextdate . '\'');
    }
    $db->query('DELETE FROM ' . DB_PRE . 'ecp_forum_search WHERE datum < ' . (time() - 86400));
    $result = $db->query('SELECT COUNT(sID) as anzahl, sID FROM ' . DB_PRE . 'ecp_server_stats GROUP BY sID');
    while ($row = mysql_fetch_assoc($result)) {
        if ($row['anzahl'] > SERVER_MAX_LOG) {
            $db->query('DELETE FROM ' . DB_PRE . 'ecp_server_stats WHERE sID = ' . $row['sID'] . ' ORDER BY datum ASC LIMIT ' . ($row['anzahl'] - SERVER_MAX_LOG));
        }
    }
}
Exemple #3
0
function admin_ranks_edit($id)
{
    ob_end_clean();
    global $db;
    if (!isset($_SESSION['rights']['admin']['ranks']['edit']) and !isset($_SESSION['rights']['superadmin'])) {
        echo NO_ADMIN_RIGHTS;
    } else {
        $db->setMode(0);
        ajax_convert_array($_POST);
        $sql = sprintf('UPDATE ' . DB_PRE . 'ecp_ranks SET `rankname` = \'%s\',`abposts` = %d,`fest` = %d, money = %f WHERE rankID = %d', strsave($_POST['rankname']), (int) @$_POST['abposts'], (int) @$_POST['fest'], (double) str_replace(',', '.', @$_POST['money']), $id);
        if ($db->query($sql)) {
            echo 'ok';
            update_all_ranks();
        }
    }
    die;
}