public function deleteImage($image_id) { $db = JO_Db::getDefaultAdapter(); $query = $db->select()->from('gallery_images', array('image'))->where('image_id = ?', (int) $image_id); $result = $db->fetchOne($query); if (!$result) { return 'error'; } else { $mi = new Helper_Images(); $mi->deleteImages($result); $db->delete('gallery_images', array('image_id = ?' => (int) $image_id)); return 'ok'; } }
public static function createPage($data) { $db = JO_Db::getDefaultAdapter(); $db->insert('pages', array('date_added' => new JO_Db_Expr('NOW()'), 'date_modified' => new JO_Db_Expr('NOW()'), 'parent_id' => (int) (isset($data['parent_id']) ? $data['parent_id'] : 0), 'status' => (int) $data['status'], 'in_footer' => (int) $data['in_footer'], 'title' => $data['title'], 'description' => $data['description'], 'meta_title' => $data['meta_title'], 'meta_description' => $data['meta_description'], 'meta_keywords' => $data['meta_keywords'])); $page_id = $db->lastInsertId(); if (isset($data['keyword']) && $data['keyword']) { self::generatePage($page_id, $data['keyword']); } else { self::generatePage($page_id); } $temporary_images = JO_Session::get('temporary_images'); if ($temporary_images && is_array($temporary_images)) { $page_info = self::getPage($page_id); if ($page_info) { $gallery_path = '/gallery/' . date("Y/m/", strtotime($page_info['date_added'])); $upload_folder = realpath(BASE_PATH . '/uploads'); $upload_folder .= $gallery_path; foreach ($temporary_images as $image) { $image_name = basename($image['image']); if (!file_exists($upload_folder) || !is_dir($upload_folder)) { mkdir($upload_folder, 0777, true); } if (copy(BASE_PATH . '/uploads/' . $image['image'], $upload_folder . $image_name)) { $image_id = Model_Gallery::createImage(array('gallery_id' => $page_id, 'controller' => 'pages', 'image' => $gallery_path . $image_name)); if ($image_id && isset($image['title'])) { Model_Gallery::updateImageInfo($image_id, $image['title']); } } $mi = new Helper_Images(); $mi->deleteImages($image['image']); } } JO_Session::clear('temporary_images'); } return $page_id; }
public static function uploadUserAvatar($image, $user_id = 0) { if (($imageinfo = getimagesize($image)) !== false) { self::init(); if (self::$error) { return false; } $added_date = time(); $username = md5($user_id); $user_info = new Model_Users_User($user_id); if ($user_info->count()) { $added_date = $user_info['date_added']; $username = $user_info['username']; } $ext = strtolower(strrchr($image, ".")); if (!$ext) { $mime_ext = explode('/', $imageinfo['mime']); if (isset($mime_ext[1])) { $ext = '.' . $mime_ext[1]; } } $name = $username . '_' . $user_id . $ext; $image_path = 'avatars/' . WM_Date::format($added_date, 'yy/mm/'); if (!file_exists(BASE_PATH . '/uploads/cache_avatars/' . $image_path) || !is_dir(BASE_PATH . '/uploads/cache_avatars/' . $image_path)) { @mkdir(BASE_PATH . '/uploads/cache_avatars/' . $image_path, 0777, true); } $user_agent = ini_get('user_agent'); ini_set('user_agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9'); if (!@copy($image, BASE_PATH . '/uploads/cache_avatars/' . $image_path . $name)) { self::$error = self::translate('Unable to upload to the local server!'); return false; } ini_set('user_agent', $user_agent); $max_width = 0; $sizes = self::userThumbSizes(); $pin_sizes = array(); if ($sizes) { $model_images = new Helper_Images(); foreach ($sizes as $size => $prefix) { $sizes = explode('x', $size); $pin_sizes[] = array((int) isset($sizes[0]) ? $sizes[0] : 0, (int) isset($sizes[1]) ? $sizes[1] : 0, basename($name, $ext) . $prefix . $ext); $max_width = max($max_width, (int) isset($sizes[0]) ? $sizes[0] : 0); } if ($max_width) { $thumb_a = $model_images->resizeWidth('/cache_avatars/' . $image_path . $name, $max_width); $thumb_a1 = explode('/uploads/', $thumb_a); if ($thumb_a1 && isset($thumb_a1[1]) && $thumb_a1[1]) { $container = Helper_Config::get('rackspace_users_contaners'); try { $images = self::$connect->get_container($container); //$images->make_public(86400*365); //$images = self::$connect->get_container($container); //if(!$images->cdn_uri) { // self::$error = self::translate("Authentication response did not indicate CDN availability"); // return false; //} $object = $images->create_object($name); $object->load_from_filename(BASE_PATH . '/uploads/' . $thumb_a1[1]); $image_info = $images->get_object($name); if (!$image_info->name) { self::$error = self::translate('Unable to upload to the server!'); return false; } foreach ($pin_sizes as $s) { $thumb_b = ''; if ($s[0] && $s[1]) { $thumb_b = $model_images->resize('/' . $thumb_a1[1], $s[0], $s[1], true); } else { if ($s[0] && !$s[1]) { $thumb_b = $model_images->resizeWidth('/' . $thumb_a1[1], $s[0]); } else { if (!$s[0] && $s[1]) { $thumb_b = $model_images->resizeHeight('/' . $thumb_a1[1], $s[1]); } } } $thumb_b1 = explode('/uploads/', $thumb_b); if ($thumb_b1 && isset($thumb_b1[1]) && $thumb_b1[1]) { $object = $images->create_object($s[2]); $object->load_from_filename(BASE_PATH . '/uploads/' . $thumb_b1[1]); $image_info1 = $images->get_object($s[2]); if (!$image_info1->name) { self::$error = self::translate('Unable to upload to the server!'); return false; } } else { self::$error = self::translate('Unable to upload to the local server!'); return false; } } return array('store' => 'Model_Upload_Rackspace', 'image' => trim(Helper_Config::get('rackspace_users_contaners_cdn'), '/') . '/' . $image_info->name, 'width' => 0, 'height' => 0); } catch (JO_Exception $e) { self::$error = $e->getMessage(); return false; } $model_images->deleteImages('/' . $thumb_a1[1]); $model_images->deleteImages('/cache_avatars/' . $image_path . $name); return array('store' => 'Model_Upload_Amazons3', 'image' => $image_path . $name, 'width' => 0, 'height' => 0); } else { self::$error = self::translate('Unable to upload to the local server!'); return false; } } else { self::$error = self::translate('Missing images sizes!'); return false; } } else { self::$error = self::translate('Missing images sizes!'); return false; } } else { self::$error = self::translate('Image format is not valid!'); return false; } self::$error = self::translate('Unknown server error!'); return false; }
public function deleteAction() { $request = $this->getRequest(); $collectionID = $request->getRequest('delete'); if (!$collectionID || !is_numeric($collectionID)) { return $this->forward('error', 'error404'); } $image = new Helper_Images(); $referer = $request->getServer('HTTP_REFERER'); if ($collectionID) { $collection = Model_Collections::get($collectionID); if (!$collection) { return $this->forward('error', 'error404'); } if (JO_Session::get('user_id') == $collection['user_id']) { $itemID = $request->getParam('item'); if ($itemID) { Model_Collections::deleteBookmark($collectionID, $itemID); JO_Session::set('msg_success', 'You have successfully delete this item!'); } else { Model_Collections::deleteCollection($collectionID); $image->deleteImages($collection['photo']); JO_Session::set('msg_success', 'You have successfully delete this collection!'); if (stripos($referer, 'view_collection') !== false) { $referer = WM_Router::create($request->getBaseUrl() . '?controller=users&action=collections&username='******'username')) . '/public/' . ($collection['public'] == 'true' ? 1 : 0)); } } } } $this->redirect($referer); }
public function deleteAction() { $json = array(); $pathp = $this->getRequest()->getPost('path'); if ($pathp !== null) { $path = rtrim($this->upload_folder . str_replace('../', '', $pathp), '/'); if (!file_exists($path)) { $json['error'] = $this->translate('Path not found'); } if (rtrim($path, '/') == rtrim($this->upload_folder, '/')) { $json['error'] = $this->translate('You can not delete the base path'); } } else { $json['error'] = $this->translate('No path is selected'); } if (!isset($json['error'])) { if (is_file($path)) { $images = new Helper_Images(); $images->deleteImages($pathp); } elseif (is_dir($path)) { $this->recursiveDelete($path); $cache_folder = $this->upload_folder . DS . 'cache' . $pathp; $this->recursiveDelete($cache_folder); } $json['success'] = $this->translate('Deletion is successful'); } $response = $this->getResponse(); $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'); $this->setInvokeArg('noViewRenderer', true); echo JO_Json::encode($json); }
public static function deleteUserImage($user_info) { $model_image = new Helper_Images(); $model_image->deleteImages($user_info['avatar'], true); }
public static function deleteUser($user_id) { $db = JO_Db::getDefaultAdapter(); $user_info = self::getUser($user_id); if (!$user_info) { return; } if ($user_info['store'] == 's3') { self::deleteImagesAmazon($user_info['avatar']); } else { if ($user_info['avatar']) { $model_image = new Helper_Images(); $model_image->deleteImages($user_info['avatar']); } } $query = $db->select()->from('boards')->where('user_id = ?', (string) $user_id); $rows = $db->fetchAll($query); if ($rows) { foreach ($rows as $row) { Model_Boards::delete($row['board_id']); } } $db->query("DELETE FROM url_alias WHERE query = 'user_id=" . (string) $user_id . "'"); $db->delete('users_boards', array('user_id = ?' => (string) $user_id)); $db->delete('shared_content', array('user_id = ?' => (string) $user_id)); $db->delete('users_following', array('user_id = ?' => (string) $user_id)); $db->delete('users_following', array('following_id = ?' => (string) $user_id)); $db->delete('users_following_ignore', array('user_id = ?' => (string) $user_id)); $db->delete('users_following_ignore', array('following_id = ?' => (string) $user_id)); $db->delete('users_following_user', array('user_id = ?' => (string) $user_id)); $db->delete('users_following_user', array('following_id = ?' => (string) $user_id)); $db->delete('users_history', array('from_user_id = ?' => (string) $user_id)); $db->delete('users_history', array('to_user_id = ?' => (string) $user_id)); $db->delete('users_agenda', array('user_id = ?' => (string) $user_id)); $db->delete('users_activate', array('user_id = ?' => (string) $user_id)); $db->delete('users_location', array('user_id = ?' => (string) $user_id)); $db->delete('users_sports', array('user_id = ?' => (string) $user_id)); $db->delete('users_messages', array('from_user_id = ?' => (string) $user_id)); $db->delete('users_messages', array('to_user_id = ?' => (string) $user_id)); $db->delete('users_mails', array('from_user_id = ?' => (string) $user_id)); $db->delete('users_mails_to', array('user_id = ?' => (string) $user_id)); $db->delete('users_likes', array('user_id = ?' => (string) $user_id)); $db->delete('users', array('user_id = ?' => (string) $user_id)); }
public static function delete($pin_id) { $db = JO_Db::getDefaultAdapter(); $pin_info = self::getPin($pin_id); if (!$pin_info) { return false; } if ($pin_info['store'] == 's3') { self::deleteImagesAmazon($pin_info['image']); } else { $model_image = new Helper_Images(); $model_image->deleteImages($pin_info['image']); } $comments = Model_Comments::getComments(array('filter_pin_id' => $pin_id)); if ($comments) { foreach ($comments as $comment) { $db->delete('pins_comments', array('comment_id = ?' => $comment['comment_id'])); $db->delete('pins_reports_comments', array('comment_id = ?' => $comment['comment_id'])); } } $del = $db->delete('pins', array('pin_id = ?' => $pin_id)); if (!$del) { return false; } else { $latest_pins = array(); $pins_query = $db->select()->from('pins', array('pin_id', 'pin_id'))->where('user_id = ?', $pin_info['user_id'])->order('pin_id DESC')->limit(15); $latest = $db->fetchPairs($pins_query); if ($latest) { $latest_pins = $latest; } $update = array('pins' => new JO_Db_Expr('pins-1'), 'latest_pins' => implode(',', $latest_pins)); $update['likes'] = new JO_Db_Expr('likes-' . (int) $db->fetchOne($db->select()->from('pins_likes', 'COUNT(like_id)')->where('pin_id = ?', $pin_id))); $db->update('users', $update, array('user_id=?' => $pin_info['user_id'])); $latest_pins = array(); $pins_query = $db->select()->from('pins', array('pin_id', 'pin_id'))->where('board_id = ?', $pin_info['board_id'])->order('pin_id DESC')->limit(15); $latest = $db->fetchPairs($pins_query); if ($latest) { $latest_pins = $latest; } $update = array('pins' => new JO_Db_Expr('pins-1'), 'latest_pins' => implode(',', $latest_pins)); $update['latest_pins'] = implode(',', $latest_pins); $db->update('boards', $update, array('board_id=?' => $pin_info['board_id'])); $db->delete('pins_invert', array('pin_id = ?' => $pin_id)); $db->delete('pins_likes', array('pin_id = ?' => $pin_id)); $db->delete('pins_reports', array('pin_id = ?' => $pin_id)); $db->delete('pins_views', array('pin_id = ?' => $pin_id)); $db->delete('users_history', array('pin_id = ?' => $pin_id)); self::deleteCache($pin_info); return true; } }
public function deleteImageAction() { if (!WM_Users::allow('delete', $this->getRequest()->getController())) { $this->forward('error', 'noPermission'); } $gallery_id = (int) $this->getRequest()->getRequest('id'); $this->setInvokeArg('noViewRenderer', true); $image_id = $this->getRequest()->getPost('id'); if ($gallery_id) { echo Model_Gallery::deleteImage($image_id); } else { $temporary_images = JO_Session::get('temporary_images'); $temp = array(); foreach ($temporary_images as $key => $image) { if ($key != $image_id) { $temp[] = $image; } else { $mi = new Helper_Images(); $mi->deleteImages($image['image']); } } echo 'ok'; JO_Session::set('temporary_images', $temp); } }
public static function uploadUserAvatar($image, $user_id = 0) { if (($imageinfo = getimagesize($image)) !== false) { self::init(); if (self::$error) { return false; } $added_date = time(); $username = md5($user_id); $user_info = new Model_Users_User($user_id); if ($user_info->count()) { $added_date = $user_info['date_added']; $username = $user_info['username']; } $ext = strtolower(strrchr($image, ".")); if (!$ext) { $mime_ext = explode('/', $imageinfo['mime']); if (isset($mime_ext[1])) { $ext = '.' . $mime_ext[1]; } } $name = $username . '_' . $user_id . $ext; $image_path = 'avatars/' . WM_Date::format($added_date, 'yy/mm/'); if (!file_exists(BASE_PATH . '/uploads/cache_avatars/' . $image_path) || !is_dir(BASE_PATH . '/uploads/cache_avatars/' . $image_path)) { @mkdir(BASE_PATH . '/uploads/cache_avatars/' . $image_path, 0777, true); } $user_agent = ini_get('user_agent'); ini_set('user_agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9'); if (!@copy($image, BASE_PATH . '/uploads/cache_avatars/' . $image_path . $name)) { self::$error = self::translate('Unable to upload to the local server!'); return false; } ini_set('user_agent', $user_agent); $max_width = 0; $sizes = self::userThumbSizes(); $pin_sizes = array(); if ($sizes) { $model_images = new Helper_Images(); foreach ($sizes as $size => $prefix) { $sizes = explode('x', $size); $pin_sizes[] = array((int) isset($sizes[0]) ? $sizes[0] : 0, (int) isset($sizes[1]) ? $sizes[1] : 0, basename($name, $ext) . $prefix . $ext); $max_width = max($max_width, (int) isset($sizes[0]) ? $sizes[0] : 0); } if ($max_width) { $thumb_a = $model_images->resizeWidth('/cache_avatars/' . $image_path . $name, $max_width); $thumb_a1 = explode('/uploads/', $thumb_a); if ($thumb_a1 && isset($thumb_a1[1]) && $thumb_a1[1]) { self::upload(BASE_PATH . '/uploads/' . $thumb_a1[1], $image_path . $name); if (self::$error) { return false; } foreach ($pin_sizes as $s) { if (self::$error) { return false; } $thumb_b = ''; if ($s[0] && $s[1]) { $thumb_b = $model_images->resize('/' . $thumb_a1[1], $s[0], $s[1], true); } else { if ($s[0] && !$s[1]) { $thumb_b = $model_images->resizeWidth('/' . $thumb_a1[1], $s[0]); } else { if (!$s[0] && $s[1]) { $thumb_b = $model_images->resizeHeight('/' . $thumb_a1[1], $s[1]); } } } $thumb_b1 = explode('/uploads/', $thumb_b); if ($thumb_b1 && isset($thumb_b1[1]) && $thumb_b1[1]) { self::upload(BASE_PATH . '/uploads/' . $thumb_b1[1], $image_path . $s[2]); if (self::$error) { return false; } } else { self::$error = self::translate('Unable to upload to the local server!'); return false; } } $model_images->deleteImages('/' . $thumb_a1[1]); $model_images->deleteImages('/cache_avatars/' . $image_path . $name); return array('store' => 'Model_Upload_Amazons3', 'image' => $image_path . $name, 'width' => 0, 'height' => 0); } else { self::$error = self::translate('Unable to upload to the local server!'); return false; } } else { self::$error = self::translate('Missing images sizes!'); return false; } } else { self::$error = self::translate('Missing images sizes!'); return false; } } else { self::$error = self::translate('Image format is not valid!'); return false; } self::$error = self::translate('Unknown server error!'); return false; }
public function upload_imagesAction() { $request = $this->getRequest(); if (JO_Session::get('user[user_id]')) { $image = $request->getFile('file'); if (!$image) { $this->view->error = $this->translate('There is no file selected'); } else { $temporary = '/cache/review/'; $upload_folder = BASE_PATH . $temporary; $upload = new Helper_Upload(); $files_delete = glob($upload_folder . '*.*'); $imageObject = new Helper_Images(); if ($files_delete) { for ($i = 0; $i < min(count($files_delete), 250); $i++) { if (filemtime($files_delete[$i]) + 86400 < time()) { $imageObject->deleteImages('/../' . $temporary . basename($files_delete[$i])); } } } $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) { $files = JO_Session::get('gallery_upload_images'); if (!$files) { $files = array(); } $config_image_minimum_size = (int) Helper_Config::get('config_image_minimum_size'); if (!$config_image_minimum_size) { $config_image_minimum_size = 80; } if (isset($info['image_dimension']['x']) && $info['image_dimension']['x'] >= $config_image_minimum_size && $info['image_dimension']['y'] >= $config_image_minimum_size) { $imageObject->resize('/../' . $temporary . $info['name'], 75, 75, true); $files[] = array('name' => $image['name'], 'tmp_name' => $info['name'], 'path' => $temporary); JO_Session::set('gallery_upload_images', $files); $this->view->success = 1; } else { $this->view->error = sprintf($this->translate('Photo size must be larger width and height of %s px'), $config_image_minimum_size); } } else { $this->view->error = $this->translate('An unknown error'); } } else { $this->view->error = $upload->getError(); } } } else { $this->view->location = WM_Router::create($request->getBaseUrl() . '?controller=users&action=login'); } echo $this->renderScript('json'); }
public static function delete($event_id) { $db = JO_Db::getDefaultAdapter(); $event_info = self::getEvent($event_id); if (!$event_info) { return false; } if ($event_info['store'] == 's3') { self::deleteImagesAmazon($event_info['image']); } else { $model_image = new Helper_Images(); $model_image->deleteImages($event_info['image']); } $comments = Model_Events::getComments(array('filter_event_id' => $event_id)); if ($comments) { foreach ($comments as $comment) { $db->delete('events_comments', array('comment_id = ?' => $comment['comment_id'])); $db->delete('events_reports_comments', array('comment_id = ?' => $comment['comment_id'])); } } $del = $db->delete('events', array('event_id = ?' => $event_id)); if (!$del) { return false; } else { $db->delete('events_likes', array('event_id = ?' => $event_id)); $db->delete('events_reports', array('event_id = ?' => $event_id)); $db->delete('events_following', array('event_id = ?' => $event_id)); $db->delete('users_history', array('pin_id = ?' => $event_id)); self::deleteCache($event_info); return true; } }