コード例 #1
0
ファイル: UserPreferencesApi.php プロジェクト: romeo14/pow
 public static function addAllPreferences($userId, $preferencesIds)
 {
     $result = true;
     foreach ($preferencesIds as $preferenceId) {
         $hasNotification = UserPreferencesApi::hasNotification($userId, $preferenceId);
         if (!$hasNotification) {
             $userPreferences = new UserPreferences();
             $userPreferences->user_id = $userId;
             $userPreferences->preferences_id = $preferenceId;
             $result = $result && $userPreferences->save();
         }
     }
     return $result;
 }
コード例 #2
0
ファイル: AccountController.php プロジェクト: romeo14/pow
 public function actionSettings()
 {
     Yii::beginProfile('profile_settings');
     $userNotifications = "";
     $userProfile = "";
     $userBlockList = "";
     $userImage = "";
     $userAddress = "";
     $userId = Yii::app()->user->id;
     $userId = 1;
     $userProfile = UserApi::getUserById($userId);
     $userImageId = array($userId);
     $image = ImagesApi::getPrimaryImageForUsers($userImageId);
     if ($image) {
         $userImage = $image[$userId];
     } else {
         $userImage = ImageUtils::getDefaultImage("user");
     }
     $userAge = UserApi::getAge($userProfile->dob);
     $userAddress = UserApi::getLocation($userProfile->city_id);
     $enablePreferencesIds = array();
     $disablePreferencesIds = array();
     $i = 1;
     $j = 1;
     if (isset($_POST['update'])) {
         $smsPreferencesId = PreferencesApi::getPreferenceIdByName('SMS Notification');
         $emailPreferencesId = PreferencesApi::getPreferenceIdByName('E-Mail Notification');
         if (isset($_POST['sms'])) {
             if ($smsPreferencesId) {
                 if ($_POST['sms'] == 'enable') {
                     $enablePreferencesIds[$i++] = $smsPreferencesId;
                 } else {
                     $disablePreferencesIds[$j++] = $smsPreferencesId;
                 }
             }
         }
         if (isset($_POST['e-mail'])) {
             if ($emailPreferencesId) {
                 if ($_POST['e-mail'] == 'enable') {
                     $enablePreferencesIds[$i++] = $emailPreferencesId;
                 } else {
                     $disablePreferencesIds[$j++] = $emailPreferencesId;
                 }
             }
         }
     }
     $addNotifications = false;
     $deleteNotifications = false;
     if ($enablePreferencesIds) {
         $addNotifications = UserPreferencesApi::addAllPreferences($userId, $enablePreferencesIds);
     }
     if ($disablePreferencesIds) {
         $deleteNotifications = UserPreferencesApi::deleteAllPreferences($userId, $disablePreferencesIds);
     }
     $preferences = PreferencesApi::getPreferencesByType('SETTINGS');
     $k = 0;
     if ($preferences) {
         $row = count($preferences);
         $column = count($preferences, COUNT_RECURSIVE) / 2 - 2;
         for ($i = 0; $i < $row; $i++) {
             for ($j = 0; $j < $column; $j++) {
                 $notification = UserPreferencesApi::hasNotification($userId, $preferences[$i][$j]);
                 if ($notification) {
                     $userNotifications[$k++] = $preferences[$i][$j + 1];
                 }
             }
         }
     }
     $userBlocks = UserBlocksApi::getAllBlockedUsers($userId);
     $i = 0;
     if ($userBlocks) {
         foreach ($userBlocks as $userBlock) {
             $userBlockList[$i++] = UserApi::getUserById($userBlock);
         }
     }
     $blockstatus = false;
     if ($userBlocks) {
         foreach ($userBlockList as $blockedUser) {
             if (isset($_POST[$blockedUser->id])) {
                 $unblockUser = UserBlocksApi::unblockUser($userId, $blockedUser->id);
                 $blockstatus = true;
             }
         }
     }
     if ($blockstatus) {
         unset($userBlockList);
         $userBlockList = array();
         $BlockedUsers = UserBlocksApi::getAllBlockedUsers($userId);
         $j = 1;
         if ($BlockedUsers) {
             foreach ($BlockedUsers as $BlockedUser) {
                 //var_dump($BlockedUser);
                 $userBlockList[$j++] = UserApi::getUserById($BlockedUsers);
             }
         }
     }
     if (isset($_POST['search'])) {
         if (!$_POST['search'] == '') {
             $i = 0;
             $userBlocks = null;
             unset($userBlockList);
             $userBlockList = array();
             $userSearch = UserBlocksApi::searchBlockedUser($_POST['search']);
             foreach ($userSearch as $userId) {
                 $userBlocks = UserBlocksApi::getBlockedUser(1, $userId);
                 if ($userBlocks) {
                     $userBlocksList[$i++] = $userBlocks;
                 }
             }
             //var_dump($userBlocksList);
             if ($userBlocksList) {
                 foreach ($userBlocksList as $userBlock) {
                     $userBlockList[$i++] = UserApi::getUserById($userBlock->blocked_user_id);
                 }
             }
         }
     }
     $this->render('settings', array('userProfile' => $userProfile, 'userImage' => $userImage, 'userAge' => $userAge, 'userAddress' => $userAddress, 'userBlockList' => $userBlockList, 'userNotifications' => $userNotifications));
     Yii::endProfile('profile_settings');
 }