예제 #1
0
 public function indexAction()
 {
     $request = $this->getRequest();
     if (!JO_Session::get('user[user_id]')) {
         $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=users&action=login&popup=true&next=' . urlencode($request->getFullUrl())));
     }
     $this->view->createBoard = WM_Router::create($request->getBaseUrl() . '?controller=boards&action=create');
     $boards = Model_Boards::getBoards(array('filter_user_id' => JO_Session::get('user[user_id]'), 'order' => 'boards.sort_order', 'sort' => 'ASC', 'friendly' => JO_Session::get('user[user_id]')));
     $this->view->boards = array();
     if ($boards) {
         foreach ($boards as $board) {
             $this->view->boards[] = array('board_id' => $board['board_id'], 'title' => $board['title']);
         }
     }
     //////////// Categories ////////////
     $this->view->categories = array();
     $categories = Model_Categories::getCategories(array('filter_status' => 1));
     foreach ($categories as $category) {
         $category['subcategories'] = Model_Categories::getSubcategories($category['category_id']);
         $this->view->categories[] = $category;
     }
     $this->view->title = JO_Utf8::convertToUtf8($request->getQuery('title'));
     $this->view->url = JO_Utf8::convertToUtf8(urldecode($request->getQuery('url')));
     $this->view->media = JO_Utf8::convertToUtf8($request->getQuery('media'));
     $this->view->is_video = JO_Utf8::convertToUtf8($request->getQuery('is_video'));
     $this->view->description = JO_Utf8::convertToUtf8($request->getQuery('description'));
     $this->view->charset = JO_Utf8::convertToUtf8($request->getQuery('charset'));
     if (!trim($this->view->description)) {
         $this->view->description = $this->view->title;
     }
     if (JO_Session::get('success_added')) {
         $this->view->pin_url = WM_Router::create($request->getBaseUrl() . '?controller=pin&pin_id=' . JO_Session::get('success_added'));
         $this->setViewChange('success');
         JO_Session::clear('success_added');
     } else {
         if ($request->isPost()) {
             $result = Model_Pins::create(array('title' => $this->view->title, 'from' => $this->view->url, 'image' => $this->view->media, 'is_video' => $this->view->is_video, 'description' => $request->getPost('message'), 'price' => $request->getPost('price'), 'board_id' => $request->getPost('board_id'), 'pinmarklet' => 1));
             if ($result) {
                 Model_History::addHistory(0, Model_History::ADDPIN, $result);
                 $session_user = JO_Session::get('user[user_id]');
                 $group = Model_Boards::isGroupBoard($request->getPost('board_id'));
                 if ($group) {
                     $users = explode(',', $group);
                     foreach ($users as $user_id) {
                         if ($user_id != $session_user) {
                             $user_data = Model_Users::getUser($user_id);
                             if ($user_data && $user_data['email_interval'] == 1 && $user_data['groups_pin_email']) {
                                 $this->view->user_info = $user_data;
                                 $this->view->profile_href = WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . JO_Session::get('user[user_id]'));
                                 $this->view->full_name = JO_Session::get('user[firstname]') . ' ' . JO_Session::get('user[lastname]');
                                 $this->view->pin_href = WM_Router::create($request->getBaseUrl() . '?controller=pin&pin_id=' . $result);
                                 $board_info = Model_Boards::getBoard($request->getPost('board_id'));
                                 if ($board_info) {
                                     $this->view->board_title = $board_info['title'];
                                     $this->view->board_href = WM_Router::create($request->getBaseUrl() . '?controller=boards&action=view&user_id=' . $board_info['user_id'] . '&board_id=' . $board_info['board_id']);
                                 }
                                 Model_Email::send($user_data['email'], JO_Registry::get('noreply_mail'), JO_Session::get('user[firstname]') . ' ' . JO_Session::get('user[lastname]') . ' ' . $this->translate('added new pin to a group board'), $this->view->render('group_board', 'mail'));
                             }
                         }
                     }
                 }
                 JO_Session::set('success_added', $result);
                 $this->redirect($request->getBaseUrl() . '?controller=bookmarklet');
             }
         }
     }
 }
예제 #2
0
 public function pinMediaCallbackAction()
 {
     $request = $this->getRequest();
     if (JO_Session::get('user[user_id]')) {
         $media = Model_Instagram::getMedia($request->getPost('media_id'));
         if ($media) {
             if ($media['user_id'] == JO_Session::get('user[user_id]')) {
                 $result = Model_Pins::create(array('title' => $media['title'], 'from' => $media['from'], 'image' => $media['media'], 'description' => $media['title'], 'board_id' => JO_Session::get('instagram_media[board_id]')));
                 if ($result) {
                     Model_Instagram::setPinMedia($media['media_id'], $result);
                     Model_History::addHistory(JO_Session::get('user[user_id]'), Model_History::ADDPIN, $result);
                     $session_user = JO_Session::get('user[user_id]');
                     $group = Model_Boards::isGroupBoard($request->getPost('board_id'));
                     if ($group) {
                         $users = explode(',', $group);
                         foreach ($users as $user_id) {
                             if ($user_id != $session_user) {
                                 $user_data = Model_Users::getUser($user_id);
                                 if ($user_data && $user_data['email_interval'] == 1 && $user_data['groups_pin_email']) {
                                     $this->view->user_info = $user_data;
                                     $this->view->profile_href = WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . JO_Session::get('user[user_id]'));
                                     $this->view->full_name = JO_Session::get('user[firstname]') . ' ' . JO_Session::get('user[lastname]');
                                     $this->view->pin_href = WM_Router::create($request->getBaseUrl() . '?controller=pin&pin_id=' . $result);
                                     $board_info = Model_Boards::getBoard($request->getPost('board_id'));
                                     if ($board_info) {
                                         $this->view->board_title = $board_info['title'];
                                         $this->view->board_href = WM_Router::create($request->getBaseUrl() . '?controller=boards&action=view&user_id=' . $board_info['user_id'] . '&board_id=' . $board_info['board_id']);
                                     }
                                     Model_Email::send($user_data['email'], JO_Registry::get('noreply_mail'), JO_Session::get('user[firstname]') . ' ' . JO_Session::get('user[lastname]') . ' ' . $this->translate('added new pin to a group board'), $this->view->render('group_board', 'mail'));
                                 }
                             }
                         }
                     }
                     $this->view->ok = true;
                 } else {
                     $this->view->error = $this->translate('There was a problem with the record. Please try again!');
                 }
             } else {
                 $this->view->error = $this->translate('Private media!');
             }
         } else {
             $this->view->error = $this->translate('Media not found!');
         }
     } else {
         $this->view->location = WM_Router::create($request->getBaseUrl() . '?controller=users&action=login');
     }
     echo $this->renderScript('json');
 }
