Beispiel #1
0
 public function deleteMultiAction()
 {
     $this->setInvokeArg('noViewRenderer', true);
     if (!WM_Users::allow('delete', $this->getRequest()->getController())) {
         echo $this->translate('You do not have permission to this action');
     } else {
         $action_check = $this->getRequest()->getPost('action_check');
         if ($action_check && is_array($action_check)) {
             foreach ($action_check as $record_id) {
                 Model_Pins::delete($record_id);
             }
         }
     }
 }
Beispiel #2
0
 public static function delete($board_id)
 {
     $board_info = self::getBoard($board_id);
     if (!$board_info) {
         return;
     }
     $deleted_pins = 0;
     $db = JO_Db::getDefaultAdapter();
     $pins_query = $db->select()->from('pins')->where('board_id = ?', $board_id);
     $pins = $db->fetchAll($pins_query);
     if ($pins) {
         foreach ($pins as $pin) {
             $deleted = Model_Pins::delete($pin['pin_id']);
             if ($deleted) {
                 $deleted_pins++;
             }
         }
     }
     $db->delete('users_following', array('board_id = ?' => $board_id));
     $db->delete('users_following_ignore', array('board_id = ?' => $board_id));
     $del_boards = $db->delete('boards', array('board_id = ?' => $board_id));
     $db->delete('users_boards', array('board_id = ?' => $board_id));
     $db->delete('users_history', array('board_id = ?' => $board_id));
     $db->query("DELETE FROM url_alias WHERE query = 'board_id=" . $board_id . "'");
     /*$update = array(
     			'boards' => new JO_Db_Expr("(SELECT COUNT(board_id) FROM boards WHERE user_id = '".$board_info['user_id']."')")
     		);*/
     //$db->update('users', $update, array('user_id=?'=>$board_info['user_id']));
     Helper_Db::update('users', array('pins' => new JO_Db_Expr('(SELECT COUNT(DISTINCT pin_id) FROM pins WHERE user_id = users.user_id)'), 'boards' => new JO_Db_Expr('(SELECT COUNT(DISTINCT board_id) FROM boards WHERE user_id = users.user_id)'), 'likes' => new JO_Db_Expr('(SELECT COUNT(DISTINCT pin_id) FROM pins_likes WHERE user_id = users.user_id)'), 'following' => new JO_Db_Expr('( (SELECT COUNT(DISTINCT following_id) FROM users_following_user WHERE user_id = users.user_id AND following_id != users.user_id LIMIT 1) + (SELECT COUNT(DISTINCT user_id) FROM users_following WHERE user_id = users.user_id AND following_id != users.user_id LIMIT 1) )'), 'followers' => new JO_Db_Expr('( (SELECT COUNT(DISTINCT user_id) FROM users_following_user WHERE following_id = users.user_id AND user_id != users.user_id LIMIT 1) + (SELECT COUNT(DISTINCT user_id) FROM users_following WHERE following_id = users.user_id AND user_id != users.user_id LIMIT 1) )')), array('user_id=?' => $board_info['user_id']));
     Model_Users::updateLatestPins($board_info['user_id']);
     return $del_boards;
 }
Beispiel #3
0
 public function deleteAction()
 {
     $request = $this->getRequest();
     $pin_id = $request->getRequest('pin_id');
     $pin_info = Model_Pins::getPin($pin_id);
     if (!$pin_info) {
         $this->forward('error', 'error404');
     }
     if ($pin_info['user_id'] != JO_Session::get('user[user_id]')) {
         $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=pin&pin_id=' . $pin_info['pin_id']));
     } else {
         if (Model_Pins::delete($pin_id)) {
             $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=boards&user_id=' . $pin_info['user_id'] . '&board_id=' . $pin_info['board_id']));
         } else {
             $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=pin&action=edit&pin_id=' . $pin_info['pin_id']));
         }
     }
 }