function createAction() { $this->view->title = $this->view->title = $this->view->translate("Wildfire") . " - " . $this->view->translate("Create_title"); $this->view->activeTab = 'Campaigns'; $consumer = $this->_currentUser; $id = (int) $this->_request->getParam('id', 0); //whether participate in the campaign $campaigninvitationModel = new CampaignInvitation(); $campaigninvitation = $campaigninvitationModel->fetchRow('campaign_id = ' . $id . ' and consumer_id' . ' =' . $consumer->id); if ($campaigninvitation == null) { $this->_helper->redirector('index', 'home'); } //get i2_survey_id $campaignModel = new Campaign(); $campaign = $campaignModel->fetchRow("id=" . $id); $langNamespace = new Zend_Session_Namespace('Lang'); $lang = $langNamespace->lang; if ($lang == 'en') { $surveyId = $campaign->i2_survey_id_en; } else { $surveyId = $campaign->i2_survey_id; } $this->view->campaing_name = $campaign->name; $this->view->id = $id; //check static file $testEnv = Zend_Registry::get('testEnv'); $file = "./surveys/" . $surveyId . ".phtml"; // if static file not exist, go to the normal flow if ($testEnv != 0 || file_exists($file) == false) { // connect to webservice, get the page $indicate2Connect = new Indicate2_Connect(); $accesscode = $indicate2Connect->createParticipation($consumer->email, $surveyId); $config = Zend_Registry::get('config'); $this->view->filloutPage = $config->indicate2->home . "/c/" . $accesscode . "/theme/wildfire"; //Zend_Debug::dump($this->view->filloutPage); if ($testEnv == 0) { //save the page to static file if ($data = @file_get_contents($this->view->filloutPage)) { set_time_limit(10); ignore_user_abort(true); Zend_Debug::dump(file_put_contents($file, $data)); } else { Zend_Debug::dump('Get remote page error!'); } } } else { $this->view->file = $file; $this->view->surveyId = $surveyId; } $this->view->includeCrystalCss = true; $this->_helper->layout->setLayout("layout_questionnaire"); $this->view->consumer = $consumer->id; // // Zend_Debug::dump($campaigninvitation); // Zend_Debug::dump($this->view->campaing_name); }
function admingetaccesscodeAction() { $surveyId = (int) $this->_request->getParam('surveyId'); //$consumer = $this->_currentUser; $email = $this->_request->getParam('email'); $indicate2Connect = new Indicate2_Connect(); $accesscode = $indicate2Connect->createParticipation($email, $surveyId); $this->_helper->layout->disableLayout(); $this->_helper->json($accesscode); }
function acceptinvitationAction() { if ($this->autoAccountBinding() == false) { return; } $consumer = $this->_currentUser; $campaignModel = new Campaign(); $campaign_id = (int) $this->_request->getParam('campaign_id', 0); $campaign = $campaignModel->fetchRow("id=" . $campaign_id); $surveyId = $campaign->pre_campaign_survey; $indicate2Connect = new Indicate2_Connect(); $accesscode = $indicate2Connect->createParticipation($consumer['email'], $surveyId); $this->view->survey_id = $surveyId; $this->view->campaign_name = $campaign->name; $this->view->campaign_id = $campaign_id; $this->view->accesscode = $accesscode; $config = Zend_Registry::get('config'); $this->view->filloutPage = $config->indicate2->home . "/core/" . $accesscode . "/theme/wildfire/callback/acceptinvitationdo"; }
function participateAction() { $this->view->activeTab = 'Polls'; $this->view->title = $this->view->title = $this->view->translate("Wildfire") . " - " . $this->view->translate("Participate_title"); $consumer = $this->_currentUser; $surveyId = (int) $this->_request->getParam('id', 0); //precampaignsurvey的css使用的是layout_survey $this->_helper->layout->setLayout("layout_survey"); //check history to prevent multiple participation $db = Zend_Registry::get('db'); $select1 = $db->select(); $select1->from("poll_participation", "count(*)"); $select1->where("poll_participation.poll_id = ?", $surveyId); $select1->where("poll_participation.consumer_id = ?", $consumer->id); $participationCount = $db->fetchOne($select1); if ($participationCount > 0) { $this->_helper->redirector('index', 'home'); } $profileSurveyModel = new ProfileSurvey(); $profile = $profileSurveyModel->fetchRow("id=" . $surveyId); if ($profile->public == 0) { $profileSurveyInvitation = new ProfileSurveyInvitation(); $profileInvitation = $profileSurveyInvitation->fetchRow('consumer_id =' . $consumer->id . ' and profile_id =' . $surveyId); if (!count($profileInvitation)) { $this->_helper->redirector('index', 'home'); } } $langNamespace = new Zend_Session_Namespace('Lang'); $lang = $langNamespace->lang; if ($lang == 'en') { $id = $profile->i2_survey_id_en; } else { $id = $profile->i2_survey_id; } //check static file $testEnv = Zend_Registry::get('testEnv'); $file = "./surveys/" . $id . ".phtml"; // if static file not exist, go to the normal flow if ($testEnv != 0 || file_exists($file) == false) { // connect to webservice, get the page $indicate2Connect = new Indicate2_Connect(); $accesscode = $indicate2Connect->createParticipation($consumer->email, $id); $config = Zend_Registry::get('config'); $this->view->filloutPage = $config->indicate2->home . "/c/" . $accesscode . "/theme/wildfire"; if ($testEnv == 0) { //save the page to static file if ($data = @file_get_contents($this->view->filloutPage)) { set_time_limit(10); ignore_user_abort(true); Zend_Debug::dump(file_put_contents($file, $data)); } else { Zend_Debug::dump('Get remote page error!'); } } } else { $this->view->file = $file; $this->view->surveyId = $id; } $this->view->includeCrystalCss = true; $this->view->user = $this->_currentUser; // Zend_Debug::dump($consumer->email); // Zend_Debug::dump($result); }
function adminreportAction() { $this->_helper->layout->setLayout("layout_admin"); $sms_id = (int) $this->_request->getParam('sms_id'); $smsSql = "select b.* from spark_sms as a, spark_sms as b where a.id=" . $sms_id . " and b.consumer_id=a.consumer_id and b.id-a.id>-5 and b.id-a.id<5 order by b.id"; $db = Zend_Registry::get('db'); $rs = $db->fetchAll($smsSql); $sms = ''; $consumer_id = 0; $smsIds = array(); foreach ($rs as $row) { array_push($smsIds, $row['id']); $sms .= $row['text']; $consumer_id = $row['consumer_id']; } //update sms state $ids = implode(",", $smsIds); //Zend_Debug::dump($ids); $updateSql = $db->prepare("update spark_sms set state='Reported' where id in (" . $ids . ")"); $updateSql->execute(); $campaign_id = (int) $this->_request->getParam('cam_id'); //whether participate in the campaign $campaigninvitationModel = new CampaignInvitation(); $campaigninvitation = $campaigninvitationModel->fetchRow('campaign_id = ' . $campaign_id . ' and consumer_id' . ' =' . $consumer_id); if ($campaigninvitation == null) { $this->_helper->redirector('index', 'home'); } //get lang $consumerModel = new Consumer(); $consumer = $consumerModel->fetchRow("id=" . $consumer_id); //get i2_survey_id $campaignModel = new Campaign(); $campaign = $campaignModel->fetchRow("id=" . $campaign_id); $langNamespace = new Zend_Session_Namespace('Lang'); $lang = $langNamespace->lang; if ($consumer->language_pref == 'en') { $surveyId = $campaign->i2_survey_id_en; } else { $surveyId = $campaign->i2_survey_id; } $this->view->campaing_name = $campaign->name; $indicate2Connect = new Indicate2_Connect(); $accesscode = $indicate2Connect->createParticipation($consumer->email, $surveyId); //save list in session $reportNamespace = new Zend_Session_Namespace('AgentReports'); $reportNamespace->{$accesscode} = $consumer_id; $source = $accesscode . "_source"; $reportNamespace->{$source} = "sms"; $config = Zend_Registry::get('config'); $this->view->filloutPage = $config->indicate2->home . "/c/" . $accesscode . "/theme/wildfire"; $this->view->id = $consumer->id; $this->view->name = $consumer->name; $this->view->sms = $sms; $this->view->includeCrystalCss = true; }
function adminreportAction() { $request = $this->getRequest(); if ($request->isPost()) { $formData = $this->_request->getPost(); $consumer_id = $formData['consumer_id']; $campaign_id = $formData['campaign_id']; $comment = $formData['phone_comments']; $source = $formData['source']; //whether participate in the campaign $campaigninvitationModel = new CampaignInvitation(); $campaigninvitation = $campaigninvitationModel->fetchRow('campaign_id = ' . $campaign_id . ' and consumer_id' . ' =' . $consumer_id); if ($campaigninvitation == null) { //$this->_helper->redirector('index','home'); } //get i2_survey_id $campaignModel = new Campaign(); $campaign = $campaignModel->fetchRow("id=" . $campaign_id); $langNamespace = new Zend_Session_Namespace('Lang'); $lang = $langNamespace->lang; if ($lang == 'en') { $surveyId = $campaign->i2_survey_id_en; } else { $surveyId = $campaign->i2_survey_id; } $this->view->campaing_name = $campaign->name; $this->view->id = $campaign_id; $indicate2Connect = new Indicate2_Connect(); $accesscode = $indicate2Connect->createParticipation('', $surveyId); $config = Zend_Registry::get('config'); $this->view->filloutPage = $config->indicate2->home . "/c/" . $accesscode . "/theme/wildfire"; //save list in session $reportNamespace = new Zend_Session_Namespace('AgentReports'); $source_key = $accesscode . '_source'; $reportNamespace->{$source_key} = $source; $reportNamespace->{$accesscode} = $consumer_id; $this->view->includeCrystalCss = true; } }