/**
  * add member to a certain group that is assigned to a certain score
  */
 public function addGroupMembership()
 {
     $arrayGrades = MemberRating::getGradeLabelingArray();
     if (!count($arrayGrades) > 0) {
         return;
     }
     krsort($arrayGrades);
     $objMember = \MemberModel::findAll();
     while ($objMember->next()) {
         foreach ($arrayGrades as $grade) {
             $score = MemberRating::getScore($objMember->id);
             if ($score >= $grade['score']) {
                 if (count($grade['groups']) > 0) {
                     MemberRating::addToGroup($objMember->id, $grade['groups']);
                 }
                 break;
             }
         }
     }
 }
Esempio n. 2
0
 /**
  * @param $score
  * @return array
  */
 public static function getGrade($id, $key = 'label')
 {
     $score = self::getScore($id);
     if ($score == '0') {
         $score = 0;
     }
     $arrReturn = array();
     $arrayGrades = MemberRating::getGradeLabelingArray();
     krsort($arrayGrades);
     $arrayGrades = count($arrayGrades) ? $arrayGrades : false;
     if ($arrayGrades) {
         foreach ($arrayGrades as $arrGrade) {
             if ($score >= $arrGrade['score']) {
                 $arrReturn['label'] = $arrGrade['label'];
                 $src = self::getImageDir() . '/levelicons/' . $arrGrade['icon'];
                 if (is_file(TL_ROOT . '/' . $src)) {
                     $objFile = new \File($src, true);
                     if ($objFile !== NULL) {
                         if ($objFile->isGdImage) {
                             $size = sprintf('width="%s" height="%s"', $objFile->width, $objFile->height);
                             $arrReturn['icon'] = sprintf('<img src="%s" %s alt="%s" title="%s" class="%s">', TL_FILES_URL . $src, $size, 'grade icon', specialchars($arrGrade['label']), 'gradeIcon');
                         }
                     }
                 }
                 break;
             }
         }
     }
     return $arrReturn[$key] ? $arrReturn[$key] : NULL;
 }