예제 #1
0
파일: api_voice.php 프로젝트: Eun/developer
 $externalUserID = isExternalID($data['user_externalid']);
 $username = $data['username'];
 $identifyServerBy = $data['identify_server_by'];
 $localServerID = isid($data['server_local_id'], 21);
 $externalServerID = isExternalID($data['server_external_id']);
 if (dataExist('identify_server_by', $data)) {
     $query = $sql->prepare("SELECT v.*,u.`cname` FROM `voice_server` AS v INNER JOIN `userdata` AS u ON u.`id`=v.`userid` WHERE v.`" . $from[$data['identify_server_by']] . "`=? AND v.`resellerid`=? LIMIT 1");
     $query->execute(array($data[$data['identify_server_by']], $resellerID));
     while ($row = $query->fetch(PDO::FETCH_ASSOC)) {
         $localID = $row['id'];
         $userID = $row['userid'];
         $hostID = $row['masterserver'];
         $masterServerID = $row['masterserver'];
         $oldSlots = $row['slots'];
         $name = $row['ip'] . ':' . $row['port'];
         $usedPorts = usedPorts(array($row['ip']));
         $oldActive = $row['active'];
         $ip = $row['ip'];
         $private = $row['password'];
         $port = $row['port'];
         $active = $row['active'];
         $slots = $row['slots'];
         $max_download_total_bandwidth = $row['max_download_total_bandwidth'];
         $max_upload_total_bandwidth = $row['max_upload_total_bandwidth'];
         $maxtraffic = $row['maxtraffic'];
         $forcebanner = $row['forcebanner'];
         $forcebutton = $row['forcebutton'];
         $forceservertag = $row['forceservertag'];
         $forcewelcome = $row['forcewelcome'];
         $lendserver = $row['lendserver'];
         $backup = $row['backup'];
예제 #2
0
         $query->execute(array($userID, $resellerLockupID));
         if ($query->rowCount() == 0) {
             $error['userID'] = $sprache->user;
         }
     }
 }
 if (!$active) {
     $errors['active'] = $sprache->active;
 }
 if (!$ip) {
     $errors['ip'] = $sprache->ip;
 }
 if (!$port) {
     $errors['port'] = $sprache->port;
 } else {
     $used = usedPorts(array($ip));
     if (in_array($port, $used['ports']) and ($ui->st('action', 'post') == 'ad' or $ui->st('action', 'post') == 'md' and isset($oldPort, $oldIp) and ($oldPort != $port or $ip != $oldIp))) {
         $errors['port'] = $sprache->port;
     }
 }
 if (!$slots) {
     $errors['slots'] = $sprache->slots;
 } else {
     $query2 = $sql->prepare("SELECT SUM(`slots`) AS `installedslots`  FROM `voice_server` WHERE `masterserver`=? AND `resellerid`=? LIMIT 1");
     $query2->execute(array($rootID, $resellerLockupID));
     $futureSlots = (int) $query2->fetchColumn() - $oldSlots + $slots;
     if ($futureSlots > $masterServerData['maxslots']) {
         $errors['slots'] = $sprache->slots;
     }
 }
 if ($ui->st('action', 'post') == 'ad' and !$userID) {
 *
 * Easy-WI ist Freie Software: Sie koennen es unter den Bedingungen
 * der GNU General Public License, wie von der Free Software Foundation,
 * Version 3 der Lizenz oder (nach Ihrer Wahl) jeder spaeteren
 * veroeffentlichten Version, weiterverbreiten und/oder modifizieren.
 *
 * Easy-WI wird in der Hoffnung, dass es nuetzlich sein wird, aber
 * OHNE JEDE GEWAEHELEISTUNG, bereitgestellt; sogar ohne die implizite
 * Gewaehrleistung der MARKTFAEHIGKEIT oder EIGNUNG FUER EINEN BESTIMMTEN ZWECK.
 * Siehe die GNU General Public License fuer weitere Details.
 *
 * Sie sollten eine Kopie der GNU General Public License zusammen mit diesem
 * Programm erhalten haben. Wenn nicht, siehe <http://www.gnu.org/licenses/>.
 */
if (!defined('AJAXINCLUDED')) {
    die('Do not access directly!');
}
$sprache = getlanguagefile('voice', $user_language, $reseller_id);
$usedPorts = usedPorts(array($ui->ip4('ip', 'get')));
$portList = count($usedPorts['ports']) > 0 ? implode(', ', $usedPorts['ports']) : 'None';
if ($ui->id('serverID', 10, 'get') and $ui->ip4('ip', 'get')) {
    $query = $sql->prepare("SELECT `port` FROM `voice_server` WHERE `id`=? AND `resellerid`=? AND `ip`=? LIMIT 1");
    $query->execute(array($ui->id('serverID', 10, 'get'), $resellerLockupID, $ui->ip4('ip', 'get')));
    $port = $query->fetchColumn();
} else {
    $port = 9987;
    while (in_array($port, $usedPorts['ports'])) {
        $port++;
    }
}
require_once IncludeTemplate($template_to_use, 'ajax_admin_voice_ports.tpl', 'ajax');
예제 #4
0
         if ($i == $coreCount or $i == $data['coreCount']) {
             break;
         }
     }
     $calculatedCores = implode(',', $calculatedCores);
 }
 $hostExternalID = $row['externalID'];
 $oldSlots = $row['slots'];
 $name = $row['serverip'] . ':' . $row['port'];
 $oldActive = $row['active'];
 $oldIP = $row['serverip'];
 $oldPort = $row['port'];
 $oldHomeDirLabel = $row['homeLabel'];
 $oldHdd = $row['hdd'];
 $oldProtected = $row['pallowed'];
 $usedPorts = usedPorts(array($row['serverip']));
 $active = $row['active'];
 $ip = $row['serverip'];
 $port = $row['port'];
 $port2 = $row['port2'];
 $port3 = $row['port3'];
 $port4 = $row['port4'];
 $port5 = $row['port5'];
 $cores = $row['cores'];
 $minram = $row['minram'];
 $maxram = $row['maxram'];
 $pallowed = $row['pallowed'];
 $autoRestart = $row['autoRestart'];
 $homeDirLabel = $row['homeLabel'];
 $hdd = $row['hdd'];
 $query = $sql->prepare("SELECT COUNT(`jobID`) AS `amount` FROM `jobs` WHERE `affectedID`=? AND `resellerID`=? AND `action`='dl' AND (`status` IS NULL OR `status`='1') LIMIT 1");
