Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class adsModel extends Model {
- private $_uploaded;
- public function getStoresAds($id)
- {
- $query = $this->db->query("SELECT * FROM stores_ads WHERE stores_id = " . $id . " ORDER BY sort");
- return $query->fetchAll(PDO::FETCH_ASSOC);
- }
- public function getStores()
- {
- $query = $this->db->query("SELECT * FROM stores ORDER BY friendly_name ASC");
- $data = $query->fetchAll(PDO::FETCH_ASSOC);
- if(is_array($data)) {
- foreach($data as& $item) {
- $item['total_ads'] = $this->getStoreAdsTotal($item['id']);
- }
- }
- return $data;
- }
- public function getProductsById($id)
- {
- $query = $this->db->query("SELECT * FROM products WHERE stores_id = " . $id . " AND enabled = 1");
- return $query->fetchAll(PDO::FETCH_ASSOC);
- }
- public function getAdById($id)
- {
- $query = $this->db->query("SELECT * FROM stores_ads WHERE id = " . $id);
- return $query->fetch(PDO::FETCH_ASSOC);
- }
- public function getStoreNameById($id)
- {
- $query = $this->db->query("SELECT name FROM stores WHERE id = " . $id);
- return $query->fetch(PDO::FETCH_COLUMN);
- }
- public function getStoreAdsTotal($id)
- {
- $query = $this->db->query("SELECT id FROM stores_ads WHERE stores_id = " . $id);
- return $query->RowCount();
- }
- public function upload($id)
- {
- $this->setUploadedFiles();
- $query = $this->db->query("SELECT friendly_name FROM stores WHERE id = " . $id);
- $friendly_name = $query->fetch(PDO::FETCH_COLUMN);
- $ad_count = 0;
- foreach($this->_uploaded as $name) {
- $file = pathinfo($name);
- $ad_count = $file['filename'];
- $path = '/images/ads/'.$friendly_name.'-black-friday-'.($ad_count).'-' . $this->createRandomString() . '.' . $file['extension'];
- if(!copy(__SITE_PATH . "/public/tmp/" . $name, __FRONTEND_PATH . $path)) {
- return false;
- }
- $this->db->query("INSERT INTO stores_ads (stores_id, path, sort) VALUES (".$id.", '".$path."', ".(int)$ad_count.")");
- @unlink(__SITE_PATH . "/public/tmp/" . $name);
- }
- apc_clear_cache();
- return true;
- }
- public function save_hover()
- {
- $post = $_POST;
- switch($post['action']) {
- case 'save':
- $this->db->query("INSERT INTO products_hover (products_id, stores_ads_id, tag_width, tag_height, tag_top, tag_left) VALUES ('".$post['products_id']."', '".$post['stores_ads_id']."', '".$post['width']."', '".$post['height']."', '".$post['top']."', '".$post['left']."')");
- print $this->db->lastInsertId();
- break;
- case 'delete':
- $this->db->query("DELETE FROM products_hover WHERE id = " . $post['id']);
- break;
- case 'list':
- $tags = '';
- $query = $this->db->query("SELECT * FROM products_hover WHERE stores_ads_id = " . $post['stores_ads_id']);
- if($query->rowCount() > 0) {
- $results = $query->fetchAll(PDO::FETCH_ASSOC);
- foreach($results as $item) {
- $tags[] = array("id" => $item['id'], "label" => $item['products_id'], "width" => $item['tag_width'], "height" => $item['tag_height'], "top" => $item['tag_top'], "left" => $item['tag_left']);
- }
- }
- print json_encode($tags);
- break;
- }
- apc_clear_cache();
- }
- public function delete_image($id)
- {
- $query = $this->db->query("SELECT * FROM stores_ads WHERE id = " . $id);
- $row = $query->fetch(PDO::FETCH_ASSOC);
- if(!empty($row['path'])) {
- @unlink(__FRONTEND_PATH . $row['path']);
- @unlink(__SITE_PATH . '/tmp/images/ads/' . $id);
- $this->db->query("DELETE FROM stores_ads WHERE id = " . $id);
- apc_clear_cache();
- return true;
- }
- return false;
- }
- public function delete_all($store_id)
- {
- $query = $this->db->query("SELECT * FROM stores_ads WHERE stores_id = " . $store_id);
- $data = $query->fetchAll(PDO::FETCH_ASSOC);
- if(!empty($data)) {
- foreach($data as $row) {
- if(!empty($row['path'])) {
- @unlink(__FRONTEND_PATH . $row['path']);
- @unlink(__SITE_PATH . '/tmp/images/ads/' . $row['id']);
- $this->db->query("DELETE FROM stores_ads WHERE id = " . $row['id']);
- }
- }
- apc_clear_cache();
- return true;
- }
- return false;
- }
- private function setUploadedFiles()
- {
- $dir= __SITE_PATH . "/public/tmp";
- if($dir_list = opendir($dir)) {
- while(($filename = readdir($dir_list)) !== false) {
- if(($filename == '.') or ($filename == '..')) {
- } else {
- $this->_uploaded[] = $filename;
- }
- }
- closedir($dir_list);
- }
- }
- private function createRandomString($length = 4) {
- $chars = "abcdefghijkmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
- srand((double)microtime()*1000000);
- $i = 0;
- $pass = '' ;
- while ($i <= $length) {
- $num = rand() % 33;
- $tmp = substr($chars, $num, 1);
- $pass = $pass . $tmp;
- $i++;
- }
- return $pass;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement