コード例 #1
0
ファイル: PdfsComponent.php プロジェクト: skamnev/members
 private function getPdfRule($member, $pdf)
 {
     $pdf_rules = PdfsRules::find()->where(['is_active' => 1, 'pdf_id' => $pdf->id]);
     $pdfsDelay = Yii::$app->PdfsComponent->getPdfDelaySettings() * 3600;
     $progressUpdateTime = strtotime($member->created_at);
     $diffTime = time() - $progressUpdateTime;
     if ($diffTime < $pdfsDelay) {
         return false;
     }
     if ($pdf_rules->count() > 0) {
         $memberAnswers = MembersQuestionsAnswers::find()->where(['member_id' => $member->id]);
         foreach ($pdf_rules->all() as $rule) {
             $progressUpdateTime = strtotime(Yii::$app->MappingComponent->getCategoryProgressDate($rule->category_id, $member->id));
             $diffTime = time() - $progressUpdateTime;
             if ($diffTime < $pdfsDelay) {
                 return false;
             }
             $memberAnswers->andWhere(['in', 'option_id', $rule->options_id]);
         }
         return $memberAnswers->count();
     }
 }
コード例 #2
0
ファイル: MappingComponent.php プロジェクト: skamnev/members
 public function checkCategoryAnswered($id)
 {
     $requiredQuestions = MappingQuestions::find()->where(['and', ['category_id' => $id, 'is_required' => 1, 'is_active' => 1]]);
     if ($requiredQuestions->count()) {
         foreach ($requiredQuestions->asArray()->all() as $question) {
             $answerExists = MembersQuestionsAnswers::find()->where(['question_id' => $question['id'], 'member_id' => Yii::$app->user->id])->exists();
             if (!$answerExists) {
                 return false;
             }
         }
     }
     return true;
 }