예제 #5
0
            if (isset($values['size'])) {
                $query2->execute(array($ui->id('id', 10, 'get'), $key));
                $usedSpace[$key] = array('installed' => (int) $query2->fetchColumn() / 1000, 'available' => $values['size']);
            }
        }
    }
    if (count($table2) == 0) {
        $table2[] = 'home';
    }
}
$query = $sql->prepare("SELECT t.`id`,t.`description`,t.`shorten` FROM `servertypes` t WHERE t.`resellerid`=? AND EXISTS (SELECT m.`id` FROM `rservermasterg` m WHERE m.`serverid`=? AND m.`servertypeid`=t.`id` LIMIT 1) ORDER BY t.`description` ASC");
$query->execute(array($resellerLockupID, $ui->id('id', 10, 'get')));
while ($row = $query->fetch(PDO::FETCH_ASSOC)) {
    $table[$row['id']] = array('shorten' => $row['shorten'], 'description' => $row['description']);
}
$used = usedPorts($ui->id('currentRootID', 10, 'get') == $ui->id('id', 10, 'get') ? array($ui->ip4('currentIP', 'get')) : $ips);
$ports = count($used['ports']) > 0 ? implode(', ', $used['ports']) : 'None';
$ip = $used['ip'];
$query = $sql->prepare("SELECT `cores`,`taskset` FROM `gsswitch` WHERE `rootID`=? AND `resellerid`=?");
$query->execute(array($ui->id('id', 10, 'get'), $resellerLockupID));
while ($row = $query->fetch(PDO::FETCH_ASSOC)) {
    $ce = explode(',', $row['cores']);
    $cc = count($ce);
    if ($row['taskset'] == 'Y' and $cc > 0) {
        foreach ($ce as $uc) {
            $cores[$uc] = $cores[$uc] + round(1 / $cc, 2);
        }
    }
}
// During edit we need additional data
// To avoid PHP notice during add, we need to define up front