Esempio n. 1
0
 public function addReputation($addReputation)
 {
     $user = User::thisUser();
     $modelUserId = $this->user_id;
     $paramsSelf = ['entity' => self::THIS_ENTITY, 'schoolId' => $this->id, 'userId' => $user->id];
     $paramsOther = ['entity' => self::THIS_ENTITY, 'schoolId' => $this->id, 'userId' => $modelUserId];
     if ($addReputation == VoteModel::ADD_REPUTATION_CANCEL_UP) {
         // - хозяину события за отмену лайка
         Reputation::addReputation($modelUserId, Reputation::ENTITY_VOTE_LIKE_SELF_SCHOOL_CANCEL, $paramsSelf);
     } elseif ($addReputation == VoteModel::ADD_REPUTATION_UP) {
         // + хозяину события за лайк
         Reputation::addReputation($modelUserId, Reputation::ENTITY_VOTE_LIKE_SELF_SCHOOL, $paramsSelf);
         // Если раньше не было оценки, пользователь ставит лайк и его репутация маленькая, тогда добавим ему репутации
         if ($user->reputation < self::MAX_REPUTATION_FOR_ADD_REPUTATION_SCHOOL_VOTE_LIKE && $user->reputation > self::MIN_REPUTATION_FOR_ADD_REPUTATION_SCHOOL_VOTE_LIKE) {
             // + текущему пользователю за лайк
             Reputation::addReputation($user->id, Reputation::ENTITY_VOTE_LIKE_OTHER_SCHOOL, $paramsOther);
         }
     } elseif ($addReputation == VoteModel::ADD_REPUTATION_CANCEL_DOWN) {
         // + хозяину события за отмену дизлайка
         Reputation::addReputation($modelUserId, Reputation::ENTITY_VOTE_DISLIKE_SELF_SCHOOL_CANCEL, $paramsSelf);
         // + текущему пользователю за отмену дизлайка
         Reputation::addReputation($user->id, Reputation::ENTITY_VOTE_DISLIKE_OTHER_SCHOOL_CANCEL, $paramsOther);
     } elseif ($addReputation == VoteModel::ADD_REPUTATION_DOWN) {
         // - хозяину события за дизлайк
         Reputation::addReputation($modelUserId, Reputation::ENTITY_VOTE_DISLIKE_SELF_SCHOOL, $paramsSelf);
         // - текущему пользователю за дизлайк
         Reputation::addReputation($user->id, Reputation::ENTITY_VOTE_DISLIKE_OTHER_SCHOOL, $paramsOther);
     }
 }
Esempio n. 2
0
 public function addReputation($addReputation)
 {
     $user = User::thisUser();
     $modelUserId = $this->user_id;
     $paramsSelf = ['entity' => self::THIS_ENTITY, 'itemId' => $this->id, 'userId' => $user->id];
     $paramsOther = ['entity' => self::THIS_ENTITY, 'itemId' => $this->id, 'userId' => $modelUserId];
     if ($addReputation == VoteModel::ADD_REPUTATION_CANCEL_UP) {
         // - хозяину записи за отмену лайка
         Reputation::addReputation($modelUserId, Reputation::ENTITY_VOTE_LIKE_SELF_COMMENT_CANCEL, $paramsSelf);
     } elseif ($addReputation == VoteModel::ADD_REPUTATION_UP) {
         // + хозяину записи за лайк
         Reputation::addReputation($modelUserId, Reputation::ENTITY_VOTE_LIKE_SELF_COMMENT, $paramsSelf);
     } elseif ($addReputation == VoteModel::ADD_REPUTATION_CANCEL_DOWN) {
         // + хозяину записи за отмену дизлайка
         Reputation::addReputation($modelUserId, Reputation::ENTITY_VOTE_DISLIKE_SELF_COMMENT_CANCEL, $paramsSelf);
     } elseif ($addReputation == VoteModel::ADD_REPUTATION_DOWN) {
         // - хозяину записи за дизлайк
         Reputation::addReputation($modelUserId, Reputation::ENTITY_VOTE_DISLIKE_SELF_COMMENT, $paramsSelf);
     }
 }
