/** * Returns surveys in json format * * @access public * @return void */ public function getSurveys_json() { $this->getController()->loadHelper('surveytranslator'); $clang = $this->getController()->lang; $dateformatdetails = getDateFormatData(Yii::app()->session['dateformat']); $surveys = Survey::model(); //!!! Is this even possible to execute? if (empty(Yii::app()->session['USER_RIGHT_SUPERADMIN'])) { $surveys->permission(Yii::app()->user->getId()); } $surveys = $surveys->with(array('languagesettings' => array('condition' => 'surveyls_language=language'), 'owner'))->findAll(); $aSurveyEntries = new stdClass(); $aSurveyEntries->page = 1; foreach ($surveys as $rows) { if (!isset($rows->owner->attributes)) { $aOwner = array('users_name' => $clang->gT('(None)')); } else { $aOwner = $rows->owner->attributes; } $rows = array_merge($rows->attributes, $rows->languagesettings[0]->attributes, $aOwner); $aSurveyEntry = array(); // Set status if ($rows['active'] == "Y" && $rows['expires'] != '' && $rows['expires'] < dateShift(date("Y-m-d H:i:s"), "Y-m-d", Yii::app()->getConfig('timeadjust'))) { $aSurveyEntry[] = '<!--a--><img src="' . Yii::app()->getConfig('adminimageurl') . 'expired.png" alt="' . $clang->gT("This survey is active but expired.") . '" />'; } elseif ($rows['active'] == "Y" && $rows['startdate'] != '' && $rows['startdate'] > dateShift(date("Y-m-d H:i:s"), "Y-m-d", Yii::app()->getConfig('timeadjust'))) { $aSurveyEntry[] = '<!--b--><img src="' . Yii::app()->getConfig('adminimageurl') . 'notyetstarted.png" alt="' . $clang->gT("This survey is active but has a start date.") . '" />'; } elseif ($rows['active'] == "Y") { if (hasSurveyPermission($rows['sid'], 'surveyactivation', 'update')) { $aSurveyEntry[] = '<!--c--><a href="' . $this->getController()->createUrl('admin/survey/sa/deactivate/surveyid/' . $rows['sid']) . '"><img src="' . Yii::app()->getConfig('adminimageurl') . 'active.png" alt="' . $clang->gT("This survey is active - click here to stop this survey.") . '"/></a>'; } else { $aSurveyEntry[] = '<!--d--><img src="' . Yii::app()->getConfig('adminimageurl') . 'active.png" alt="' . $clang->gT("This survey is currently active.") . '" />'; } } else { $condition = "sid={$rows['sid']} AND language='" . $rows['language'] . "'"; $questionsCountResult = Questions::model()->count($condition); if ($questionsCountResult > 0 && hasSurveyPermission($rows['sid'], 'surveyactivation', 'update')) { $aSurveyEntry[] = '<!--e--><a href="' . $this->getController()->createUrl('admin/survey/sa/activate/surveyid/' . $rows['sid']) . '"><img src="' . Yii::app()->getConfig('adminimageurl') . 'inactive.png" title="" alt="' . $clang->gT("This survey is currently not active - click here to activate this survey.") . '" /></a>'; } else { $aSurveyEntry[] = '<!--f--><img src="' . Yii::app()->getConfig('adminimageurl') . 'inactive.png" title="' . $clang->gT("This survey is currently not active.") . '" alt="' . $clang->gT("This survey is currently not active.") . '" />'; } } //Set SID $aSurveyEntry[] = $rows['sid']; '<a href="' . $this->getController()->createUrl("/admin/survey/sa/view/surveyid/" . $rows['sid']) . '">' . $rows['sid'] . '</a>'; //Set Title $aSurveyEntry[] = '<!--' . $rows['surveyls_title'] . '--><a href="' . $this->getController()->createUrl("/admin/survey/sa/view/surveyid/" . $rows['sid']) . '" title="' . $rows['surveyls_title'] . '">' . $rows['surveyls_title'] . '</a>'; //Set Date Yii::import('application.libraries.Date_Time_Converter', true); $datetimeobj = new Date_Time_Converter($rows['datecreated'], "Y-m-d H:i:s"); $aSurveyEntry[] = '<!--' . $rows['datecreated'] . '-->' . $datetimeobj->convert($dateformatdetails['phpdate']); //Set Owner if (Yii::app()->session['USER_RIGHT_SUPERADMIN'] || Yii::app()->session['loginID'] == $rows['owner_id']) { $aSurveyEntry[] = $rows['users_name'] . ' (<a class="ownername_edit" translate_to="' . $clang->gT('Edit') . '" id="ownername_edit_' . $rows['sid'] . '">' . $clang->gT('Edit') . '</a>)'; } else { $aSurveyEntry[] = $rows['users_name']; } //Set Access if (tableExists('tokens_' . $rows['sid'])) { $aSurveyEntry[] = $clang->gT("Closed"); } else { $aSurveyEntry[] = $clang->gT("Open"); } //Set Anonymous if ($rows['anonymized'] == "Y") { $aSurveyEntry[] = $clang->gT("Yes"); } else { $aSurveyEntry[] = $clang->gT("No"); } //Set Responses if ($rows['active'] == "Y") { $cntResult = Survey_dynamic::countAllAndPartial($rows['sid']); $all = $cntResult['cntall']; $partial = $cntResult['cntpartial']; $aSurveyEntry[] = $all - $partial; $aSurveyEntry[] = $partial; $aSurveyEntry[] = $all; $aSurveyEntry['viewurl'] = $this->getController()->createUrl("/admin/survey/sa/view/surveyid/" . $rows['sid']); if (tableExists('tokens_' . $rows['sid'])) { $cntResult = Tokens_dynamic::countAllAndCompleted($rows['sid']); $tokens = $cntResult['cntall']; $tokenscompleted = $cntResult['cntcompleted']; $aSurveyEntry[] = $tokens; $aSurveyEntry[] = $tokens == 0 ? 0 : round($tokenscompleted / $tokens * 100, 1); } else { $aSurveyEntry[] = $aSurveyEntry[] = ''; } } else { $aSurveyEntry[] = $aSurveyEntry[] = $aSurveyEntry[] = $aSurveyEntry[] = $aSurveyEntry[] = ''; } $aSurveyEntries->rows[] = array('id' => $rows['sid'], 'cell' => $aSurveyEntry); } echo ls_json_encode($aSurveyEntries); }