コード例 #1
0
ファイル: Purchase.php プロジェクト: sinfocol/gwf3
 private function onPurchase()
 {
     if (false !== ($error = GWF_Form::validateCSRF_WeakS())) {
         return GWF_HTML::error('Purchase GWF Modules', $error) . $this->templatePurchase();
     }
     if (!isset($_POST['mod']) || !is_array($_POST['mod'])) {
         return $this->module->error('err_select_modules') . $this->templatePurchase();
         //			return GWF_HTML::err('ERR_GENERAL', array( __FILE__, __LINE__)).$this->templatePurchase();
     }
     $purchased_modules = array();
     foreach ($_POST['mod'] as $mname => $yes) {
         if (isset($this->modules[$mname])) {
             $purchased_modules[] = $mname;
         }
     }
     if (count($purchased_modules) === 0) {
         return $this->module->error('err_select_modules') . $this->templatePurchase();
     }
     $designs = GWF_Design::getDesigns();
     $purchased_designs = array();
     foreach ($_POST['design'] as $dname => $yes) {
         if (array_key_exists($dname, $designs)) {
             $purchased_designs[] = $dname;
         }
     }
     $user = GWF_User::getStaticOrGuest();
     $userid = GWF_Session::getUserID();
     if (false === ($client = GWF_Client::getClient($userid))) {
         return GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__)) . $this->templatePurchase();
     }
     $order = new GWF_ClientOrder(array('vsco_uid' => $userid, 'vsco_modules' => implode(',', $purchased_modules), 'vsco_designs' => implode(',', $purchased_designs)));
     Module_Payment::saveTempOrder($order);
     $tVars = array('order' => Module_Payment::displayOrderS($this->module, $order, $user));
     return $this->module->template('order.tpl', $tVars);
 }
コード例 #2
0
ファイル: GWF_ClientOrder.php プロジェクト: sinfocol/gwf3
 public function getOrderPrice(GWF_User $user)
 {
     $client = GWF_Client::getByID($user->getID());
     $have_mods = $client->getModuleNames();
     $new_mods = $this->getModules();
     $price = 0;
     foreach ($new_mods as $mod) {
         $name = $mod->getName();
         if (!in_array($name, $have_mods, true)) {
             $price += $mod->getPrice();
         }
     }
     $have_designs = $client->getDesignNames();
     $new_designs = $this->getDesignNames();
     $designs = GWF_Design::getDesigns();
     foreach ($new_designs as $design) {
         if (!in_array($design, $have_designs, true)) {
             $price += $designs[$design];
         }
     }
     return $price;
 }