public static function getFranchiseDetail()
 {
     //$franchise = Franchise::model()->findByPk(Yii::app()->user->franchise);
     $franchise = JaspersFranchise::model()->findByAttributes(array('id' => Yii::app()->user->franchise));
     $franName = '';
     if ($franchise) {
         $franName = $franchise->franchise_name;
     }
     ini_set("soap.wsdl_cache_enabled", "0");
     // disabling WSDL cache
     $client = new SoapClient("http://dev.jaspersonline.co.uk/soap/jaspers.wsdl");
     $result = json_decode($client->iFormTotals(strtolower($franName)), true);
     $result = $result['result'];
     return $result;
 }
 public function actionUpdate($id)
 {
     $model = $this->loadModel($id);
     $jaspers_franchise = JaspersFranchise::model()->findAll();
     // Uncomment the following line if AJAX validation is needed
     // $this->performAjaxValidation($model);
     if (isset($_POST['User'])) {
         $this->password = $model->password;
         $model->attributes = $_POST['User'];
         if ($_POST['User']['password']) {
             $model->password = getHash($_POST['User']['password']);
         } else {
             $model->password = $this->password;
         }
         if ($model->save()) {
             //                $this->redirect(array('view', 'id' => $model->id));
             if (isset($_GET['isUser'])) {
                 $this->redirect(array('user/admin', 'isUser' => 1));
             }
             $this->redirect(array('user/admin'));
         }
     }
     unset($model->password);
     $this->render('update', array('model' => $model, 'jaspers_franchise' => $jaspers_franchise));
 }
 function actionDealData($option)
 {
     $actionList = array('franchise' => 'createFranchises', 'comp' => 'createCompanies', 'contact' => 'createContacts', 'competitor' => 'createCompetitor', 'franchiseData' => 'updateFranchiseData');
     if (in_array($option, $actionList)) {
         if ($option == $actionList['franchiseData']) {
             $criteria = new CDbCriteria();
             $criteria->select = 'MAX(comp_id) as comp_id';
             $criteria->condition = 'franchise_id = :franch_id';
             $criteria->params = array(':franch_id' => $this->franchiseId);
             $company = JaspersCompanies::model()->find($criteria);
             $criteria = new CDbCriteria();
             $criteria->select = 'MAX(competitor_oid) as competitor_id';
             $criteria->condition = 'competitor_oid = :franch_id';
             $criteria->params = array(':franch_id' => $this->franchiseId);
             $competitor = JaspersCompetitor::model()->find($criteria);
             $criteria = new CDbCriteria();
             $criteria->select = 'MAX(user_id) as user_id';
             $criteria->condition = 'franchise_id = :franch_id';
             $criteria->params = array(':franch_id' => $this->franchiseId);
             $contact = JaspersContacts::model()->find($criteria);
             $ref = array('contact' => $contact->user_id, 'company' => $company->comp_id, 'competitor' => $competitor->competitor_id, 'franchise_id' => $this->franchiseId);
             $refData = Yii::app()->curl->run('http://mccreative.jaspersonline.co.uk/api/customer/getRefUpdate/', $ref);
             if (!$refData->hasErrors()) {
                 $reference = CJSON::decode($refData->getData());
                 if (isset($reference['companies_data']['data']) && count($reference['companies_data']['data'])) {
                     $builder = Yii::app()->db->schema->commandBuilder;
                     $command = $builder->createMultipleInsertCommand('jaspers_companies', $reference['companies_data']['data']);
                     $command->execute();
                 }
                 if (isset($reference['contact_data']['data']) && count($reference['contact_data']['data'])) {
                     $builder = Yii::app()->db->schema->commandBuilder;
                     $command = $builder->createMultipleInsertCommand('jaspers_contacts', $reference['contact_data']['data']);
                     $command->execute();
                 }
                 if (isset($reference['competitor_data']['data']) && count($reference['competitor_data']['data'])) {
                     $builder = Yii::app()->db->schema->commandBuilder;
                     $command = $builder->createMultipleInsertCommand('jaspers_competitor', $reference['competitor_data']['data']);
                     $command->execute();
                 }
             }
         } else {
             if ($option == $actionList['franchise']) {
                 $franchise = Yii::app()->curl->run('http://dev.jaspersonline.co.uk/info/branchlist.php');
                 if (!$franchise->hasErrors()) {
                     //Yii::app()->db->createCommand()->truncateTable('jaspers_franchise');
                     JaspersFranchise::model()->deleteAll();
                     $franchises = $franchise->getData();
                     $franchises = explode('<br>', $franchises);
                     $insert_det = array();
                     if (count($franchises)) {
                         $index = 0;
                         foreach ($franchises as $franch_det) {
                             $franch_det = explode('-', $franch_det);
                             if (count($franch_det) && isset($franch_det[0]) && !empty($franch_det[0])) {
                                 $franchise_contact_det = Yii::app()->curl->run('http://mccreative.jaspersonline.co.uk/api/customer/getContactDet/' . trim($franch_det[1]));
                                 $frach_cust_data = array('ref' => '', 'city' => '', 'email' => '', 'mobile' => '', 'address' => '', 'facebook' => '', 'telephone' => '', 'twitter' => '');
                                 if (!$franchise_contact_det->hasErrors()) {
                                     $frach_cust_data = CJSON::decode($franchise_contact_det->getData());
                                     $frach_cust_data = $frach_cust_data['data'];
                                 }
                                 $insert_det[$index]['id'] = trim($franch_det[1]);
                                 $insert_det[$index]['franchise_id'] = trim($franch_det[1]);
                                 $insert_det[$index]['ref'] = trim($frach_cust_data['ref']);
                                 $insert_det[$index]['city'] = trim($frach_cust_data['city']);
                                 $insert_det[$index]['email'] = trim($frach_cust_data['email']);
                                 $insert_det[$index]['mobile'] = trim($frach_cust_data['mobile']);
                                 $insert_det[$index]['address'] = trim($frach_cust_data['address']);
                                 $insert_det[$index]['twitter'] = trim($frach_cust_data['twitter']);
                                 $insert_det[$index]['facebook'] = trim($frach_cust_data['facebook']);
                                 $insert_det[$index]['telephone'] = trim($frach_cust_data['telephone']);
                                 $insert_det[$index]['franchise_name'] = trim($franch_det[0]);
                                 $index++;
                             }
                         }
                         $builder = Yii::app()->db->schema->commandBuilder;
                         $command = $builder->createMultipleInsertCommand('jaspers_franchise', $insert_det);
                         $command->execute();
                     }
                 }
             } else {
                 if ($option == $actionList['comp']) {
                     $companies = Yii::app()->curl->run('http://mccreative.jaspersonline.co.uk/api/customer/getCompanyList');
                     if (!$companies->hasErrors()) {
                         Yii::app()->db->createCommand()->truncateTable('jaspers_companies');
                         $companies_data = CJSON::decode($companies->getData());
                         $builder = Yii::app()->db->schema->commandBuilder;
                         $command = $builder->createMultipleInsertCommand('jaspers_companies', $companies_data['data']);
                         $command->execute();
                     }
                 } else {
                     if ($option == $actionList['contact']) {
                         $customerCount = Yii::app()->curl->run('http://mccreative.jaspersonline.co.uk/api/customer/getCustomerCount');
                         if (!$customerCount->hasErrors()) {
                             $customer_data = CJSON::decode($customerCount->getData());
                             if (isset($customer_data['data']['ttl'])) {
                                 $limit = 5000;
                                 $ttls = $customer_data['data']['ttl'];
                                 $loopCount = $ttls / $limit;
                                 $loopCount = ceil($loopCount);
                                 Yii::app()->db->createCommand()->truncateTable('jaspers_contacts');
                                 for ($i = 0; $i < $loopCount; $i++) {
                                     $offset = $i * ($limit - 1);
                                     $customer = Yii::app()->curl->run('http://mccreative.jaspersonline.co.uk/api/customer/getCustomerList/' . $offset . '/' . $limit);
                                     if (!$customer->hasErrors()) {
                                         $customer_data = CJSON::decode($customer->getData());
                                         $builder = Yii::app()->db->schema->commandBuilder;
                                         $command = $builder->createMultipleInsertCommand('jaspers_contacts', $customer_data['data']);
                                         $command->execute();
                                     }
                                 }
                             }
                         }
                     } else {
                         if ($option == $actionList['competitor']) {
                             $competitor = Yii::app()->curl->run('http://mccreative.jaspersonline.co.uk/api/customer/getCompetitor');
                             if (!$competitor->hasErrors()) {
                                 Yii::app()->db->createCommand()->truncateTable('jaspers_competitor');
                                 $competitor_data = CJSON::decode($competitor->getData());
                                 $builder = Yii::app()->db->schema->commandBuilder;
                                 $command = $builder->createMultipleInsertCommand('jaspers_competitor', $competitor_data['data']);
                                 $command->execute();
                             }
                         }
                     }
                 }
             }
         }
     }
 }