コード例 #1
0
 public function actionIndex()
 {
     $count = LimeSurveyLocal::model()->count();
     $step = 0;
     while ($step * self::STEP_SIZE < $count) {
         $criteria = new CDbCriteria();
         $criteria->limit = self::STEP_SIZE;
         $criteria->offset = self::STEP_SIZE * $step;
         $this->processSurveys(LimeSurveyLocal::model()->findAll($criteria));
         $step++;
     }
     $count = LimeSurveyRemote::model()->count();
     $step = 0;
     while ($step * self::STEP_SIZE < $count) {
         $criteria = new CDbCriteria();
         $criteria->limit = self::STEP_SIZE;
         $criteria->offset = self::STEP_SIZE * $step;
         $this->processSurveys(LimeSurveyRemote::model()->findAll($criteria));
         $step++;
     }
 }
コード例 #2
0
ファイル: LimeSurvey.php プロジェクト: shnellpavel/bcgroup_lk
 /**
  * Retrieves a list of models based on the current search/filter conditions.
  *
  * Typical usecase:
  * - Initialize the model fields with values from filter form.
  * - Execute this method to get CActiveDataProvider instance which will filter
  * models according to data in model fields.
  * - Pass data provider to CGridView, CListView or any similar widget.
  *
  * @return CActiveDataProvider the data provider that can return the models
  * based on the search/filter conditions.
  */
 public function search()
 {
     // @todo Please modify the following code to remove attributes that should not be searched.
     $criteria = new CDbCriteria();
     $criteria->join = "INNER JOIN " . LimeSurveyLanguagesettingLocal::model()->tableName() . " t2 ON t2.surveyls_survey_id = t.sid";
     return new MultiLocatedSurveysDataProvider(array(LimeSurveyLocal::model(), LimeSurveyRemote::model()), array('criteria' => $criteria, 'pagination' => array('pageSize' => 20)));
 }
コード例 #3
0
ファイル: view.php プロジェクト: shnellpavel/bcgroup_lk
            </td>
            <td>
                <select id="location">
                    <option data-href="<?php 
    echo $this->createUrl("/user/view", array('id' => $model->id, 'type' => LimeSurvey::LOCATION_LOCAL));
    ?>
"
                            value="<?php 
    echo LimeSurvey::LOCATION_LOCAL;
    ?>
" <?php 
    echo $curType == LimeSurvey::LOCATION_LOCAL ? 'selected="selected"' : "";
    ?>
>
                        <?php 
    echo LimeSurveyLocal::model()->getAttributeLabel(LimeSurvey::LOCATION_LOCAL);
    ?>
                    </option>
                    <option data-href="<?php 
    echo $this->createUrl("/user/view", array('id' => $model->id, 'type' => LimeSurvey::LOCATION_REMOTE));
    ?>
"
                            value="<?php 
    echo LimeSurvey::LOCATION_REMOTE;
    ?>
" <?php 
    echo $curType == LimeSurvey::LOCATION_REMOTE ? 'selected="selected"' : "";
    ?>
>
                        <?php 
    echo LimeSurveyRemote::model()->getAttributeLabel(LimeSurvey::LOCATION_REMOTE);
コード例 #4
0
 public function actionNonActiveIndex()
 {
     if (!Yii::app()->user->checkAccess('survey.nonActiveIndex')) {
         throw new Http403Exception();
     }
     $dataProvider = LimeSurveyLocal::model()->search();
     $criteria = new CDbCriteria();
     $scopes = LimeSurveyLocal::model()->scopes();
     $criteria->addCondition($scopes['nonActive']['condition']);
     if (!Yii::app()->user->checkAccess('survey.index')) {
         $surveyIdsByLocation = array();
         foreach (Yii::app()->user->userModel->surveyUsers as $relation) {
             if (!isset($surveyIdsByLocation[$relation->surveyLocation])) {
                 $surveyIdsByLocation[$relation->surveyLocation] = array();
             }
             $surveyIdsByLocation[$relation->surveyLocation][] = $relation->surveyId;
         }
         $condition = array();
         foreach ($surveyIdsByLocation as $location => $surveyIds) {
             if (!empty($surveyIds)) {
                 $condition[] = "(t.sid in (" . implode(',', $surveyIds) . ") AND :className = '{$location}')";
             }
         }
         if (!empty($condition)) {
             $criteria->addCondition(implode(" OR ", $condition));
         } else {
             $criteria->addCondition("FALSE");
         }
     }
     $dataProvider->setCriteria($criteria);
     $this->render("nonActiveIndex", array('simplePage' => SimplePage::model()->findByAttributes(array('url' => '/survey/nonActiveIndex')), 'dataProvider' => $dataProvider));
 }