public function init()
 {
     /* $log = new KLogger('log_view_error', KLogger::INFO);
     		$log->LogInfo("viewPath:".$this->getViewPath(), false);
     		$log->LogInfo("Action:".$this->getAction(), false); */
     $isTouch = $this->_isTouchLayout();
     if ($isTouch) {
         $this->deviceLayout = 'touch';
         $this->layout = 'application.views.touch.layouts.main';
         if (strpos(Yii::app()->params['base_url'], $_SERVER['HTTP_HOST']) === false) {
             $this->redirect(Yii::app()->params['base_url'] . Yii::app()->request->requestUri);
         }
     } else {
         $this->deviceLayout = 'default';
         //$this->layout = 'application.views.wap.default.layouts.main';
         $this->layout = 'application.modules.event.views.layouts.main';
         if (strpos(Yii::app()->params['base_url'], $_SERVER['HTTP_HOST']) === false) {
             $this->redirect(Yii::app()->params['base_url'] . Yii::app()->request->requestUri);
         }
     }
     parent::init();
     if ($isTouch) {
         //get userPhone
         if (Yii::app()->user->isGuest) {
             $identity = new UserIdentity(null, null);
             $type = 'autoLogin';
             if ($identity->userAuthenticate($type, $this->deviceOs)) {
                 Yii::app()->user->login($identity);
                 $this->userPhone = Yii::app()->user->getState('msisdn');
             }
         } else {
             $this->userPhone = Yii::app()->user->getState('msisdn');
         }
         $this->banners = BannerModel::getBanner('wap');
         $this->userName = Yii::app()->user->getState('username');
         //chk is subscribe
         if (!empty($this->userPhone)) {
             $this->isSub = WapUserSubscribeModel::model()->chkIsSubscribe($this->userPhone);
         }
     }
 }
 public static function dashboardWebService($acc)
 {
     $agent_id = $acc->admin_id;
     $mon = isset($_GET['mon']) ? addslashes($_GET['mon']) : date("n");
     $y = isset($_GET['y']) ? addslashes($_GET['y']) : date("Y");
     $date = new DateTime();
     $date->setDate($y, $mon, 1);
     $ymd = $date->format('Y-m-d');
     $monthNum = $mon;
     $dateObj = DateTime::createFromFormat('!m', $monthNum);
     $monthName = $dateObj->format('F');
     // March
     $sales = AppearSales::calculatePaidSalesCount($agent_id, $mon, $y);
     //                                        pr($sales);
     $lastmon = getFirstDayOfLastMonth($mon, $y, "n");
     $lastyear = getFirstDayOfLastMonth($mon, $y, "Y");
     $lastmonsales = AppearSales::calculatePaidSalesCount($agent_id, $lastmon, $lastyear);
     //revenue
     $rev = AppearSales::calculateRevenueCount($agent_id);
     $paid_count = AppearSales::paidCount($agent_id);
     $target = AppearSales::calculateTarget($paid_count);
     $dateObj = DateTime::createFromFormat('!m', $lastmon);
     $monthNameLast = $dateObj->format('F');
     // March
     $free = AppearSales::calculateFree($agent_id, $mon, $y);
     $json['acc_id'] = $acc->admin_id;
     $json['mon'] = $mon;
     $json['y'] = $y;
     $json['cube']['target']['total'] = $target['total'];
     $json['cube']['target']['nr'] = $target['nr'];
     if ($sales->total == null) {
         $sales->total = 0;
     }
     if ($sales->nr == null) {
         $sales->nr = 0;
     }
     $json['cube']['paidsales']['total'] = $sales->total;
     $json['cube']['paidsales']['nr'] = $sales->nr;
     $json['cube']['paidsales']['mon'] = $mon;
     $json['cube']['paidsales']['y'] = $y;
     if ($lastmonsales->total == null) {
         $lastmonsales->total = 0;
     }
     if ($lastmonsales->nr == null) {
         $lastmonsales->nr = 0;
     }
     $json['cube']['lastmon_paidsales']['total'] = $lastmonsales->total;
     $json['cube']['lastmon_paidsales']['nr'] = $lastmonsales->nr;
     $json['cube']['lastmon_paidsales']['mon'] = $lastmon;
     $json['cube']['lastmon_paidsales']['y'] = $lastyear;
     $json['cube']['freebies']['total'] = $free['total'];
     $json['cube']['freebies']['nr'] = $free['total_free'];
     $json['cube']['freebies']['mon'] = $mon;
     $json['cube']['freebies']['y'] = $y;
     $json['cube']['payout']['total'] = AppearSales::calculatePayout($agent_id, $mon, $y)['total'];
     $json['cube']['payout']['mon'] = $mon;
     $json['cube']['payout']['y'] = $y;
     $json['cube']['revenue']['total'] = AppearSales::calculateRevenue($agent_id);
     $json['cube']['revenue']['paid_nr'] = $paid_count;
     $json['cube']['revenue']['free_nr'] = AppearSales::freeCount($agent_id);
     //get applied banner
     $bm = new BannerModel();
     $arrBm = $bm->getWhere("banner_interval_begin <= {$paid_count} AND banner_interval_end >= {$paid_count} AND banner_active = 1");
     //        pr($arrBm);
     if (count($arrBm) > 0) {
         $selBanner = $arrBm[0];
         $json['banner'][] = array("url" => $selBanner->banner_link_url, "img" => _BPATH . _PHOTOURL . $selBanner->banner_img);
     }
     //get applied level
     $lv = new LevelModel();
     $arrLvl = $lv->getWhere("level_start<={$paid_count} AND level_end>={$paid_count} AND level_active = 1");
     if (count($arrLvl) > 0) {
         $selLvl = $arrLvl[0];
         $json['level'] = array("name" => $selLvl->level_name, "img" => _BPATH . _PHOTOURL . $selLvl->level_img);
     }
     $json['status_code'] = 1;
     $json['status_message'] = "Success";
     echo json_encode($json);
     die;
 }
 protected function getSingleBanner()
 {
     $blnParent = parent::getSingleBanner();
     if (!is_array($this->Template->banners)) {
         return $blnParent;
     }
     $arrBanners = $this->Template->banners;
     foreach ($arrBanners as $i => $arrBanner) {
         $objBanner = \BannerModel::findByPk($arrBanner['banner_id']);
         if ($objBanner === null) {
             continue;
         }
         if ($objBanner->banner_type != static::BANNER_TYPE_INTERN) {
             continue;
         }
         $this->addImageData('banner_image_left', deserialize($objBanner->banner_imgSize_left), $arrBanner, $objBanner, 'left');
         $this->addImageData('banner_image_right', deserialize($objBanner->banner_imgSize_right), $arrBanner, $objBanner, 'right');
         // Override the default image size
         if ($this->banner_imgSize != '') {
             $size = deserialize($this->banner_imgSize);
             try {
                 $src = \Image::create($arrBanner['src'], $size)->executeResize()->getResizedPath();
                 $picture = \Picture::create($arrBanner['src'], $size)->getTemplateData();
                 if ($src !== $arrBanner['src']) {
                     $objFile = new \File(rawurldecode($src), true);
                 }
                 $arrBanner['picture'] = $picture;
             } catch (\Exception $e) {
                 \System::log('Image "' . $arrBanner['src'] . '" could not be processed: ' . $e->getMessage(), __METHOD__, TL_ERROR);
                 $src = '';
                 $picture = array('img' => array('src' => '', 'srcset' => ''), 'sources' => array());
             }
         }
         $arrBanners[$i] = $arrBanner;
     }
     $this->Template->banners = $arrBanners;
 }
 public function run()
 {
     $now = date('Y-m-d H:i:s');
     $banners = BannerORM::whereStatus(BaseORM::ENABLE)->where('expire', '>', "{$now}")->orderBy('sort', 'DESC')->get();
     return BannerModel::listData($banners);
 }
 public function login()
 {
     IMBAuth::checkOAuth();
     $username = addslashes($_POST['username']);
     $password = addslashes($_POST['password']);
     //untuk deviceModel
     $device_id = addslashes($_POST['device_id']);
     $type = addslashes($_POST['type']);
     $acc = new Account();
     $arr = $acc->getWhere("admin_username = '******' OR admin_email ='{$username}'");
     //        pr($arr);
     if (count($arr) > 0) {
         $acc = $arr[0];
         if ($password == $acc->admin_password) {
             $json['status_code'] = 1;
             $json['status_message'] = "Success";
             $json_acc['acc_id'] = $acc->admin_id;
             $json_acc['username'] = $acc->admin_username;
             $json_acc['email'] = $acc->admin_email;
             $json_acc['user_token'] = md5($acc->admin_email . $acc->admin_password);
             $json['account'] = $json_acc;
             //dashboard
             $myid = $acc->admin_id;
             $kom = new KomisiModel();
             $arrKom = $kom->getWhere("komisi_acc_id = '{$myid}'  ORDER BY komisi_app_date ASC");
             $paid = 0;
             $unpaid = 0;
             $total = 0;
             $free = 0;
             $android = 0;
             $androidios = 0;
             $totalpaketbayar = 0;
             $totalpaket = 0;
             foreach ($arrKom as $kom) {
                 if ($kom->komisi_status == 1) {
                     $paid += $kom->komisi_value;
                 } else {
                     $unpaid += $kom->komisi_value;
                 }
                 $total += $kom->komisi_value;
                 if ($kom->komisi_paket_id == 1) {
                     //free
                     $free++;
                 }
                 if ($kom->komisi_paket_id == 2) {
                     //free
                     $android++;
                     $totalpaketbayar++;
                 }
                 if ($kom->komisi_paket_id == 3) {
                     //free
                     $androidios++;
                     $totalpaketbayar++;
                 }
                 $totalpaket++;
             }
             //get applied banner
             $bm = new BannerModel();
             $arrBm = $bm->getWhere("banner_interval_begin <= {$totalpaketbayar} AND banner_interval_end >= {$totalpaketbayar} AND banner_active = 1");
             if (count($arrBm) > 0) {
                 $selBanner = $arrBm[0];
                 $json_banner['banner_img'] = _BPATH . _PHOTOURL . $selBanner->banner_img;
                 $json_banner['banner_link_url'] = $selBanner->banner_link_url;
             }
             //get applied level
             $lv = new LevelModel();
             $arrLvl = $lv->getWhere("level_start<={$totalpaketbayar} AND level_end>={$totalpaketbayar} AND level_active = 1");
             if (count($arrLvl) > 0) {
                 $selLvl = $arrLvl[0];
                 $json_lvl['level_name'] = $selLvl->level_name;
                 $json_lvl['level_img'] = _BPATH . _PHOTOURL . $selLvl->level_img;
             }
             $dashboard['sales_total'] = $totalpaket;
             $dashboard['sales_paid'] = $totalpaketbayar;
             $dashboard['sales_fee'] = $free;
             $dashboard['sales_android'] = $android;
             $dashboard['sales_androidios'] = $androidios;
             $dashboard['money_total'] = $total;
             $dashboard['money_paid'] = $paid;
             $dashboard['money_unpaid'] = $unpaid;
             $dashboard['banner'] = $json_banner;
             $dashboard['level'] = $json_lvl;
             $json['dashboard'] = $dashboard;
             //myapps
             $app2acc = new App2Acc();
             //AND app_active = 1
             $apps = $app2acc->getWhereFromMultipleTable("ac_admin_id = '" . $acc->admin_id . "' AND ac_app_id = app_id ", array("AppAccount"));
             if (count($apps) > 0) {
                 foreach ($apps as $ap) {
                     $rr = array();
                     $rr['app_id'] = $ap->app_id;
                     $rr['app_icon'] = $ap->app_icon;
                     $rr['app_name'] = $ap->app_name;
                     $rr['app_active'] = $ap->app_active;
                     $rr['app_shortdes'] = $ap->app_shortdes;
                     $rr['app_token'] = $ap->app_token;
                     $rr['app_contract_end'] = $ap->app_contract_end;
                     $rr['app_google_play_link'] = $ap->app_google_play_link;
                     $rr['app_google_version'] = $ap->app_google_version;
                     $rr['app_ios_link'] = $ap->app_ios_link;
                     $rr['app_ios_version'] = $ap->app_ios_version;
                     $paket = new Paket();
                     $paket->getByID($ap->app_paket_id);
                     $rr['paket']['paket_id'] = $paket->paket_id;
                     $rr['paket']['paket_name'] = $paket->paket_name;
                     $json['apps'][] = $rr;
                 }
             } else {
                 $json['apps'] = array();
             }
             //update the device id on deviceModelCaps
             $dn = new DeviceModelCapsule();
             $dnquery = new DeviceModelCapsule();
             // langkah 1 , device ID ada device type ada
             $arrs = $dnquery->getWhere("device_id = '{$device_id}' AND device_type = '{$type}'");
             $dn = $arrs[0];
             if ($dn->did == "") {
                 $dn = new DeviceModelCapsule();
                 $dn->device_id = $device_id;
                 $dn->device_type = $type;
                 $dn->acc_id = $acc->admin_id;
                 $dn->firstlogin = leap_mysqldate();
             } else {
                 //kalau device id ada, acc di update
                 $dn->load = 1;
                 $dn->acc_id = $acc->admin_id;
             }
             $dn->dev_lng = addslashes($_POST['lng']);
             $dn->dev_lat = addslashes($_POST['lat']);
             $dn->logindate = leap_mysqldate();
             if ($dn->save()) {
                 $json['save_device_status'] = 1;
             }
             $json['powered_by_link'] = Efiwebsetting::getData("Powered_By_Link_Caps");
             echo json_encode($json);
             die;
         } else {
             $json['status_code'] = 0;
             $json['status_message'] = "Password Mismatched";
             echo json_encode($json);
             die;
         }
     } else {
         $json['status_code'] = 0;
         $json['status_message'] = "User Not Found";
         echo json_encode($json);
         die;
     }
 }
Exemple #6
0
 public function delAction()
 {
     $p = $_REQUEST;
     $pId = empty($p['id']) ? die('id不能为空') : intval($p['id']);
     $tBMO = new BannerModel();
     $tRow = $tBMO->field('img')->where(' id = ' . $pId)->fROw();
     $tSql = 'delete from ' . $tBMO->table . ' where id = ' . $pId;
     if (!$tBMO->exec($tSql)) {
         Tool_Fnc::ajaxMsg('删除失败');
     }
     if (!empty($tRow['img'])) {
         unlink(APPLICATION_PATH . '/public' . $tRow['img']);
     }
     Tool_Fnc::ajaxMsg('删除成功', 1);
 }