Esempio n. 3
0
 /**
  * @param null   $userId Кому изменить
  * @param string $entity Действие
  * @param array  $params Дополнительные параметры
  *
  * @return bool
  */
 public static function addReputation($userId = null, $entity = self::ENTITY_NONE, $params = [])
 {
     if (empty($userId) || $entity == self::ENTITY_VOTE_DISLIKE_OTHER_ITEM || !($findUser = User::findOne([$userId]))) {
         $findUser = User::thisUser();
         $userId = $findUser->id;
     }
     if (empty($findUser)) {
         return false;
     }
     $pItemId = '?';
     $itemIdKeys = ['itemId', 'eventId', 'schoolId', 'id'];
     foreach ($itemIdKeys as $itemIdKey) {
         if (isset($params[$itemIdKey])) {
             $pItemId = $params[$itemIdKey];
             break;
         }
     }
     $pUserId = $params['userId'] ? $params['userId'] : '?';
     if ($pUserId == $userId && in_array($entity, self::notSelfChange())) {
         return false;
     }
     if ($entity == self::ENTITY_VOTE_LIKE_SELF_ITEM) {
         $params['msg'] = "Запись {$pItemId} понравилась пользователю {$pUserId}.";
         $params['value'] = 5;
     } else {
         if ($entity == self::ENTITY_VOTE_LIKE_SELF_ITEM_CANCEL) {
             $params['msg'] = "Отмена: Запись {$pItemId} понравилась пользователю {$pUserId}.";
             $params['value'] = -5;
         } else {
             if ($entity == self::ENTITY_VOTE_DISLIKE_SELF_ITEM) {
                 $params['msg'] = "Запись {$pItemId} не понравилась пользователю {$pUserId}.";
                 $params['value'] = -5;
             } else {
                 if ($entity == self::ENTITY_VOTE_DISLIKE_SELF_ITEM_CANCEL) {
                     $params['msg'] = "Отмена: Запись {$pItemId} не понравилась пользователю {$pUserId}.";
                     $params['value'] = 5;
                 } else {
                     if ($entity == self::ENTITY_VOTE_DISLIKE_OTHER_ITEM) {
                         $params['msg'] = "Не понравилась запись {$pItemId}.";
                         $params['value'] = -1;
                     } else {
                         if ($entity == self::ENTITY_VOTE_DISLIKE_OTHER_ITEM_CANCEL) {
                             $params['msg'] = "Отмена: Не понравилась запись {$pItemId}.";
                             $params['value'] = 1;
                         } else {
                             if ($entity == self::ENTITY_VOTE_LIKE_OTHER_ITEM) {
                                 $params['msg'] = "Понравилась запись {$pItemId}.";
                                 $params['value'] = 1;
                             } else {
                                 if ($entity == self::ENTITY_VOTE_LIKE_SELF_EVENT) {
                                     $params['msg'] = "Событие {$pItemId} понравилась пользователю {$pUserId}.";
                                     $params['value'] = 5;
                                 } else {
                                     if ($entity == self::ENTITY_VOTE_LIKE_SELF_EVENT_CANCEL) {
                                         $params['msg'] = "Отмена: Событие {$pItemId} понравилась пользователю {$pUserId}.";
                                         $params['value'] = -5;
                                     } else {
                                         if ($entity == self::ENTITY_VOTE_DISLIKE_SELF_EVENT) {
                                             $params['msg'] = "Событие {$pItemId} не понравилась пользователю {$pUserId}.";
                                             $params['value'] = -5;
                                         } else {
                                             if ($entity == self::ENTITY_VOTE_DISLIKE_SELF_EVENT_CANCEL) {
                                                 $params['msg'] = "Отмена: Событие {$pItemId} не понравилась пользователю {$pUserId}.";
                                                 $params['value'] = 5;
                                             } else {
                                                 if ($entity == self::ENTITY_VOTE_DISLIKE_OTHER_EVENT) {
                                                     $params['msg'] = "Не понравилось событие {$pItemId}.";
                                                     $params['value'] = -1;
                                                 } else {
                                                     if ($entity == self::ENTITY_VOTE_DISLIKE_OTHER_EVENT_CANCEL) {
                                                         $params['msg'] = "Отмена: Не понравилось событие {$pItemId}.";
                                                         $params['value'] = 1;
                                                     } else {
                                                         if ($entity == self::ENTITY_VOTE_LIKE_OTHER_EVENT) {
                                                             $params['msg'] = "Понравилось событие {$pItemId}.";
                                                             $params['value'] = 1;
                                                         } else {
                                                             if ($entity == self::ENTITY_VOTE_LIKE_SELF_SCHOOL) {
                                                                 $params['msg'] = "Школа {$pItemId} понравилась пользователю {$pUserId}.";
                                                                 $params['value'] = 5;
                                                             } else {
                                                                 if ($entity == self::ENTITY_VOTE_LIKE_SELF_SCHOOL_CANCEL) {
                                                                     $params['msg'] = "Отмена: Школа {$pItemId} понравилась пользователю {$pUserId}.";
                                                                     $params['value'] = -5;
                                                                 } else {
                                                                     if ($entity == self::ENTITY_VOTE_DISLIKE_SELF_SCHOOL) {
                                                                         $params['msg'] = "Школа {$pItemId} не понравилась пользователю {$pUserId}.";
                                                                         $params['value'] = -5;
                                                                     } else {
                                                                         if ($entity == self::ENTITY_VOTE_DISLIKE_SELF_SCHOOL_CANCEL) {
                                                                             $params['msg'] = "Отмена: Школа {$pItemId} не понравилась пользователю {$pUserId}.";
                                                                             $params['value'] = 5;
                                                                         } else {
                                                                             if ($entity == self::ENTITY_VOTE_DISLIKE_OTHER_SCHOOL) {
                                                                                 $params['msg'] = "Не понравилась школа {$pItemId}.";
                                                                                 $params['value'] = -1;
                                                                             } else {
                                                                                 if ($entity == self::ENTITY_VOTE_DISLIKE_OTHER_SCHOOL_CANCEL) {
                                                                                     $params['msg'] = "Отмена: Не понравилась школа {$pItemId}.";
                                                                                     $params['value'] = 1;
                                                                                 } else {
                                                                                     if ($entity == self::ENTITY_VOTE_LIKE_OTHER_SCHOOL) {
                                                                                         $params['msg'] = "Понравилась школа {$pItemId}.";
                                                                                         $params['value'] = 1;
                                                                                     } else {
                                                                                         if ($entity == self::ENTITY_VOTE_LIKE_SELF_COMMENT) {
                                                                                             $params['msg'] = "Комментарий {$pItemId} понравился пользователю {$pUserId}.";
                                                                                             $params['value'] = 1;
                                                                                         } else {
                                                                                             if ($entity == self::ENTITY_VOTE_LIKE_SELF_COMMENT_CANCEL) {
                                                                                                 $params['msg'] = "Отмена: Комментарий {$pItemId} понравился пользователю {$pUserId}.";
                                                                                                 $params['value'] = -1;
                                                                                             } else {
                                                                                                 if ($entity == self::ENTITY_VOTE_DISLIKE_SELF_COMMENT) {
                                                                                                     $params['msg'] = "Комментарий {$pItemId} не понравился пользователю {$pUserId}.";
                                                                                                     $params['value'] = -1;
                                                                                                 } else {
                                                                                                     if ($entity == self::ENTITY_VOTE_DISLIKE_SELF_COMMENT_CANCEL) {
                                                                                                         $params['msg'] = "Отмена: Комментарий {$pItemId} не понравился пользователю {$pUserId}.";
                                                                                                         $params['value'] = 1;
                                                                                                     }
                                                                                                 }
                                                                                             }
                                                                                         }
                                                                                     }
                                                                                 }
                                                                             }
                                                                         }
                                                                     }
                                                                 }
                                                             }
                                                         }
                                                     }
                                                 }
                                             }
                                         }
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
     $reputation = new Reputation();
     $reputation->user_id = $userId;
     $reputation->msg = isset($params['msg']) ? $params['msg'] : '';
     $reputation->value = isset($params['value']) ? $params['value'] : 0;
     $reputation->entity = $params['entity'];
     $reputation->save();
     $findUser->reputation += $reputation->value;
     $findUser->save();
 }