コード例 #1
0
 $userConnectedDefault = true;
 $content = "Unknown Event Type";
 $icon = "fa-exclamation-triangle";
 $color = "bg-red";
 switch ($event->getEventType()) {
     case \common\components\EEvent::ACCOUNT_CREATE():
         $icon = "fa-user-plus";
         $color = "bg-green";
         $content = "<a href='/user/" . $userConnected->getUsername() . "'>" . Yii::t('app', 'You') . "</a>&nbsp\n\t\t\t\t\t\t\t\t                " . Yii::t('app', 'have created an account');
         break;
     case \common\components\EEvent::ACCOUNT_INFO_CHANGED():
         $icon = "fa-user";
         $color = "bg-aqua";
         $content = "<a href='/user/ " . $userConnected->getUsername() . "'>" . Yii::t('app', 'You') . "</a>&nbsp" . Yii::t('app', 'have changed your account details');
         break;
     case \common\components\EEvent::ACCOUNT_PASSWORD_CHANGED():
         $icon = "fa-user-secret";
         $color = "bg-yellow";
         $content = "<a href='/user/" . $userConnected->getUsername() . "'>" . Yii::t('app', 'You') . "</a>&nbsp" . Yii::t('app', 'have changed your password');
         break;
     case \common\components\EEvent::ACCOUNT_PASSWORD_RESET():
         $icon = "fa-user-md";
         $color = "bg-red";
         $content = "<a href='/user/" . $userConnected->getUsername() . "'>" . Yii::t('app', 'You') . "</a>&nbsp" . Yii::t('app', 'have reset your password');
         break;
     case \common\components\EEvent::COMMENT_CREATE():
         $icon = "fa-comment-o";
         $color = "bg-fuchsia";
         $userConnected = $event->getConnectedUser();
         if ($userConnected != null) {
             if ($event->getConnectedData()->self_mode) {
コード例 #2
0
 public function actionProfile()
 {
     $id = Yii::$app->user->getId();
     $uid = new components\UserId($id);
     $lUser = $uid->getUser();
     if (Yii::$app->request->isPost || Yii::$app->request->isPjax) {
         if (!is_null(Yii::$app->request->post('type'))) {
             switch (Yii::$app->request->post('type')) {
                 case 'settings':
                     //To upload profile photo
                     $plik = $_FILES['exampleInputFile']['tmp_name'];
                     if (strlen($plik) > 0) {
                         \common\components\PhotoService::setProfilePhoto($id, $plik);
                     }
                     $lUser->setName(Yii::$app->request->post('inputName'));
                     $lUser->setSurname(Yii::$app->request->post('inputSurname'));
                     $lUser->setEmail(Yii::$app->request->post('inputEmail'));
                     UserService::saveUser($lUser);
                     $pass1cnt = strlen(Yii::$app->request->post('inputPassword'));
                     $pass2cnt = strlen(Yii::$app->request->post('inputPasswordRepeat'));
                     if ($pass1cnt > 0 || $pass2cnt > 0) {
                         if ($pass1cnt != $pass2cnt) {
                             Yii::$app->session->setFlash('error', 'Passwords not match. Password\'s has not been changed');
                             return $this->redirect('/profile');
                         }
                         if ($pass1cnt < 6) {
                             Yii::$app->session->setFlash('error', 'Password is too short');
                             return $this->redirect('/profile');
                         }
                         EventService::createEvent(components\EEvent::ACCOUNT_PASSWORD_CHANGED(), $uid);
                     }
                     ////////////////////
                     Yii::$app->session->setFlash('success', 'Profile\'s been succesfuly updated');
                     break;
                 case 'newpost':
                     $pliks = $_FILES['kawaiiPicture']['tmp_name'];
                     $post_id = PostsService::createPost($uid, Yii::$app->request->post('inputText'));
                     if ($pliks[0] != '') {
                         PhotoService::addPostAttachmentPhoto($pliks, $post_id);
                     }
                     EventService::createEvent(components\EEvent::POST_CREATE(), $uid);
                     break;
                 case 'newcomment':
                     PostsService::createComment(PostsService::getPostById(Yii::$app->request->post('post_id')), Yii::$app->request->post('inputText'));
                     EventService::createEvent(components\EEvent::COMMENT_CREATE(), $uid);
                     break;
                 case 'like':
                     $like_form_post_id = Yii::$app->request->post('post_id');
                     $like_form_score_elem = Yii::$app->request->post('score_elem');
                     $like_form_user_id = Yii::$app->request->post('user_id');
                     $score = new components\Score(EScoreType::like(), null, EScoreElem::$like_form_score_elem(), $like_form_post_id, new components\UserId($like_form_user_id));
                     $existing_scores = ScoreService::getScoresByElem(EScoreElem::post(), $like_form_post_id);
                     $found = false;
                     foreach ($existing_scores as $var) {
                         $user = $var->getPublisher();
                         $userId = $user->getId();
                         if ((int) $like_form_user_id == $userId && (int) $like_form_post_id == $var->getElementId()) {
                             $found = true;
                             $found_score_id = $var->getScoreId();
                         }
                     }
                     if (!$found) {
                         ScoreService::addScore($score);
                         EventService::createEvent(components\EEvent::POST_LIKED(), $uid);
                     } else {
                         EventService::createEvent(components\EEvent::POST_UNLIKED(), $uid);
                         ScoreService::revokeScore($found_score_id);
                     }
                     break;
                 case 'report':
                     $rep_form_post_id = Yii::$app->request->post('post_id');
                     $rep_form_score_elem = Yii::$app->request->post('score_elem');
                     $rep_form_user_id = Yii::$app->request->post('user_id');
                     $score = new components\Score(EScoreType::like(), null, EScoreElem::$rep_form_score_elem(), $rep_form_post_id, new components\UserId($rep_form_user_id));
                     ScoreService::addScore($score);
                     break;
                 case 'delete_post':
                     $rep_post_id = Yii::$app->request->post('post_id');
                     PostsService::deletePost(PostsService::getPostById($rep_post_id));
                     EventService::createEvent(components\EEvent::POST_DELETE(), $uid);
                     break;
                 case 'delete_comment':
                     $rep_comment_id = Yii::$app->request->post('comment_id');
                     PostsService::deleteComment(PostsService::getCommentById($rep_comment_id));
                     EventService::createEvent(components\EEvent::COMMENT_DELETE(), $uid);
                     break;
             }
         }
     }
     $posts = PostsService::getUserPosts($uid);
     $followers = count(RelationService::getUsersWhoFollowMe($uid));
     $following = count(RelationService::getUsersWhoIFollow($uid));
     $friends = count(RelationService::getFriendsList($uid));
     $timeline = components\EventService::getUserEvents($uid, true);
     //////////////////////////////////////////////////////////////////////////
     return $this->render('profile', ['userinfo' => $uid->getUser(), 'posts' => $posts, 'followers' => $followers, 'following' => $following, 'friends' => $friends, 'loggedUser' => $lUser, 'timeline' => $timeline]);
 }