예제 #3
0
 public function fromfileAction()
 {
     $request = $this->getRequest();
     $this->view->form_action = WM_Router::create($request->getBaseUrl() . '?controller=addpin&action=upload_images');
     $this->view->upload_action = WM_Router::create($request->getBaseUrl() . '?controller=addpin&action=upload_imagesView');
     $this->view->popup_main_box = $this->view->render('fromfile', 'addpin');
     if ($request->isPost()) {
         $result = Model_Pins::create(array('title' => $request->getPost('title'), 'from' => '', 'image' => BASE_PATH . JO_Session::get('upload_from_file'), 'is_video' => $request->getPost('is_video'), 'is_article' => $request->getPost('is_article'), 'description' => $request->getPost('message'), 'price' => $request->getPost('price'), 'board_id' => $request->getPost('board_id')));
         if ($result) {
             Model_History::addHistory(0, Model_History::ADDPIN, $result);
             if (JO_Registry::get('isMobile')) {
                 $this->redirect('/');
             }
             $session_user = JO_Session::get('user[user_id]');
             $group = Model_Boards::isGroupBoard($request->getPost('board_id'));
             if ($group) {
                 $users = explode(',', $group);
                 foreach ($users as $user_id) {
                     if ($user_id != $session_user) {
                         $user_data = Model_Users::getUser($user_id);
                         if ($user_data && $user_data['email_interval'] == 1 && $user_data['groups_pin_email']) {
                             $this->view->user_info = $user_data;
                             $this->view->profile_href = WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . JO_Session::get('user[user_id]'));
                             $this->view->full_name = JO_Session::get('user[firstname]') . ' ' . JO_Session::get('user[lastname]');
                             $this->view->pin_href = WM_Router::create($request->getBaseUrl() . '?controller=pin&pin_id=' . $result);
                             $board_info = Model_Boards::getBoard($request->getPost('board_id'));
                             if ($board_info) {
                                 $this->view->board_title = $board_info['title'];
                                 $this->view->board_href = WM_Router::create($request->getBaseUrl() . '?controller=boards&action=view&user_id=' . $board_info['user_id'] . '&board_id=' . $board_info['board_id']);
                             }
                             Model_Email::send($user_data['email'], JO_Registry::get('noreply_mail'), JO_Session::get('user[firstname]') . ' ' . JO_Session::get('user[lastname]') . ' ' . $this->translate('added new pin to a group board'), $this->view->render('group_board', 'mail'));
                         }
                     }
                 }
             }
             $this->view->pin_url = WM_Router::create($request->getBaseUrl() . '?controller=pin&pin_id=' . $result);
             $this->view->popup_main_box = $this->view->render('success', 'addpin');
             if (JO_Session::get('upload_from_file')) {
                 @unlink(BASE_PATH . JO_Session::get('upload_from_file'));
                 JO_Session::clear('upload_from_file');
                 JO_Session::clear('upload_from_file_name');
             }
         }
     }
     $this->setViewChange('index');
     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', 'left_part' => 'layout/left_part');
     }
 }
