public function getFriendsAction()
 {
     $request = $this->getRequest();
     $facebookObject = new Model_Facebook_Login();
     $follows = $facebookObject->getFacebookFriends();
     $facebook = new Helper_Modules_Facebook();
     $facebook_friends = $this->getFriends();
     if ($facebook_friends === false && (!JO_Session::get('redirect_fb_login') || (int) JO_Session::get('redirect_fb_login') < time())) {
         $this->view->redirect = $facebook->getLoginUrl(WM_Router::create($request->getBaseUrl() . '?controller=modules_facebook_invates'), 'modules_facebook_login');
         JO_Session::set('redirect_fb_login', time() + 100);
         echo $this->renderScript('json');
         exit;
     }
     //$facebook_friends = $this->getFriends();
     $follow_friends_array = array();
     if ($follows) {
         $follow_friends = new Model_Users_UsersInId($follows);
         if ($follow_friends->count()) {
             foreach ($follow_friends as $ff) {
                 foreach ($follows as $fr_fb => $fr_pi) {
                     if ($fr_pi == $ff['user_id']) {
                         $follow_friends_array[$fr_fb] = $ff;
                     }
                 }
             }
         }
     }
     $this->view->fb_friends = array();
     if ($facebook_friends) {
         $friends = $this->formatUsers($facebook_friends);
         if ($friends) {
             $facebook_ids = array();
             foreach ($friends as $fr) {
                 $facebook_ids[] = $fr['id'];
             }
             $not_follow_users = $facebookObject->getFacebookFriendsNotFollowByIds($facebook_ids);
             if (!$not_follow_users) {
                 $not_follow_users = array();
             }
             $model_images = new Helper_Images();
             foreach ($friends as $friend) {
                 if (array_key_exists($friend['id'], $follow_friends_array)) {
                     $user_data = $follow_friends_array[$friend['id']];
                     if ($user_data) {
                         $avatar = Helper_Uploadimages::avatar($user_data, '_A');
                         $this->view->fb_friends['friends_unfollow'][] = array('profile' => WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . $user_data['user_id']), 'follow_user' => WM_Router::create($request->getBaseUrl() . '?controller=users&action=follow&user_id=' . $user_data['user_id']), 'avatar' => $avatar['image'], 'name' => $user_data['fullname'], 'user_id' => $user_data['user_id'], 'template' => 'facebook/friends_unfollow', 'text_unfollow' => $this->translate('Unfollow'), 'text_follow' => $this->translate('Follow'));
                     }
                 } else {
                     if (array_key_exists($friend['id'], $not_follow_users)) {
                         $user_data = $not_follow_users[$friend['id']];
                         if ($user_data) {
                             $avatar = Helper_Uploadimages::avatar($user_data, '_A');
                             $this->view->fb_friends['friends_follow'][] = array('profile' => WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . $user_data['user_id']), 'follow_user' => WM_Router::create($request->getBaseUrl() . '?controller=users&action=follow&user_id=' . $user_data['user_id']), 'avatar' => $avatar['image'], 'name' => $user_data['fullname'], 'user_id' => $user_data['user_id'], 'template' => 'facebook/friends_follow', 'text_unfollow' => $this->translate('Unfollow'), 'text_follow' => $this->translate('Follow'));
                         }
                     } else {
                         if (!$facebookObject->checkInvateFacebookIDSelf($friend['id'], JO_Session::get('user[user_id]'))) {
                             $this->view->fb_friends['friends_invate'][] = array('profile' => 'http://facebook.com/' . $friend['id'], 'key' => $friend['key'], 'avatar' => $friend['avatar'], 'id' => $friend['id'], 'name' => $friend['name'], 'template' => 'facebook/friends_invate', 'text_invate' => $this->translate('Invite'));
                         }
                     }
                 }
             }
         }
     }
     echo $this->renderScript('json');
 }
 public function editAction()
 {
     $request = $this->getRequest();
     if (JO_Session::get('user[user_id]')) {
         $board_id = $request->getRequest('board_id');
         $board_info = new Model_Boards_Board($board_id);
         if (!$board_info->count()) {
             $this->forward('error', 'error404');
         }
         if ($board_info['board_user_id'] != JO_Session::get('user[user_id]')) {
             $this->forward('error', 'error404');
         }
         $this->view->is_edit = true;
         if ($request->isPost()) {
             $validate = new Helper_Validate();
             $validate->_set_rules($request->getPost('newboard'), $this->translate('Board Name'), 'not_empty;min_length[3];max_length[100]');
             $validate->_set_rules($request->getPost('category_id'), $this->translate('Board Category'), 'not_empty');
             if ($validate->_valid_form()) {
                 $postData = array_merge($request->getPost(), array('title' => $request->getPost('newboard')));
                 if (Helper_Config::get('config_private_boards')) {
                     $postData['public'] = (int) (!$request->issetPost('public'));
                 }
                 $result = new Model_Boards_Edit($board_id, $postData);
                 if ($result->affected_rows) {
                     $this->view->redirect = WM_Router::create($request->getBaseUrl() . '?controller=boards&action=view&user_id=' . $board_info['board_user_id'] . '&board_id=' . $board_info['board_board_id']);
                 } else {
                     $this->view->error = $this->translate('There was a problem with the record. Please try again!');
                 }
             } else {
                 $this->view->error = $validate->_get_error_messages();
             }
             echo $this->renderScript('json');
         } else {
             $this->view->title = $board_info['board_title'];
             $this->view->category_id = $board_info['board_category_id'];
             $this->view->board_description = $board_info['board_description'];
             $this->view->another_users = array();
             $this->view->private = $board_info['board_public'];
             $this->view->board_id = $board_id;
             $b_users = $board_info['board_users_all'] ? explode(',', $board_info['board_users_all']) : array();
             if ($b_users) {
                 $board_users = new Model_Users_UsersInId($b_users);
                 if ($board_users->count()) {
                     foreach ($board_users as $user) {
                         $this->view->another_users[] = array('user_id' => $user['user_id'], 'avatars' => Helper_Uploadimages::userAvatars($user), 'fullname' => $user['fullname'], 'href' => WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . $user['user_id']));
                     }
                 }
             }
             $self = array();
             foreach ($board_info as $key => $data) {
                 if (strpos($key, 'user_') === 0) {
                     $self[substr($key, 5)] = $data;
                 }
             }
             $uin = Model_Users::getUser($board_info['user_id']);
             $this->view->avatars = Helper_Uploadimages::userAvatars($self);
             $this->view->fullname = $self['fullname'];
             $this->view->userhref = WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . $board_info['user_user_id']);
             $this->view->friends_href = WM_Router::create($request->getBaseUrl() . '?controller=users&action=friends');
             $this->view->form_action = WM_Router::create($request->getBaseUrl() . '?controller=boards&action=edit&user_id=' . $board_info['user_user_id'] . '&board_id=' . $board_info['board_board_id']);
             $this->view->board_href = WM_Router::create($request->getBaseUrl() . '?controller=boards&user_id=' . $board_info['user_user_id'] . '&board_id=' . $board_info['board_board_id']);
             $this->view->board_delete = WM_Router::create($request->getBaseUrl() . '?controller=boards&action=delete&user_id=' . $board_info['user_user_id'] . '&board_id=' . $board_info['board_board_id']);
             /////private boards
             $this->view->enable_private_boards = Helper_Config::get('config_private_boards');
             $private_boards = Model_Pages::getPage(Helper_Config::get('page_private_boards'));
             if ($private_boards) {
                 $this->view->text_private_boards = WM_Router::create($this->getRequest()->getBaseUrl() . '?controller=pages&action=read&page_id=' . Helper_Config::get('page_private_boards'));
             }
             //////////// Categories ////////////
             $this->view->categories = Model_Categories::getCategories(array('filter_status' => 1));
             $this->view->config_board_description_enable = Helper_Config::get('config_board_description_enable');
             $this->view->popup_main_box = $this->view->render('popup_form', 'boards');
             $this->setViewChange('form');
             if ($request->isXmlHttpRequest()) {
                 $this->view->popup = true;
                 echo $this->view->popup_main_box;
                 $this->noViewRenderer(true);
             } else {
                 $this->view->children = array('header_part' => 'layout/header_part', 'footer_part' => 'layout/footer_part');
             }
         }
     } else {
         if ($request->isXmlHttpRequest()) {
             $this->view->redirect = WM_Router::create($request->getBaseUrl() . '?controller=users&action=login');
             echo $this->renderScript('json');
         } else {
             $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=users&action=login'));
         }
     }
 }