/**
  * Determines whether access to specific action is allowed or not.
  * @param string $action the action to which the access is validated
  * @return boolean true if access to specific action is allowed; false otherwise
  */
 private function CanAccess($action = "")
 {
     $superuser = Generic::isSuperAdmin();
     if ($superuser) {
         return true;
     }
     if ($action == 'index') {
         return true;
     } else {
         if ($action == 'admin') {
             return true;
         } else {
             if ($action == 'create') {
                 return false;
             } else {
                 if ($action == 'update') {
                     return true;
                 } else {
                     if ($action == 'delete') {
                         return false;
                     } else {
                         if ($action == 'view') {
                             return true;
                         } else {
                             if ($action == 'activate') {
                                 return false;
                             } else {
                                 if ($action == 'deactivate') {
                                     return false;
                                 } else {
                                     if ($action == 'checkdata') {
                                         return false;
                                     } else {
                                         if ($action == 'exportdata') {
                                             return false;
                                         }
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
     return false;
 }
 public static function canShowAwardField($competition_id)
 {
     $superuser = Generic::isSuperAdmin();
     if (!$superuser) {
         // check if visible by competition settings
         $cache_key = 'CCompetition-mentor-awards-timestamp-' . $competition_id;
         $cache = Yii::app()->cache->get($cache_key);
         if ($cache == null) {
             $competition = Competition::model()->findByPk($competition_id);
             if ($competition != null) {
                 $cache = $competition->timestamp_mentor_awards == null ? '-' : $competition->timestamp_mentor_awards;
             } else {
                 $cache = '-';
             }
             Yii::app()->cache->set($cache_key, $cache, 600);
         }
         if ($cache == '-') {
             return false;
         } else {
             $timestamp = strtotime($cache);
             if ($timestamp > time()) {
                 return false;
             }
         }
     }
     return true;
 }
 /**
  * Determines whether access to specific action is allowed or not.
  * @param string $action the action to which the access is validated
  * @return boolean true if access to specific action is allowed; false otherwise
  */
 private function CanAccess($action = "")
 {
     $superuser = Generic::isSuperAdmin();
     $allowed = $superuser;
     if ($action == 'index') {
     } else {
         if ($action == 'admin') {
         } else {
             if ($action == 'create') {
             } else {
                 if ($action == 'update') {
                 } else {
                     if ($action == 'delete') {
                     } else {
                         if ($action == 'view') {
                         } else {
                             if ($action == 'activate') {
                             } else {
                                 if ($action == 'deactivate') {
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
     return $allowed;
 }
Exemple #4
0
<?php

/* @var $this CompetitionUserController */
/* @var $model CompetitionUser */
$this->breadcrumbs = array(Yii::t('app', 'Competition Users') => array('admin'), Yii::t('app', 'manage'));
$superuser = Generic::isSuperAdmin();
$create_competition_user = false;
$export_active_mentors = false;
$export_user_data = true;
$check_data = false;
$import_data = false;
$calculate_awards = false;
if ($superuser) {
    $create_competition_user = true;
    $export_active_mentors = true;
    $export_user_data = true;
    $check_data = true;
    $import_data = true;
    $calculate_awards = true;
}
$this->menu = array(array('label' => Yii::t('app', 'Manage Competition Users'), 'url' => array('admin')), array('label' => Yii::t('app', 'Create Competition User'), 'url' => array('create'), 'visible' => $create_competition_user), array('label' => Yii::t('app', 'Export Active Mentors'), 'url' => array('exportactivementor'), 'visible' => $export_active_mentors), array('label' => Yii::t('app', 'Export Competition User data'), 'url' => array('exportdata'), 'visible' => $export_user_data), array('label' => Yii::t('app', 'Check Competition User data'), 'url' => array('checkdata'), 'visible' => $check_data), array('label' => Yii::t('app', 'Import Competition User data'), 'url' => array('import'), 'visible' => $import_data), array('label' => Yii::t('app', 'Calculate awards for competitors'), 'url' => array('calculateawards'), 'visible' => $calculate_awards), array('label' => Yii::t('app', 'Calculate which competitors will advance to next level'), 'url' => array('calculateadvancingtonextlevel'), 'visible' => $calculate_awards));
Yii::app()->clientScript->registerScript('search', "\n\$('.search-button').click(function(){\n\t\$('.search-form').toggle();\n\treturn false;\n});\n\$('.search-form form').submit(function(){\n\t\$.fn.yiiGridView.update('admin-grid', {\n\t\tdata: \$(this).serialize()\n\t});\n\treturn false;\n});\n");
?>

<h1><?php 
echo Yii::t('app', 'Manage Competition Users');
?>
</h1>
<?php 
/*
 <?php echo CHtml::link(Yii::t('app', 'advanced_search'), '#', array('class' => 'search-button')); ?>
 /**
  * Determines whether access to specific action is allowed or not.
  * @param string $action the action to which the access is validated
  * @return boolean true if access to specific action is allowed; false otherwise
  */
 private function CanAccess($action = "")
 {
     $superuser = Generic::isSuperAdmin();
     $user_role = Generic::getUserRole();
     $allowed = false;
     if ($user_role >= 5) {
         $allowed = true;
     }
     if ($action == 'index') {
     } else {
         if ($action == 'admin') {
         } else {
             if ($action == 'create') {
             } else {
                 if ($action == 'update') {
                 } else {
                     if ($action == 'delete') {
                     } else {
                         if ($action == 'view') {
                         } else {
                             if ($action == 'activate') {
                             } else {
                                 if ($action == 'deactivate') {
                                 } else {
                                     if ($action == 'import') {
                                         if (!$superuser) {
                                             $allowed = false;
                                         }
                                     } else {
                                         if ($action == 'export') {
                                             if (!$superuser) {
                                                 $allowed = false;
                                             }
                                         }
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
     return $allowed;
 }
Exemple #6
0
 public function CanView()
 {
     $superuser = Generic::isSuperAdmin();
     $user_role = Generic::getUserRole();
     if ($superuser || $user_role >= 10) {
         return true;
     }
     return false;
 }
 public function GetCompetitionNameIdList($get_only_competition_on_which_schools_you_are_mentor = false)
 {
     if ($get_only_competition_on_which_schools_you_are_mentor) {
         if (Generic::isSuperAdmin()) {
             $get_only_competition_on_which_schools_you_are_mentor = false;
         }
     }
     $list = array();
     if ($get_only_competition_on_which_schools_you_are_mentor) {
         $competitions = Competition::model()->with('competitionCategorySchools')->with('competitionCategorySchools.school')->with('competitionCategorySchools.school.schoolMentors')->findAll('schoolMentors.user_id=:user_id', array(':user_id' => Yii::app()->user->id));
         foreach ($competitions as $competition) {
             $competition['name'] = $competition->name;
             $list[] = $competition;
         }
     } else {
         $modelData = Competition::model()->search(true);
         foreach ($modelData->getData() as $competition) {
             $competition['name'] = $competition->name;
             $list[] = $competition;
         }
     }
     return $list;
 }
 /**
  * Retrieves a list of models based on the current search/filter conditions.
  * @return CActiveDataProvider the data provider that can return the models based on the search/filter conditions.
  */
 public function search($show_all = false)
 {
     // Warning: Please modify the following code to remove attributes that
     // should not be searched.
     $criteria = new CDbCriteria();
     if ($this->level_of_education == 0) {
         $this->level_of_education = NULL;
     }
     $criteria->compare('id', $this->id);
     $criteria->compare('active', $this->active);
     $criteria->compare('country_id', $this->country_id);
     $criteria->compare('name', $this->name, true);
     $criteria->compare('level_of_education', $this->level_of_education);
     $criteria->compare('class_from', $this->class_from);
     $criteria->compare('class_to', $this->class_to);
     $criteria->together = true;
     $criteria->with = array('country');
     $criteria->compare('`country`.`country`', $this->country_search, true);
     $superuser = Generic::isSuperAdmin();
     $user_role = Generic::getUserRole();
     if ($superuser) {
         // ok
     } else {
         if ($user_role == 10) {
             // $countryAministrator = CountryAdministrator::model()->findAll('user_id=:user_id', array(':user_id' => Yii::app()->user->id));
             $criteria->with[] = 'country.countryAdministrators';
             $criteria->compare('`countryAdministrators`.`user_id`', Yii::app()->user->id);
             $criteria->together = true;
         }
     }
     $pagination = true;
     if ($show_all) {
         $pagination = false;
     }
     $options = array('criteria' => $criteria, 'sort' => array('attributes' => array('country_search' => array('asc' => 'country.name', 'desc' => 'country.name DESC'), '*')));
     if ($pagination == false) {
         $options['pagination'] = false;
     }
     return new CActiveDataProvider($this, $options);
 }
 public function actionGet()
 {
     $starttime = microtime(true);
     if ($this->CanAccess('get')) {
         $keys = array_keys($_GET);
         if (count($keys) == 0) {
             die;
         }
         $question_id = $keys[0];
         $superuser = Generic::isSuperAdmin();
         $user_role = Generic::getUserRole();
         $allow = false;
         if ($superuser || $user_role >= 10) {
             $allow = true;
         }
         $competition_user_id = isset(Yii::app()->session['competition_user_id']) ? Yii::app()->session['competition_user_id'] : 0;
         Yii::app()->session->close();
         $criteria = new CDbCriteria();
         $criteria->limit = 1;
         $criteria->join = 'INNER JOIN competition_question on t.competition_question_id = competition_question.id';
         $criteria->condition = 't.competition_user_id = :competition_user_id AND competition_question.question_id = :question_id';
         $criteria->params = array(':question_id' => $question_id, ':competition_user_id' => $competition_user_id);
         $competition_user_question = CompetitionUserQuestion::model()->find($criteria);
         //$competition_user_question = CompetitionUserQuestion::model()->with('competitionQuestion')->find('competitionQuestion.question_id=:question_id and t.competition_user_id=:competition_user_id', array(':question_id' => $question_id, ':competition_user_id' => $competition_user_id));
         if ($competition_user_question != null) {
             $allow = true;
         }
         if ($allow) {
             $path = '';
             foreach ($_GET as $key => $value) {
                 $path .= $key . '/';
                 if ($value != '') {
                     $path .= $value . '/';
                 }
             }
             $path = trim(mb_substr($path, mb_strpos($path, '/', 0, 'UTF-8') + 1, mb_strlen($path, 'UTF-8'), 'UTF-8'), '/');
             $filename = trim(mb_substr($path, mb_strrpos($path, '/', 0, 'UTF-8'), mb_strlen($path, 'UTF-8'), 'UTF-8'), '/');
             $language_code = mb_substr($path, 0, mb_strpos($path, '/', 0, 'UTF-8'), 'UTF-8');
             $path = ltrim(mb_substr($path, mb_strpos($path, '/', 0, 'UTF-8'), mb_strrpos($path, '/', 0, 'UTF-8') - mb_strpos($path, '/', 0, 'UTF-8'), 'UTF-8'), '/');
             if ($path != '') {
                 $path .= '/';
             }
             /*
                               echo "<pre>";
                               echo "Question ID: ";
                               print_r($question_id);
                               echo "\n";
                               echo "Language code: ";
                               print_r($language_code);
                               echo "\n";
                               var_dump($path);
                               echo "\n";
                               print_r($filename);
                               echo "</pre>";
                               die(); */
             $cache_id = 'bober-' . $question_id . '-' . $language_code . '-' . $path . '-' . $filename;
             $questionResourceArray = Yii::app()->cache->get($cache_id);
             if ($questionResourceArray === false) {
                 $questionResource = QuestionResource::model()->with('language')->find('question_id=:question_id and language.short=:language_code and path=:path and filename=:filename', array(':question_id' => $question_id, ':filename' => $filename, ':path' => $path, ':language_code' => $language_code));
                 if ($questionResource == null) {
                     $questionResource = new QuestionResource();
                     die;
                 }
                 $questionResourceArray = array('data' => $questionResource->data, 'file_type' => $questionResource->file_type, 'length' => strlen($questionResource->data));
                 if ($questionResourceArray['length'] > 1000000) {
                     // cannot go to memcache
                 } else {
                     Yii::app()->cache->set($cache_id, $questionResourceArray, 1800);
                 }
             }
             if (isset($questionResourceArray['length'])) {
                 header('Pragma: public');
                 header('Expires: 0');
                 header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
                 header('Content-Transfer-Encoding: binary');
                 header('Content-length: ' . $questionResourceArray['length']);
                 header('Content-Type: ' . $questionResourceArray['file_type']);
                 header('X-Content-Type-Options: nosniff');
                 header('X-Frame-Options: SAMEORIGIN');
                 header('Connection: close');
                 echo $questionResourceArray['data'];
             }
             die;
         } else {
             die;
         }
     } else {
         die;
     }
 }