예제 #4
0
 public function uploadAction()
 {
     $this->noViewRenderer(true);
     $request = $this->getRequest();
     $response = $this->getResponse();
     $page = (int) $request->getRequest('page');
     if ($page < 1) {
         $page = 1;
     }
     $callback = $request->getRequest('callback');
     if (!preg_match('/^([a-z0-9_.]{1,})$/', $callback)) {
         $callback = false;
     }
     if (isset($_POST['token']) && $_POST['token'] == md5($_POST['userId'])) {
         $_SESSION['token'] = $_POST['token'];
         JO_Session::set('token', $_POST['token']);
         //        $token = $request->getRequest('token');
         //            $user_id = $request->getRequest('userId');
         //            $folderName = $request->getRequest('folderName');
         //            $categoryId = $request->getRequest('categoryId');
         //
         //            $token = $request->getRequest('token');
         //$user_id = $request->getRequest('userId');
         //            error_log("token " .$token);
         //            error_log("user " . md5($user_id));
         //            error_log("session " . $_SESSION['token']) ;
         //            if (isset($token) && $token == md5($user_id))
         //            {
         //                $_SESSION['token'] = $token;
         $return = array();
         //print_r("files " . var_dump($_FILES))   ;
         //print_r("request " .var_dump($_REQUEST));
         //error_log("1file name " . $_FILES["file"]["tmp_name"] . " uploads " . $_REQUEST["image"]);
         //error_log("2file name " . $_FILES["uploadedfile"]["name"] . " uploads " . $_REQUEST["image"]);
         //$this->view->form_action = WM_Router::create( $request->getBaseUrl() . '?controller=addpin&action=upload_images' );
         //$this->view->upload_action = WM_Router::create( $request->getBaseUrl() . '?controller=addpin&action=upload_imagesView' );
         //$this->view->popup_main_box = $this->view->render('fromfile','addpin');
         if (JO_Session::get('upload_from_file')) {
             @unlink(BASE_PATH . JO_Session::get('upload_from_file'));
             JO_Session::clear('upload_from_file');
             JO_Session::clear('upload_from_file_name');
         }
         $image = $request->getFile('file');
         if (!$image) {
             $return = array('error' => 10, 'description' => $this->translate('There is no file selected'));
         } else {
             $temporary = '/cache/review/';
             $upload_folder = BASE_PATH . $temporary;
             $upload = new Helper_Upload();
             $upload->setFile($image)->setExtension(array('.jpg', '.jpeg', '.png', '.gif'))->setUploadDir($upload_folder);
             $new_name = md5(time() . serialize($image));
             if ($upload->upload($new_name)) {
                 $info = $upload->getFileInfo();
                 if ($info) {
                     $this->view->from_url = WM_Router::create($request->getBaseUrl() . '?controller=addpin&action=fromfile');
                     //						$this->view->file = $image['name'];
                     //						$this->view->full_path = $temporary . $info['name'];
                     $this->view->success = 1;
                     //$this->view->render('upload_images', 'addpin');
                     JO_Session::set('upload_from_file', $temporary . $info['name']);
                     JO_Session::set('upload_from_file_name', $image['name']);
                 } else {
                     $return = array('error' => 11, 'description' => $this->translate('An unknown error'));
                 }
             } else {
                 $return = array('error' => 12, 'description' => $upload->getError());
             }
         }
         if ($request->isPost()) {
             $result = Model_Pins::create(array('title' => $request->getPost('title'), 'from' => '', 'image' => BASE_PATH . JO_Session::get('upload_from_file'), 'is_video' => $request->getPost('is_video'), 'is_article' => $request->getPost('is_article'), 'description' => $request->getPost('message'), 'price' => $request->getPost('price'), 'board_id' => $request->getPost('board_id'), 'user_id' => $request->getPost('userId')));
             if ($result) {
                 Model_History::addHistory(0, Model_History::ADDPIN, $result);
                 if (JO_Registry::get('isMobile')) {
                     //$this->redirect('/');
                 }
                 $session_user = JO_Session::get('user[user_id]');
                 $group = Model_Boards::isGroupBoard($request->getPost('board_id'));
                 if ($group) {
                     $users = explode(',', $group);
                     foreach ($users as $user_id) {
                         if ($user_id != $session_user) {
                             $user_data = Model_Users::getUser($user_id);
                             if ($user_data && $user_data['email_interval'] == 1 && $user_data['groups_pin_email']) {
                                 $this->view->user_info = $user_data;
                                 $this->view->profile_href = WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . JO_Session::get('user[user_id]'));
                                 $this->view->full_name = JO_Session::get('user[firstname]') . ' ' . JO_Session::get('user[lastname]');
                                 $this->view->pin_href = WM_Router::create($request->getBaseUrl() . '?controller=pin&pin_id=' . $result);
                                 $board_info = Model_Boards::getBoard($request->getPost('board_id'));
                                 if ($board_info) {
                                     $this->view->board_title = $board_info['title'];
                                     $this->view->board_href = WM_Router::create($request->getBaseUrl() . '?controller=boards&action=view&user_id=' . $board_info['user_id'] . '&board_id=' . $board_info['board_id']);
                                 }
                                 Model_Email::send($user_data['email'], JO_Registry::get('noreply_mail'), JO_Session::get('user[firstname]') . ' ' . JO_Session::get('user[lastname]') . ' ' . $this->translate('added new pin to a group board'), $this->view->render('group_board', 'mail'));
                             }
                         }
                     }
                 }
                 $this->view->pin_url = WM_Router::create($request->getBaseUrl() . '?controller=pin&pin_id=' . $result);
                 $this->view->popup_main_box = $this->view->render('success', 'addpin');
                 if (JO_Session::get('upload_from_file')) {
                     @unlink(BASE_PATH . JO_Session::get('upload_from_file'));
                     JO_Session::clear('upload_from_file');
                     JO_Session::clear('upload_from_file_name');
                 }
             }
         }
         /*
          //$_FILES-> name type tmp_name error size
          //'image' => BASE_PATH . JO_Session::get('upload_from_file'),
          if( $request->isPost() ) {
          $this->view->form_action = WM_Router::create( $request->getBaseUrl() . '?controller=addpin&action=upload_images' );
         
          $this->view->upload_action = WM_Router::create( $request->getBaseUrl() . '?controller=addpin&action=upload_imagesView' );
         
         
         
          $this->view->popup_main_box = $this->view->render('fromfile','addpin');
         
         
          $url_m = $request->getPost('image');
          if(strpos($url_m, '.jpg?')) {
          $url_m = explode('?', $url_m);
          $url_m = $url_m[0];
          }
          error_log("3file name " . $_FILES["file"]["tmp_name"] . " url_m " . $url_m);
          $url_m = $_FILES;
         
          $result = Model_Pins::create(array(
          'title' => $request->getPost('title'),
          'from' => $request->getPost('from'),
          'image' => $url_m,
          'is_video' => 0, //$request->getPost('is_video'),
          'is_article' => 0, //$request->getPost('is_article'),
          'description' => $request->getPost('message'),
          'price' => $request->getPost('price'),
          'board_id' => $request->getPost('board_id')
          ));
          if($result) {
          Model_History::addHistory(JO_Session::get('user[user_id]'), Model_History::ADDPIN, $result);
         
         
          $session_user = JO_Session::get('user[user_id]');
         
          $group = Model_Boards::isGroupBoard($request->getPost('board_id'));
          if($group) {
          $users = explode(',',$group);
          foreach($users AS $user_id) {
          if($user_id != $session_user) {
          $user_data = Model_Users::getUser($user_id);
         
          if($user_data && $user_data['email_interval'] == 1 && $user_data['groups_pin_email']) {
          $this->view->user_info = $user_data;
          $this->view->profile_href = WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . JO_Session::get('user[user_id]'));
          $this->view->full_name = JO_Session::get('user[firstname]') . ' ' . JO_Session::get('user[lastname]');
          $this->view->pin_href = WM_Router::create( $request->getBaseUrl() . '?controller=pin&pin_id=' . $result );
          $board_info = Model_Boards::getBoard($request->getPost('board_id'));
          if($board_info) {
          $this->view->board_title = $board_info['title'];
          $this->view->board_href = WM_Router::create($request->getBaseUrl() . '?controller=boards&action=view&user_id=' . $board_info['user_id'] . '&board_id=' . $board_info['board_id']);
          }
          Model_Email::send(
          $user_data['email'],
          JO_Registry::get('noreply_mail'),
          JO_Session::get('user[firstname]') . ' ' . JO_Session::get('user[lastname]') . ' ' . $this->translate('added new pin to a group board'),
          $this->view->render('group_board', 'mail')
          );
          }
         
          }
          }
          }
         
          $this->view->pin_url = WM_Router::create( $request->getBaseUrl() . '?controller=pin&pin_id=' . $result );
          $this->view->popup_main_box = $this->view->render('success','addpin');
          }
         
          }
         */
     } else {
         //no existe la sesión / no existe el dato recibido por post / el token no es igual.
         $return = array('error' => 401, 'description' => $this->translate('wrong token'));
     }
     if ($callback) {
         $return = $callback . '(' . JO_Json::encode($return) . ')';
     } else {
         $response->addHeader('Cache-Control: no-cache, must-revalidate');
         $response->addHeader('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
         $response->addHeader('Content-type: application/json');
         $return = JO_Json::encode($return);
     }
     $response->appendBody($return);
 }