예제 #1
0
 public static function EditPkg($pkgid)
 {
     $xtpl = self::$xtpl;
     $pkg = Package::getInstance();
     $preset = Preset::getInstance();
     $xtpl->assign('PRODUCTSCURR', 'current');
     $xtpl->assign('PKGMANAGECURR', 'current');
     if (!is_numeric($pkgid)) {
         $xtpl->assign('ATTENTIONMSG', 'Package ID is not set');
         $xtpl->parse('main.attention');
     } else {
         $pkgdata = $pkg->FetchData($pkgid);
         $presets = $preset->GetButch('', "`status` = '1'");
         for ($i = 0; $i < count($presets); $i++) {
             if ($pkgdata['presetid'] == $presets[$i]['id']) {
                 $xtpl->assign('DEFAULT', 'selected="selected"');
             } else {
                 $xtpl->assign('DEFAULT', '');
             }
             $xtpl->assign('PRESET', $presets[$i]);
             $xtpl->parse('main.editpkg.preset');
         }
         $xtpl->assign('PKG', $pkgdata);
         $xtpl->assign('DEF' . $pkgdata['paytype'], 'selected="selected"');
         $xtpl->parse('main.editpkg');
     }
     $xtpl->parse('main');
     $xtpl->out('main');
 }
예제 #2
0
 public function Create($orderid)
 {
     $order = Order::getInstance();
     $sm = ServerModule::getInstance();
     $preset = Preset::getInstance();
     $order->orderid = $orderid;
     $orderdata = $order->FetchData($orderid);
     $pkg = Package::getInstance()->FetchData($orderdata['productid']);
     $preset->presetid = $pkg['presetid'];
     $sm->id = $order->FindModuleID();
     $presetdata = $preset->FetchData($preset->presetid);
     if (!is_array($orderdata['accessdata'])) {
         $orderdata['accessdata'] = serialize($this->FillCreateArray($sm->getArray('Create'), $orderdata['accountid']));
         $order->Update('accessdata', $orderdata['accessdata'], $orderid);
     }
     if (!is_numeric($orderdata['serverid']) || $orderdata['serverid'] == '-1') {
         $serverdata = $this->selectServerFromGroup($presetdata['groupid']);
         $order->Update('serverid', $serverdata['ServerID'], $orderid);
     } else {
         $server = Server::getInstance();
         $serverdata = $server->FetchData($orderdata['serverid']);
     }
     if (strlen($serverdata['accessdata']) < 5) {
         throw new Exception("Server #" . $orderdata['serverid'] . " is not configured");
     }
     return $sm->CreateService(unserialize($serverdata['accessdata']), unserialize($orderdata['accessdata']), $preset->getOptions());
 }
예제 #3
0
 public function FindModuleID($by = 'orderid')
 {
     switch ($by) {
         case 'orderid':
             if (!is_numeric($this->orderid)) {
                 throw new Exception("Order ID is not set or set not correctly");
             } else {
                 $order = $this->FetchData($this->orderid);
                 //var_dump($order);
                 if (isset($order['productid'])) {
                     $pkg = Package::getInstance()->FetchData($order['productid']);
                     if (!isset($pkg['presetid'])) {
                         return false;
                     }
                     $preset = Preset::getInstance()->FetchData($pkg['presetid']);
                     if (is_array($pkg) && is_array($preset)) {
                         $sg = ServerGroups::getInstance();
                         $sgdata = $sg->FetchData($preset['groupid']);
                         return $sgdata['moduleid'];
                     } else {
                         return false;
                     }
                 } else {
                     return false;
                 }
             }
             break;
         case 'pkgid':
             if (!is_numeric($this->pkgid)) {
                 throw new Exception("Package ID is not set or set incorrectly");
             } else {
                 $presetid = Package::getInstance()->FetchData($this->pkgid)->presetid;
                 $sg = ServerGroups::getInstance();
                 $sg->id = Preset::getInstance()->FetchData($presetid)->groupid;
                 return $sg->FetchData()->moduleid;
             }
             break;
         default:
             return false;
     }
 }
예제 #4
0
     break;
 case 'updatecustomer':
     $user = User::getInstance();
     if (isset($_POST['password'])) {
         $_POST['password'] = md5($_POST['password']);
     }
     try {
         $user->BatchUpdate($_POST, $_POST['userid']);
     } catch (Exception $e) {
         Page::$messages[] = array('type' => 'attention', nl2br("Fatal error catched: " . $e));
         Page::message();
     }
     Page::EditCustomer($_POST['userid']);
     break;
 case 'delpres':
     $pres = Preset::getInstance();
     try {
         $pres->Delete($_REQUEST['presid']);
     } catch (Exception $e) {
         Page::$messages[] = array('type' => 'attention', nl2br("Fatal error catched: " . $e));
         Page::message();
     }
     Page::Presets();
     break;
 case 'updateservergroup':
     $sg = ServerGroups::getInstance();
     try {
         $sg->BatchUpdate($_POST, $_POST['groupid']);
     } catch (Exception $e) {
         Page::$messages[] = array('type' => 'attention', nl2br("Fatal error catched: " . $e));
         Page::message();