Example #1
0
 private function getForm()
 {
     $request = $this->getRequest();
     $id = $request->getQuery('id');
     if ($id) {
         $info = Model_Bulletin::getBulletin($id);
     }
     $this->view->page_num = $this->getRequest()->getRequest('page', 1);
     if (isset($info)) {
         $this->view->info = $info;
         $this->view->info['text'] = html_entity_decode($info['text'], ENT_QUOTES, 'utf-8');
         $date = new JO_Date($info['datetime'], 'H:i dd MM yy');
         $this->view->info['datetime'] = $date->toString();
     }
     if ($id) {
         if ($request->getPost('name')) {
             $this->view->name = $request->getPost('name');
         } elseif (isset($info)) {
             $this->view->name = $info['name'];
         } else {
             $this->view->name = '';
         }
         if ($request->getPost('text')) {
             $this->view->text = $request->getPost('text');
         } elseif (isset($info)) {
             $this->view->text = $info['text'];
         } else {
             $this->view->text = '';
         }
     }
 }
Example #2
0
 public function indexAction()
 {
     $where = '';
     $category = null;
     if ($this->getRequest()->getQuery('username')) {
         $userinfo = Model_Users::getByUsername($this->getRequest()->getQuery('username'));
         if ($userinfo) {
             $where = "users.username = '******'username') . "'";
         }
     }
     if ($this->getRequest()->getQuery('category')) {
         $catinfo = Model_Categories::get($this->getRequest()->getQuery('category'));
         if ($catinfo) {
             $category = $this->getRequest()->getQuery('category');
         }
     }
     $items = Model_Items::getAll($category, 0, 20, 'id desc', $where);
     $this->view->item = array();
     if ($items) {
         $model_images = new Model_Images();
         $categories = Model_Categories::get_all();
         foreach ($items as $item) {
             $categories_string = '';
             if ($category) {
                 foreach ($item['categories'] as $cats) {
                     if (in_array($category, $cats)) {
                         foreach ($cats as $cat) {
                             if (isset($categories[$cat]['name'])) {
                                 $categories_string .= $categories_string ? ' › ' : '';
                                 $categories_string .= $categories[$cat]['name'];
                             }
                         }
                         break;
                     }
                 }
             } else {
                 $cats = array_pop($item['categories']);
                 if ($cats && is_array($cats)) {
                     foreach ($cats as $cat) {
                         if (isset($categories[$cat]['name'])) {
                             $categories_string .= $categories_string ? ' › ' : '';
                             $categories_string .= $categories[$cat]['name'];
                         }
                     }
                 }
             }
             if ((int) JO_Registry::get($item['module'] . '_items_preview_width') && (int) JO_Registry::get($item['module'] . '_items_preview_height')) {
                 $item['theme_preview_thumbnail'] = $this->getRequest()->getBaseUrl() . $model_images->resize($item['theme_preview_thumbnail'], JO_Registry::forceGet($item['module'] . '_items_preview_width'), JO_Registry::forceGet($item['module'] . '_items_preview_height'), true);
             } elseif ((int) JO_Registry::get($item['module'] . '_items_preview_width')) {
                 $item['theme_preview_thumbnail'] = $this->getRequest()->getBaseUrl() . $model_images->resizeWidth($item['theme_preview_thumbnail'], JO_Registry::forceGet($item['module'] . '_items_preview_width'));
             } elseif ((int) JO_Registry::get($item['module'] . '_items_preview_height')) {
                 $item['theme_preview_thumbnail'] = $this->getRequest()->getBaseUrl() . $model_images->resizeHeight($item['theme_preview_thumbnail'], JO_Registry::forceGet($item['module'] . '_items_preview_height'));
             } else {
                 $item['theme_preview_thumbnail'] = false;
             }
             $this->view->item[] = array('title' => $item['name'], 'link' => WM_Router::create($this->getRequest()->getBaseUrl() . '?module=' . $item['module'] . '&controller=items&item_id=' . $item['id']), 'description' => html_entity_decode($item['description'], ENT_QUOTES, 'utf-8'), 'author' => $item['username'], 'category' => $categories_string, 'guid' => $item['id'], 'enclosure' => $item['theme_preview_thumbnail'], 'pubDate' => JO_Date::getInstance($item['datetime'], JO_Date::RSS_FULL, true)->toString());
         }
     }
     echo $this->renderScript('rss');
 }
Example #3
0
 public function indexAction()
 {
     if ($this->session->get('successfu_edite')) {
         $this->view->successfu_edite = true;
         $this->session->clear('successfu_edite');
     }
     $this->view->page_num = $page = $this->getRequest()->getRequest('page', 1);
     $data = array('start' => $page * JO_Registry::get('admin_limit') - JO_Registry::get('admin_limit'), 'limit' => JO_Registry::get('admin_limit'));
     $this->view->contacts = array();
     $contacts = Model_Contacts::getContacts($data);
     if ($contacts) {
         foreach ($contacts as $contact) {
             $contact['datetime'] = JO_Date::getInstance($contact['datetime'], 'dd MM yy', true)->toString();
             $contact['has_response'] = $contact['answer_datetime'] != '0000-00-00 00:00:00';
             if ($contact['answer_datetime'] != '0000-00-00 00:00:00') {
                 $contact['answer_datetime'] = JO_Date::getInstance($contact['answer_datetime'], 'dd MM yy', true)->toString();
             } else {
                 $contact['answer_datetime'] = '';
             }
             $this->view->contacts[] = $contact;
         }
     }
     $total_records = Model_Contacts::getTotalContacts($data);
     $this->view->total_pages = ceil($total_records / JO_Registry::get('admin_limit'));
     $this->view->total_rows = $total_records;
     $pagination = new Model_Pagination();
     $pagination->setLimit(JO_Registry::get('admin_limit'));
     $pagination->setPage($page);
     $pagination->setTotal($total_records);
     $pagination->setUrl($this->getRequest()->getModule() . '/contacts/?page={page}');
     $this->view->pagination = $pagination->render();
 }
Example #4
0
 public static function createUser($data)
 {
     $db = JO_Db::getDefaultAdapter();
     if (!$data['username'] || Model_Users::getByUsername($data['username'])) {
         return false;
     }
     if (!$data['email'] || Model_Users::getByEmail($data['email'])) {
         return false;
     }
     $db->insert(Model_Users::getPrefixDB() . 'users', array('username' => $data['username'], 'password' => $data['password'], 'email' => $data['email'], 'firstname' => $data['firstname'], 'lastname' => $data['lastname'], 'firmname' => $data['firmname'], 'profile_title' => $data['profile_title'], 'profile_desc' => $data['profile_desc'], 'register_datetime' => $data['register_datetime'], 'status' => 'activate'));
     $user_id = $db->lastInsertId();
     if ($user_id) {
         $upload_path = BASE_PATH . '/uploads';
         $user_path = '/users/' . JO_Date::getInstance($data['register_datetime'], 'yy/mm/')->toString() . $user_id . '/';
         $upload_path .= $user_path;
         if ($data['avatar'] && @getimagesize($data['avatar'])) {
             $name = basename($data['avatar']);
             if (copy($data['avatar'], $upload_path . $name)) {
                 $db->update('users', array('avatar' => $user_path . $name), array('user_id' => $user_id));
             }
         }
         if ($data['homeimage'] && @getimagesize($data['homeimage'])) {
             $name = basename($data['homeimage']);
             if (copy($data['homeimage'], $upload_path . $name)) {
                 $db->update('users', array('homeimage' => $user_path . $name), array('user_id' => $user_id));
             }
         }
         return Model_Users::getUser($user_id);
     }
 }
Example #5
0
 public static function edit($id, $data)
 {
     $db = JO_Db::getDefaultAdapter();
     if (isset($data['topbanner'])) {
         Model_Settings::updateAll(array('topbanner' => $data['topbanner']));
     }
     return $db->update('topbanner', array('name' => $data['name'], 'url' => $data['url'], 'html' => $data['html'], 'background' => $data['background'], 'photo' => $data['photo'], 'from' => $data['from'] ? JO_Date::getInstance($data['from'], 'yy-mm-dd', true)->toString() : '0000-00-00', 'to' => $data['to'] ? JO_Date::getInstance($data['to'], 'yy-mm-dd', true)->toString() : '0000-00-00', 'close' => $data['close'], 'width' => (int) $data['width'], 'height' => (int) $data['height'], 'cookie' => (int) $data['cookie']), array('id = ?' => (int) $id));
 }
Example #6
0
 public static function dateDiff($time1, $time2, $precision = 7, $full = false)
 {
     // If not numeric then convert texts to unix timestamps
     if (!is_int($time1)) {
         $time1 = JO_Date::dateToUnix($time1);
     }
     if (!is_int($time2)) {
         $time2 = JO_Date::dateToUnix($time2);
     }
     // If time1 is bigger than time2
     // Then swap time1 and time2
     if ($time1 > $time2) {
         $ttime = $time1;
         $time1 = $time2;
         $time2 = $ttime;
     }
     // Set up intervals and diffs arrays
     $intervals = array('year', 'month', 'week', 'day', 'hour', 'minute', 'second');
     $diffs = array();
     // Loop thru all intervals
     foreach ($intervals as $interval) {
         // Set default diff to 0
         $diffs[$interval] = 0;
         // Create temp time from time1 and interval
         $ttime = strtotime("+1 " . $interval, $time1);
         // Loop until temp time is smaller than time2
         while ($time2 >= $ttime) {
             $time1 = $ttime;
             $diffs[$interval]++;
             // Create new temp time from time1 and interval
             $ttime = strtotime("+1 " . $interval, $time1);
         }
     }
     $count = 0;
     $times = array();
     // Loop thru all diffs
     foreach ($diffs as $interval => $value) {
         // Break if we have needed precission
         if (!$full && $count >= $precision) {
             break;
         }
         // Add value and interval
         // if value is bigger than 0
         if ($value > 0 || $full) {
             // Add s if value is not 1
             if ($value != 1) {
                 $interval .= "s";
             }
             // Add value and interval to times array
             $times[] = array('key' => $interval, 'value' => $value);
             $count++;
         }
     }
     // Return string with times
     return $times;
 }
Example #7
0
File: Date.php Project: noikiy/PD
 public static function getDaysListBetweenTwoDate($startDate, $endDate = 'now')
 {
     $date = JO_Date::getInstance();
     $date->setFormat('yy-mm-dd');
     $pastDateTS = $date->dateToUnix($startDate);
     $currentDateArray = array();
     for ($currentDateTS = $pastDateTS; $currentDateTS < strtotime($endDate); $currentDateTS += 86400) {
         $currentDateArray[] = $date->setDate($currentDateTS)->toString();
     }
     return $currentDateArray;
 }
Example #8
0
 /**
  * Constructor function.
  */
 public function __construct()
 {
     /**
      * Initialise some variables.
      */
     $this->attachments = array();
     $this->html_images = array();
     $this->html_files = array();
     $this->headers = array();
     $this->text = '';
     $this->sendmail_path = '/usr/lib/sendmail -ti';
     /**
      * If you want the auto load functionality
      * to find other image/file types, add the
      * extension and content type here.
      */
     $this->image_types = array('gif' => 'image/gif', 'jpg' => 'image/jpeg', 'jpeg' => 'image/jpeg', 'jpe' => 'image/jpeg', 'bmp' => 'image/bmp', 'png' => 'image/png', 'tif' => 'image/tiff', 'tiff' => 'image/tiff', 'swf' => 'application/x-shockwave-flash', 'pdf' => 'application/pdf');
     /**
      * Set these up
      */
     $this->build_params['html_encoding'] = new JO_Mail_QPrintEncoding();
     $this->build_params['text_encoding'] = new JO_Mail_SevenBitEncoding();
     $this->build_params['html_charset'] = 'UTF-8';
     $this->build_params['text_charset'] = 'UTF-8';
     $this->build_params['head_charset'] = 'UTF-8';
     $this->build_params['text_wrap'] = 998;
     /**
      * Defaults for smtp sending
      */
     if (JO_Request::getInstance()->getServer('HTTP_HOST')) {
         $helo = JO_Request::getInstance()->getServer('HTTP_HOST');
     } elseif (JO_Request::getInstance()->getServer('SERVER_NAME')) {
         $helo = JO_Request::getInstance()->getServer('SERVER_NAME');
     } else {
         $helo = 'localhost';
     }
     $this->smtp_params['host'] = 'localhost';
     $this->smtp_params['port'] = 25;
     $this->smtp_params['helo'] = $helo;
     $this->smtp_params['auth'] = false;
     $this->smtp_params['user'] = '';
     $this->smtp_params['pass'] = '';
     /**
      * Make sure the MIME version header is first.
      */
     $this->headers['MIME-Version'] = '1.0';
     $this->headers['X-Mailer'] = 'PHP <http://php.net/>';
     $this->headers['Date'] = JO_Date::getInstance(null, JO_Date::RFC_1123_FULL, true);
 }
Example #9
0
 private function getPageForm()
 {
     $request = $this->getRequest();
     $page_id = $request->getQuery('id');
     $pages_module = new Model_Extensions_Topbanner();
     $this->view->page_num = $this->getRequest()->getRequest('page', 1);
     $this->view->cancle = $this->getRequest()->getBaseUrl() . $this->getRequest()->getModule() . '/extensions/edit/?extension=topbanner&page=' . $this->view->page_num;
     if ($this->error) {
         $this->view->error_warning = implode('; ', $this->error);
     }
     if ($page_id) {
         $page_info = $pages_module->get($page_id);
     }
     if ($request->getPost('name')) {
         $this->view->name = $request->getPost('name');
     } elseif (isset($page_info)) {
         $this->view->name = $page_info['name'];
     } else {
         $this->view->name = '';
     }
     if ($request->getPost('url')) {
         $this->view->url = $request->getPost('url');
     } elseif (isset($page_info)) {
         $this->view->url = $page_info['url'];
     } else {
         $this->view->url = '';
     }
     if ($request->getPost('html')) {
         $this->view->html = $request->getPost('html');
     } elseif (isset($page_info)) {
         $this->view->html = $page_info['html'];
     } else {
         $this->view->html = '';
     }
     if ($request->getPost('background')) {
         $this->view->background = $request->getPost('background');
     } elseif (isset($page_info)) {
         $this->view->background = $page_info['background'];
     } else {
         $this->view->background = '';
     }
     if ($request->getPost('from')) {
         $this->view->from = $request->getPost('from');
     } elseif (isset($page_info)) {
         if ($page_info['from'] == '0000-00-00') {
             $this->view->from = '';
         } else {
             $this->view->from = JO_Date::getInstance($page_info['from'], 'dd.mm.yy', true)->toString();
         }
     } else {
         $this->view->from = '';
     }
     if (is_numeric($request->getPost('cookie'))) {
         $this->view->cookie = $request->getPost('cookie');
     } elseif (isset($page_info)) {
         $this->view->cookie = $page_info['cookie'];
     } else {
         $this->view->cookie = '';
     }
     if ($request->getPost('to')) {
         $this->view->to = $request->getPost('to');
     } elseif (isset($page_info)) {
         if ($page_info['to'] == '0000-00-00') {
             $this->view->to = '';
         } else {
             $this->view->to = JO_Date::getInstance($page_info['to'], 'dd.mm.yy', true)->toString();
         }
     } else {
         $this->view->to = '';
     }
     if ($request->getPost('close')) {
         $this->view->close = $request->getPost('close');
     } elseif (isset($page_info)) {
         $this->view->close = $page_info['close'];
     } else {
         $this->view->close = 'true';
     }
     if ($request->getPost('width')) {
         $this->view->width = $request->getPost('width');
     } elseif (isset($page_info)) {
         $this->view->width = $page_info['width'];
     } else {
         $this->view->width = 976;
     }
     if ($request->getPost('height')) {
         $this->view->height = $request->getPost('height');
     } elseif (isset($page_info)) {
         $this->view->height = $page_info['height'];
     } else {
         $this->view->height = 50;
     }
     /////// logo
     $image_model = new Model_Images();
     if ($request->getPost('photo')) {
         $this->view->photo = $request->getPost('photo');
     } elseif (isset($page_info)) {
         $this->view->photo = $page_info['photo'];
     } else {
         $this->view->photo = '';
     }
     if ($this->view->photo) {
         $this->view->preview = $image_model->resize($this->view->photo, 100, 100);
     } else {
         $this->view->preview = $image_model->resize(JO_Registry::forceGet('no_image'), 100, 100);
     }
     if (!$this->view->preview) {
         $this->view->preview = $image_model->resize(JO_Registry::forceGet('no_image'), 100, 100);
     }
     if (!$this->view->preview) {
         $this->view->preview = $image_model->resize('/no_image.png', 100, 100);
     }
     $this->view->preview_no_image = $image_model->resize(JO_Registry::forceGet('no_image'), 100, 100);
     if (!$this->view->preview_no_image) {
         $this->view->preview_no_image = $image_model->resize('/no_image.png', 100, 100);
     }
 }
Example #10
0
File: Items.php Project: noikiy/PD
 public static function deleteItem($id, $message = '')
 {
     $db = JO_Db::getDefaultAdapter();
     $info = self::getItem($id);
     if (!$info) {
         return;
     }
     $path = BASE_PATH . '/uploads/items/' . JO_Date::getInstance($info['datetime'], 'yy/mm/', true)->toString() . $id . '/';
     self::unlink($path);
     $db->delete('items', array('id = ?' => (int) $id));
     $db->delete('items_attributes', array('item_id = ?' => (int) $id));
     $db->delete('items_collections', array('item_id = ?' => (int) $id));
     $db->delete('items_comments', array('item_id = ?' => (int) $id));
     $db->delete('items_faqs', array('item_id = ?' => (int) $id));
     $db->delete('items_rates', array('item_id = ?' => (int) $id));
     $db->delete('items_tags', array('item_id = ?' => (int) $id));
     $db->delete('items_to_category', array('item_id = ?' => (int) $id));
     $db->update(Model_Users::getPrefixDB() . 'users', array('items' => new JO_Db_Expr('items - 1')), array('user_id = ?' => $info['user_id']));
     /////////// send email
     $request = JO_Request::getInstance();
     $translate = JO_Translate::getInstance();
     $not_template = Model_Notificationtemplates::get('delete_item');
     $mail = new JO_Mail();
     if (JO_Registry::get('mail_smtp')) {
         $mail->setSMTPParams(JO_Registry::forceGet('mail_smtp_host'), JO_Registry::forceGet('mail_smtp_port'), JO_Registry::forceGet('mail_smtp_user'), JO_Registry::forceGet('mail_smtp_password'));
     }
     $mail->setFrom('no-reply@' . $request->getDomain());
     if ($not_template) {
         $user_info = Model_Users::getUser($info['user_id']);
         $title = $not_template['title'];
         $html = html_entity_decode($not_template['template'], ENT_QUOTES, 'utf-8');
         $html = str_replace('{USERNAME}', $user_info['username'], $html);
         $html = str_replace('{ITEM}', $info['name'], $html);
         $html = str_replace('{MESSAGE}', $message, $html);
     } else {
         $title = "[" . $request->getDomain() . "] " . $info['name'];
         $html = nl2br($translate->translate('Item is deleted'));
     }
     $mail->setSubject($title);
     $mail->setHTML($html);
     $result = $mail->send(array($user_info['email']), JO_Registry::get('mail_smtp') ? 'smtp' : 'mail');
     unset($mail);
     //////////////////////
     self::deleteItemUpdate($id);
     self::unlink(BASE_PATH . '/uploads/items/' . JO_Date::getInstance($info['datetime'], 'yy/mm/', true)->toString() . $id . '/');
     self::unlink(BASE_PATH . '/uploads/cache/items/' . JO_Date::getInstance($info['datetime'], 'yy/mm/', true)->toString() . $id . '/');
     //		$info = self::getItemUpdate($id);
     //		if(!$info) {
     //			return;
     //		}
     //
     //		$db->delete('temp_items', array('item_id = ?' => (int)$id));
     //		$db->delete('temp_items_tags', array('item_id = ?' => (int)$id));
 }
Example #11
0
 public function balanceAction()
 {
     $this->view->page_num = $this->getRequest()->getQuery('page');
     $this->view->user_id = $balance_id = $this->getRequest()->getQuery('id');
     $request = $this->getRequest();
     $url = '';
     if ($request->getQuery('sort')) {
         $url .= '&sort=' . $request->getQuery('sort');
     }
     if ($request->getQuery('order')) {
         $url .= '&order=' . $request->getQuery('order');
     }
     if ($request->getQuery('page')) {
         $url .= '&page=' . $request->getQuery('page');
     }
     if ($request->getQuery('filter_id')) {
         $url .= '&filter_id=' . $request->getQuery('filter_id');
     }
     if ($request->getQuery('filter_username')) {
         $url .= '&filter_username='******'filter_username');
     }
     if ($request->getQuery('filter_total')) {
         $url .= '&filter_total=' . $request->getQuery('filter_total');
     }
     if ($request->getQuery('filter_sales')) {
         $url .= '&filter_sales=' . $request->getQuery('filter_sales');
     }
     if ($request->getQuery('filter_sold')) {
         $url .= '&filter_sold=' . $request->getQuery('filter_sold');
     }
     if ($request->getQuery('filter_web_profit2')) {
         $url .= '&filter_web_profit2=' . $request->getQuery('filter_web_profit2');
     }
     if ($request->getQuery('filter_commission')) {
         $url .= '&filter_commission=' . $request->getQuery('filter_commission');
     }
     if ($request->getQuery('filter_items')) {
         $url .= '&filter_items=' . $request->getQuery('filter_items');
     }
     if ($request->getQuery('filter_referals')) {
         $url .= '&filter_referals=' . $request->getQuery('filter_referals');
     }
     if ($request->getQuery('filter_referal_money')) {
         $url .= '&filter_referal_money=' . $request->getQuery('filter_referal_money');
     }
     if ($request->getQuery('filter_featured_author')) {
         $url .= '&filter_featured_author=' . $request->getQuery('filter_featured_author');
     }
     if ($request->getQuery('id')) {
         $url .= '&id=' . $request->getQuery('id');
     }
     $user_info = Model_Users::getUser($balance_id);
     if (!$user_info) {
         $this->redirect($this->getRequest()->getBaseUrl() . $this->getRequest()->getModule() . '/users/?' . $url);
     }
     $this->view->createBalans = $this->getRequest()->getBaseUrl() . $this->getRequest()->getModule() . '/users/createBalance/?' . $url;
     $this->view->back_href = $this->getRequest()->getBaseUrl() . $this->getRequest()->getModule() . '/users/?' . $url;
     $this->view->username = $user_info['username'];
     if ($this->session->get('successfu_edite')) {
         $this->view->successfu_edite = true;
         $this->session->clear('successfu_edite');
     }
     $this->view->balances = array();
     $balances = Model_Users::getBalances($balance_id);
     if ($balances) {
         foreach ($balances as $balance) {
             $last_login_datetime = new JO_Date($balance['datetime'], 'dd MM yy');
             $balance['datetime'] = $last_login_datetime->toString();
             $balance['deposit'] = WM_Currency::format($balance['deposit']);
             $balance['edit'] = $this->getRequest()->getBaseUrl() . $this->getRequest()->getModule() . '/users/editBalance/?bid=' . $balance['id'] . $url;
             $this->view->balances[] = $balance;
         }
     }
 }
Example #12
0
 public function indexAction()
 {
     $request = $this->getRequest();
     if ($request->getQuery('from')) {
         $this->view->from = $request->getQuery('from');
     } else {
         $date = new JO_Date(null, 'yy-mm-01');
         $this->view->from = $date->toString();
     }
     if ($request->getQuery('to')) {
         $this->view->to = $request->getQuery('to');
     } else {
         $date = new JO_Date(null, 'yy-mm-t');
         $this->view->to = $date->toString();
     }
     $reportData = Model_Reports::getReport($this->view->from, $this->view->to);
     $depositData = Model_Reports::getDeposits($this->view->from, $this->view->to);
     $withdrawData = Model_Reports::getWithdraws($this->view->from, $this->view->to);
     $data = array();
     foreach ($reportData as $date => $v) {
         $data[$date] = array();
     }
     foreach ($depositData as $date => $v) {
         $data[$date] = array();
     }
     foreach ($withdrawData as $date => $v) {
         $data[$date] = array();
     }
     foreach ($data as $k => $v) {
         if (isset($reportData[$k])) {
             $data[$k]['total'] = $reportData[$k]['total'];
             $data[$k]['receive'] = $reportData[$k]['receive'];
             $data[$k]['referal'] = $reportData[$k]['referal'];
             $data[$k]['win'] = $reportData[$k]['win'];
             $data[$k]['total_for'] = WM_Currency::format($reportData[$k]['total']);
             $data[$k]['receive_for'] = WM_Currency::format($reportData[$k]['receive']);
             $data[$k]['referal_for'] = WM_Currency::format($reportData[$k]['referal']);
             $data[$k]['win_for'] = WM_Currency::format($reportData[$k]['win']);
         } else {
             $data[$k]['total'] = 0;
             $data[$k]['receive'] = 0;
             $data[$k]['referal'] = 0;
             $data[$k]['win'] = 0;
             $data[$k]['total_for'] = WM_Currency::format(0);
             $data[$k]['receive_for'] = WM_Currency::format(0);
             $data[$k]['referal_for'] = WM_Currency::format(0);
             $data[$k]['win_for'] = WM_Currency::format(0);
         }
         if (isset($depositData[$k])) {
             $data[$k]['deposit'] = $depositData[$k]['deposit'];
             $data[$k]['deposit_for'] = WM_Currency::format($depositData[$k]['deposit']);
         } else {
             $data[$k]['deposit'] = 0;
             $data[$k]['deposit_for'] = WM_Currency::format(0);
         }
         if (isset($withdrawData[$k])) {
             $data[$k]['withdraw'] = $withdrawData[$k]['amount'];
             $data[$k]['withdraw_for'] = WM_Currency::format($withdrawData[$k]['amount']);
         } else {
             $data[$k]['withdraw'] = 0;
             $data[$k]['withdraw_for'] = WM_Currency::format(0);
         }
     }
     $this->view->reports = $data;
 }
Example #13
0
File: Image.php Project: noikiy/PD
    public function editItem($id, $data)
    {
        set_time_limit(0);
        $db = JO_Db::getDefaultAdapter();
        $info = self::getItem($id);
        if (!$info) {
            return;
        }
        if (isset($data['free_file'])) {
            $db->update('items', array('free_file' => 'false'));
            self::addUserStatus($id, 'freefile');
        }
        $db->update('items', array('name' => $data['name'], 'description' => $data['description'], 'price' => $data['price'][$data['default_price']], 'free_file' => isset($data['free_file']) ? 'true' : 'false', 'item_tags_string' => isset($data['tags']) ? $data['tags'] : '', 'weekly_from' => $data['weekly_from'] ? JO_Date::getInstance($data['weekly_from'], 'yy-mm-dd', true) : '0000-00-00', 'weekly_to' => $data['weekly_to'] ? JO_Date::getInstance($data['weekly_to'], 'yy-mm-dd', true) : '0000-00-00'), array('id = ?' => (int) $id));
        if (isset($data['set_status']) && $data['set_status'] == 'active') {
            $db->update('items', array('status' => $data['set_status']), array('id = ?' => (int) $id));
            /////////// send email
            $request = JO_Request::getInstance();
            $translate = JO_Translate::getInstance();
            $not_template = Model_Notificationtemplates::get('approval_item');
            $mail = new JO_Mail();
            if (JO_Registry::get('mail_smtp')) {
                $mail->setSMTPParams(JO_Registry::forceGet('mail_smtp_host'), JO_Registry::forceGet('mail_smtp_port'), JO_Registry::forceGet('mail_smtp_user'), JO_Registry::forceGet('mail_smtp_password'));
            }
            $mail->setFrom('no-reply@' . $request->getDomain());
            $href = '<a href="' . WM_Router::create($request->getBaseUrl() . '?controller=items&item_id=' . $id) . '">' . $info['name'] . '</a>';
            if ($not_template) {
                $title = $not_template['title'];
                $html = html_entity_decode($not_template['template'], ENT_QUOTES, 'utf-8');
                $html = str_replace('{USERNAME}', $info['username'], $html);
                $html = str_replace('{ITEM}', $info['name'], $html);
                $html = str_replace('{URL}', $href, $html);
            } else {
                $title = "[" . $request->getDomain() . "] " . $data['name'];
                $html = nl2br($translate->translate('Item') . ' 
				' . $href . ' ' . $translate->translate('approval'));
            }
            $mail->setSubject($title);
            $mail->setHTML($html);
            $result = $mail->send(array($info['email']), JO_Registry::get('mail_smtp') ? 'smtp' : 'mail');
            unset($mail);
            //////////////////////
        }
        if (isset($data['weekly_to']) && trim($data['weekly_to']) != '') {
            self::addUserStatus($id, 'featured');
        }
        $db->delete('items_to_category', array('item_id = ?' => (int) $id));
        if (isset($data['category_id'])) {
            foreach ($data['category_id'] as $category_id) {
                $categories = Model_Categories::getCategoryParents(Model_Categories::getCategories(array('filter_id_key' => true)), $category_id);
                $categories = explode(',', $categories);
                array_pop($categories);
                $categories = array_reverse($categories);
                $categories = ',' . implode(',', $categories) . ',';
                $db->insert('items_to_category', array('item_id' => (int) $id, 'categories' => $categories));
            }
        }
        $db->delete('items_attributes', array('item_id = ?' => (int) $id));
        if (isset($data['attributes']) && is_array($data['attributes'])) {
            foreach ($data['attributes'] as $cid => $value) {
                if (is_array($value)) {
                    foreach ($value as $val) {
                        $db->insert('items_attributes', array('item_id' => $id, 'attribute_id' => $val, 'category_id' => (int) $cid));
                    }
                } elseif ($value) {
                    $db->insert('items_attributes', array('item_id' => $id, 'attribute_id' => $value, 'category_id' => (int) $cid));
                }
            }
        }
        $db->delete('items_tags', array('item_id = ?' => (int) $id));
        if (isset($data['tags']) && $data['tags']) {
            $tags = explode(',', $data['tags']);
            foreach ($tags as $tag) {
                $tag = trim($tag);
                if ($tag) {
                    $tag_id = Model_Tags::getTagByTitleAndInsert($tag);
                    if ($tag_id) {
                        $db->insert('items_tags', array('item_id' => $id, 'tag_id' => (int) $tag_id, 'type' => ''));
                    }
                }
            }
        }
        $sizes = Model_Sizes::getAll();
        $tmp_sizes = array();
        foreach ($sizes as $size1) {
            $tmp_sizes[$size1['id']] = $size1;
        }
        $info_file = getimagesize(BASE_PATH . '/uploads/' . $info['main_file']);
        $steps = 0;
        if ($info_file[0] < $info_file[1]) {
            $type = 'p';
            $steps = $info_file[0];
            $source_aspect_ratio = round($info_file[1] / $info_file[0], 5);
        } elseif ($info_file[0] > $info_file[1]) {
            $type = 'l';
            $steps = $info_file[1];
            $source_aspect_ratio = round($info_file[0] / $info_file[1], 5);
        } else {
            $type = 'k';
            $steps = $info_file[0];
            $source_aspect_ratio = 1;
        }
        $temp_sizes = array();
        $temp_sizes2 = array();
        $deleted = array();
        foreach ($data['price'] as $size_id => $price) {
            if (trim($price) && (double) $price && isset($tmp_sizes[$size_id])) {
                $sizeMP = $tmp_sizes[$size_id]['size'] * 1000000;
                $sizeMPFrom = $sizeMP - $sizeMP / 100;
                for ($i = $steps; $i >= 1; $i--) {
                    if ($type == 'p') {
                        $width = $info_file[0] - $i;
                        $height = round($width * $source_aspect_ratio);
                    } elseif ($type == 'l') {
                        $height = $info_file[1] - $i;
                        $width = round($height * $source_aspect_ratio);
                    } else {
                        $width = $info_file[0] - $i;
                        $height = $info_file[1] - $i;
                    }
                    if ($width < 1 || $height < 1) {
                        continue;
                    }
                    if ($width * $height >= $sizeMPFrom && $width * $height <= $sizeMP) {
                        $temp_sizes[$size_id] = array('width' => $width, 'height' => $height, 'price' => $price, 'size_id' => $size_id, 'size' => $tmp_sizes[$size_id]['size']);
                        $temp_sizes2[$size_id] = true;
                        continue;
                    }
                }
            } else {
                $deleted[] = $size_id;
            }
        }
        $query_files = $db->select()->from('items_prices')->where('item_id = ?', (int) $id);
        $list_files = $db->fetchAll($query_files);
        if ($list_files) {
            foreach ($list_files as $fils) {
                if (in_array($fils['size_id'], $deleted)) {
                    if (!self::fileIsOrdered($id, $fils['size_id'])) {
                        unlink(BASE_PATH . '/uploads/' . $fils['main_file']);
                        $db->delete('items_prices', array('id = ?' => (int) $fils['id']));
                    } else {
                        $db->delete('items_prices', array('id = ?' => (int) $fils['id']));
                    }
                } elseif (!in_array($fils['size_id'], $temp_sizes2)) {
                    if (!self::fileIsOrdered($id, $fils['size_id'])) {
                        unlink(BASE_PATH . '/uploads/' . $fils['main_file']);
                        $db->delete('items_prices', array('id = ?' => (int) $fils['id']));
                    } else {
                        $db->delete('items_prices', array('id = ?' => (int) $fils['id']));
                    }
                } else {
                    if (file_exists(BASE_PATH . '/uploads/' . $fils['main_file'])) {
                        $db->update('items_prices', array('price' => (double) $temp_sizes[$fils['size_id']]['price']), array('id = ?' => (int) $fils['id']));
                        unset($temp_sizes[$fils['size_id']]);
                    } else {
                        $db->delete('items_prices', array('id = ?' => (int) $fils['id']));
                    }
                }
            }
        }
        $main_file = BASE_PATH . '/uploads/' . $info['main_file'];
        $main_path = dirname($info['main_file']);
        foreach ($temp_sizes as $key => $value) {
            $name_new = md5(time() . '_' . mt_rand()) . '.' . round($key, 2) . strtolower(strrchr(basename($info['main_file']), '.'));
            $ext = strtolower(strrchr($info['main_file'], '.'));
            $image_p = imagecreatetruecolor($value['width'], $value['height']);
            $image = null;
            if ($ext == '.jpg' || $ext == '.jpeg') {
                $image = imagecreatefromjpeg(BASE_PATH . '/uploads/' . $info['main_file']);
            } else {
                continue;
            }
            imageantialias($image_p, true);
            if ($image) {
                imagecopyresampled($image_p, $image, 0, 0, 0, 0, $value['width'], $value['height'], $info_file[0], $info_file[1]);
            }
            if (!file_exists(dirname($main_file) . '/downloads/')) {
                mkdir(dirname($main_file) . '/downloads/', 0777, true);
            }
            imagejpeg($image_p, dirname($main_file) . '/downloads/' . $name_new, 100);
            if (file_exists(dirname($main_file) . '/downloads/' . $name_new)) {
                $db->insert('items_prices', array('item_id' => (int) $id, 'size_id' => (int) $value['size_id'], 'price' => (double) $value['price'], 'main_file' => $main_path . '/downloads/' . $name_new, 'size' => $key, 'width' => $value['width'], 'height' => $value['height']));
            }
        }
    }
Example #14
0
 public static function returnHtml($pin, $recache = false)
 {
     static $view = null, $model_images = null, $request = null;
     if ($view === null) {
         $view = JO_View::getInstance();
     }
     if ($model_images === null) {
         $model_images = new Helper_Images();
     }
     if ($request === null) {
         $request = JO_Request::getInstance();
     }
     $view->image_no_cache = JO_Date::dateToUnix($pin['date_modified']);
     if (!JO_Registry::get('isMobile')) {
         $cache_file = Model_Pins::generateCachePatch($pin);
         if ($cache_file && file_exists($cache_file)) {
             if (JO_Date::dateToUnix($pin['date_modified']) >= JO_Date::dateToUnix(filemtime($cache_file))) {
                 $recache = true;
             }
         }
         $content = false;
         if (!$recache) {
             //CACHE OFF
             if ($cache_file && file_exists($cache_file)) {
                 $content = Model_Pins::getCache($cache_file);
                 if ($content && $content['html'] && $content['date_added'] > JO_Date::dateToUnix($pin['date_modified'])) {
                     return $content['html'];
                 }
             }
         }
     }
     //$image='';
     //error_log("INICIO IMAGE thumb _B (): ".self::udate("Y-m-d H:i:s.u"));
     //$image = Helper_Uploadimages::pin($pin, '_B');
     //if($image) {
     //$pin['thumb'] = $image['image'];
     //$pin['thumb_width'] = $image['width'];
     //$pin['thumb_height'] = $image['height'];
     //$pin['original_image'] = $image['original'];
     //} else {
     //return '';
     //}
     //cogemos la extensión del fichero
     $extension = substr(strrchr($pin['image'], '.'), 1);
     //ahora la quitamos
     $nombreSextension = substr($pin['image'], 0, strlen($pin['image']) - strlen($extension) - 1);
     if ($pin["store"] == "amazons3") {
         $host = "http://images.amatteur.com/";
         $sufijo = "_B.";
         //$img_size = @getimagesize($host.$nombreSextension."_B.".$extension);
         $pin['thumb'] = $host . $nombreSextension . $sufijo . $extension;
         if ($pin['width'] != 0) {
             $pin['thumb_width'] = $pin['width'];
             $pin['thumb_height'] = $pin['height'];
         } else {
             $pin['thumb_width'] = 194;
             $pin['thumb_height'] = $pin['height'];
         }
         $pin['original_image'] = $host . $pin['image'];
     } else {
         $host = "/uploads";
         $sufijo = ".";
         $image = Helper_Uploadimages::pin($pin, '_B');
         if ($image) {
             $pin['thumb'] = $image['image'];
             $pin['thumb_width'] = $image['width'];
             $pin['thumb_height'] = $image['height'];
             $pin['original_image'] = $image['original'];
         } else {
             return '';
         }
     }
     //error_log("FIN IMAGE thumb _B (): ".self::udate("Y-m-d H:i:s.u"));
     //error_log("INICIO IMAGE thumb _D (): ".self::udate("Y-m-d H:i:s.u"));
     //$image = Helper_Uploadimages::pin($pin, '_D');
     //if($image) {
     //$pin['popup'] = $image['image'];
     //$pin['popup_width'] = $image['width'];
     //$pin['popup_height'] = $image['height'];
     //$pin['original_image'] = $image['original'];
     //}else {
     //return '';
     //}
     if ($pin["store"] == "amazons3") {
         $host = "http://images.amatteur.com/";
         $sufijo = "_D.";
     } else {
         $host = "/uploads";
         $sufijo = ".";
     }
     $pin['popup'] = $host . $nombreSextension . $sufijo . $extension;
     //$pin['popup_width'] = $pin['width'];
     //$pin['popup_height'] = $pin['height'];
     $pin['original_image'] = $host . $pin['image'];
     //error_log("FIN IMAGE thumb _D (): ".self::udate("Y-m-d H:i:s.u"));
     $date_dif = array_shift(WM_Date::dateDiff($pin['date_added'], time()));
     $pin['date_dif'] = $date_dif;
     $pin['description'] = self::descriptionFix($pin['description']);
     //$pin['description'] = $pin['user'];
     $pin['href'] = WM_Router::create($request->getBaseUrl() . '?controller=pin&pin_id=' . $pin['pin_id']);
     if (JO_Session::get('user[user_id]')) {
         $pin['url_like'] = WM_Router::create($request->getBaseUrl() . '?controller=pin&action=like&pin_id=' . $pin['pin_id']);
         $pin['url_repin'] = WM_Router::create($request->getBaseUrl() . '?controller=pin&action=repin&pin_id=' . $pin['pin_id']);
         $pin['url_comment'] = WM_Router::create($request->getBaseUrl() . '?controller=pin&pin_id=' . $pin['pin_id']);
         $pin['comment'] = WM_Router::create($request->getBaseUrl() . '?controller=pin&pin_id=' . $pin['pin_id']);
         $pin['edit'] = JO_Session::get('user[user_id]') == $pin['user_id'] ? WM_Router::create($request->getBaseUrl() . '?controller=pin&action=edit&pin_id=' . $pin['pin_id']) : false;
     } else {
         $pin['url_like'] = $pin['url_repin'] = $pin['url_comment'] = $pin['comment'] = WM_Router::create($request->getBaseUrl() . '?controller=landing');
         $pin['edit'] = false;
     }
     $pin['onto_href'] = WM_Router::create($request->getBaseUrl() . '?controller=boards&action=view&user_id=' . $pin['user_id'] . '&board_id=' . $pin['board_id']);
     $pin['price_formated'] = WM_Currency::format($pin['price']);
     $view->author = $pin['user'];
     if ($pin["user"]["store"] == "amazons3") {
         $host = 'http://' . JO_Registry::get('bucklet') . '.' . trim(JO_Registry::get('awsDomain'), '.') . '/';
         //$host="http://images.amatteur.com/";
         $sufijo = "_A.";
     } else {
         $host = "/uploads";
         $sufijo = ".";
     }
     if ($pin["user"]["avatar"] == "") {
         $imageUser = "******";
     } else {
         //cogemos la extensión del fichero
         $extension = substr(strrchr($pin["user"]["avatar"], '.'), 1);
         //ahora la quitamos
         $nombreSextension = substr($pin["user"]["avatar"], 0, strlen($pin["user"]["avatar"]) - strlen($extension) - 1);
         $imageUser = $host . $nombreSextension . $sufijo . $extension;
     }
     $view->author['avatar'] = $imageUser;
     //$avatar = Helper_Uploadimages::avatar($pin['user'], '_A');
     //$avatar='';
     //$view->author['avatar'] = $avatar['image'];
     $view->author['profile'] = WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . $pin['user_id']);
     if (JO_Session::get('user[user_id]')) {
         //error_log("entra");
         $imageProp = JO_Session::get('user');
         if ($imageProp["store"] == "amazons3") {
             //$host='http://' . JO_Registry::get('bucklet') . '.' . trim(JO_Registry::get('awsDomain'),'.') . '/';
             $host = "http://images.amatteur.com/";
             $sufijo = "_A.";
         } else {
             $host = "/uploads";
             $sufijo = ".";
         }
         if ($imageProp["avatar"] == "") {
             $imageUser = "******";
         } else {
             //cogemos la extensión del fichero
             $extension = substr(strrchr($imageProp["avatar"], '.'), 1);
             //ahora la quitamos
             $nombreSextension = substr($imageProp["avatar"], 0, strlen($imageProp["avatar"]) - strlen($extension) - 1);
             $imageUser = $host . $nombreSextension . $sufijo . $extension;
         }
         $view->author_self = $imageUser;
         //$avatar = Helper_Uploadimages::avatar(JO_Session::get('user'), '_A');
         //$avatar='';
         //$view->author_self = $avatar['image'];
         $view->profile_self = WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . JO_Session::get('user[user_id]'));
     }
     if ($pin['latest_comments']) {
         foreach ($pin['latest_comments'] as $key => $comment) {
             if (!isset($pin['latest_comments'][$key]['user']['store'])) {
                 unset($pin['latest_comments'][$key]);
                 continue;
             }
             if ($pin['latest_comments'][$key]['user']["store"] == "amazons3") {
                 //$host='http://' . JO_Registry::get('bucklet') . '.' . trim(JO_Registry::get('awsDomain'),'.') . '/';
                 $host = "http://images.amatteur.com/";
                 $sufijo = "_A.";
             } else {
                 $host = "/uploads";
                 $sufijo = ".";
             }
             if ($pin['latest_comments'][$key]['user']["avatar"] == "") {
                 $imageUser = "******";
             } else {
                 //cogemos la extensión del fichero
                 $extension = substr(strrchr($pin['latest_comments'][$key]['user']["avatar"], '.'), 1);
                 //ahora la quitamos
                 $nombreSextension = substr($pin['latest_comments'][$key]['user']["avatar"], 0, strlen($pin['latest_comments'][$key]['user']["avatar"]) - strlen($extension) - 1);
                 $imageUser = $host . $nombreSextension . $sufijo . $extension;
             }
             $pin['latest_comments'][$key]['user']['avatar'] = $imageUser;
             //$avatar = Helper_Uploadimages::avatar($pin['latest_comments'][$key]['user'], '_A');
             //$avatar='';
             //$pin['latest_comments'][$key]['user']['avatar'] = $avatar['image'];
             $pin['latest_comments'][$key]['user']['profile'] = WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . $comment['user_id']);
             $pin['latest_comments'][$key]['delete'] = '';
             if (JO_Session::get('user[user_id]')) {
                 if (JO_Session::get('user[is_admin]') || JO_Session::get('user[user_id]') == $comment['user_id']) {
                     $pin['latest_comments'][$key]['delete'] = WM_Router::create($request->getBaseUrl() . '?controller=pin&action=deleteComment&comment_id=' . $comment['comment_id']);
                 }
             }
         }
     }
     $view->via = array();
     if ($pin['via']) {
         $view->via = array('profile' => WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . $pin['via']), 'fullname' => $pin['user_via']['fullname']);
     }
     $view->loged = (int) JO_Session::get('user[user_id]');
     $view->site_name = JO_Registry::get('site_name');
     $view->history_id = isset($pin['history_id']) ? $pin['history_id'] : '';
     $view->history_action = isset($pin['history_action']) ? ' ' . $pin['history_action'] : '';
     $view->pin = $pin;
     $response = $view->render('pinBox', 'pin');
     //CACHE OFF
     if (!JO_Registry::get('isMobile')) {
         if ($cache_file && file_exists($cache_file)) {
             Model_Pins::generateCache($cache_file, $response);
         }
     }
     return $response;
 }
Example #15
0
 /**
  * @param string $script
  * @param string $controller
  */
 public function renderImage($script, $controller)
 {
     $base = $this->getBasePath() . DIRECTORY_SEPARATOR . $this->getTemplate() . DIRECTORY_SEPARATOR;
     $scriptFile = $this->_formatViewName($controller) . DIRECTORY_SEPARATOR . $script;
     if (!file_exists($base . $scriptFile) || !is_file($base . $scriptFile)) {
         exit;
     }
     if (!file_exists(dirname(BASE_PATH . '/cache/' . $scriptFile))) {
         mkdir(dirname(BASE_PATH . '/cache/' . $scriptFile), 0777, true);
     }
     if (!file_exists(BASE_PATH . '/cache/' . $scriptFile)) {
         copy($base . $scriptFile, BASE_PATH . '/cache/' . $scriptFile);
     }
     if (filemtime($base . $scriptFile) > filemtime(BASE_PATH . '/cache/' . $scriptFile)) {
         unlink(BASE_PATH . '/cache/' . $scriptFile);
         copy($base . $scriptFile, BASE_PATH . '/cache/' . $scriptFile);
     }
     if ($image = @getimagesize($base . $scriptFile)) {
         $response = $this->getResponse();
         $response->addHeader('Content-type: ' . $image['mime']);
         $response->addHeader("Last-Modified: " . JO_Date::getInstance(filemtime($base . $scriptFile), "D, dd MM yy H:i:s e", true)->toString());
         $response->setLevel(9);
         $response->appendBody(file_get_contents($base . $scriptFile));
     }
     exit;
 }
Example #16
0
 public static function updateCurrencies($code = null, $from_admin = false)
 {
     if (extension_loaded('curl')) {
         $db = JO_Db::getDefaultAdapter();
         $query = $db->select()->from('currency')->where('code != ?', (string) ($code ? $code : JO_Registry::get('config_currency')));
         if (!$from_admin) {
             $query->where('date_modified < ?', JO_Date::getInstance('-1 day', 'yy-mm-dd H:i:s', true)->toString());
         }
         $data = array();
         $results = $db->fetchAll($query);
         if ($results) {
             foreach ($results as $result) {
                 $data[] = JO_Registry::get('config_currency') . $result['code'] . '=X';
             }
         }
         if ($data) {
             if (ini_get('allow_url_fopen')) {
                 $content = file_get_contents('http://download.finance.yahoo.com/d/quotes.csv?s=' . implode(',', $data) . '&f=sl1&e=.csv');
             } else {
                 $content = self::file_get_contents_curl('http://download.finance.yahoo.com/d/quotes.csv?s=' . implode(',', $data) . '&f=sl1&e=.csv');
             }
             $lines = explode("\n", trim($content));
             foreach ($lines as $line) {
                 $currency = substr($line, 4, 3);
                 $value = substr($line, 11, 6);
                 if ((double) $value) {
                     $db->update('currency', array('value' => (double) $value, 'date_modified' => new JO_Db_Expr('NOW()')), array('code = ?' => $currency));
                 }
             }
             $db->update('currency', array('value' => '1.00000', 'date_modified' => new JO_Db_Expr('NOW()')), array('code = ?' => JO_Registry::get('config_currency')));
         }
     }
 }
Example #17
0
 public function historyAction()
 {
     if (!JO_Session::get('user_id')) {
         JO_Session::set('msg_error', $this->translate('You must be logged to view your history'));
         $this->redirect(WM_Router::create($this->getRequest()->getBaseUrl() . '?controller=users&action=login'));
     }
     $this->getLayout()->meta_title = $this->translate('History');
     $this->getLayout()->meta_description = $this->translate('History');
     $this->view->history = array();
     $history = Model_History::getAll(0, 0, " `user_id` = '" . JO_Session::get('user_id') . "'");
     if ($history) {
         foreach ($history as $his) {
             $his['datetime'] = JO_Date::getInstance($his['datetime'], 'dd MM yy H:i:s')->toString();
             $this->view->history[] = $his;
         }
     }
     $this->view->usertotal = WM_Currency::format(JO_Session::get('total'));
     $this->view->children = array();
     $this->view->children['header_part'] = 'layout/header_part';
     $this->view->children['footer_part'] = 'layout/footer_part';
     $this->view->children['users_toolbar'] = 'layout/users_toolbar';
 }
Example #18
0
    public function doeditAction()
    {
        $this->noViewRenderer(true);
        $request = $this->getRequest();
        if ($request->issetPost('item_id')) {
            $itemID = (int) $request->getPost('item_id');
            $item = Model_Items::get($itemID);
            $error = array();
            if (!$item) {
                $error['msg_error'] = $this->translate('Item not found');
            }
            if (trim($request->getPost('name')) == '') {
                $error['ename'] = $this->translate('You have to input a name');
            }
            if (trim($request->getPost('description')) == '') {
                $error['edescription'] = $this->translate('You have to input a description');
            }
            $base_upload_folder = realpath(BASE_PATH . '/uploads');
            $temp_upload_folder = $base_upload_folder . '/temporary/' . JO_Date::getInstance(JO_Session::get('register_datetime'), 'yy/mm', true) . '/';
            $fileTypes = JO_Registry::get('upload_theme');
            if (isset($fileTypes['archives'])) {
                $ew = explode(',', $fileTypes['archives']);
                foreach ($ew as $ar) {
                    $allow_archives[] = '.' . strtolower($ar);
                }
            }
            $allow_images = array();
            if (isset($fileTypes['images'])) {
                $ew = explode(',', $fileTypes['images']);
                foreach ($ew as $ar) {
                    $allow_images[] = '.' . strtolower($ar);
                }
            }
            if (trim($request->getPost('theme_preview')) != '') {
                if (!in_array(strtolower(strrchr($request->getPost('theme_preview'), '.')), $allow_images)) {
                    $error['etheme_preview'] = $this->translate('Theme preview should be ' . implode(', ', $allow_images) . ' file');
                }
            }
            if (trim($request->getPost('theme_preview_zip')) == '') {
                $error['etheme_preview_zip'] = $this->translate('You have to choose a file');
            } else {
                if (!in_array(strtolower(strrchr($request->getPost('theme_preview_zip'), '.')), $allow_archives)) {
                    $error['etheme_preview_zip'] = $this->translate('Preview archive file should be ' . implode(', ', $allow_archives) . ' file');
                } elseif (!file_exists($temp_upload_folder . $request->getPost('theme_preview_zip'))) {
                    $error['etheme_preview_zip'] = $this->translate('Preview archive file should be ' . implode(', ', $allow_archives) . ' file');
                }
            }
            if (trim($request->getPost('main_file')) != '') {
                if (!in_array(strtolower(strrchr($request->getPost('main_file'), '.')), $allow_archives)) {
                    $error['emain_file'] = $this->translate('Main file should be ' . implode(', ', $allow_archives) . ' file');
                } elseif (!file_exists($temp_upload_folder . $request->getPost('main_file'))) {
                    $error['emain_file'] = $this->translate('Main file should be ' . implode(', ', $allow_archives) . ' file');
                }
            }
            if (!$request->getPost('category')) {
                $error['ecategory'] = $this->translate('You have to choose a category');
            } elseif (!is_array($request->getPost('category'))) {
                $error['ecategory'] = $this->translate('You have to choose a category');
            } elseif (!count($request->getPost('category'))) {
                $error['ecategory'] = $this->translate('You have to choose a category');
            }
            $attributes = Model_Attributes::getAllWithCategories("attributes_categories.categories LIKE '%," . (int) $request->getPost('category_id') . ",%'");
            if (is_array($attributes)) {
                $attributesError = false;
                $cnt = count($attributes);
                for ($i = 0; $i < $cnt; $i++) {
                    if (!$request->getPost('attributes[' . $attributes[$i]['head_id'] . ']') && $attributes[$i]['required']) {
                        $attributesError = true;
                        break;
                    }
                }
                if ($attributesError) {
                    $error['eattributes'] = $this->translate('You have to mark all the attributes');
                }
            }
            if (trim($request->getPost('tags')) == '') {
                $error['etags'] = $this->translate('You have to fill the field with tags');
            }
            if (!$request->getPost('source_license')) {
                $error['esource_license'] = $this->translate('You have to confirm that you have rights to use all the materials in your template');
            }
            if ($request->getPost('demo_url') && filter_var($request->getPost('demo_url'), FILTER_VALIDATE_URL) === false) {
                $error['edemo_url'] = $this->translate('Please enter valid url for demo preview');
            }
            if (!$request->getPost('suggested_price') || !preg_match('#^\\d+(?:\\.\\d{1,})?$#', $request->getPost('suggested_price'))) {
                $error['esuggested_price'] = $this->translate('Suggested price should be in the format: number(.number)');
            }
            if (count($error) > 0) {
                $error['msg_error'] = $this->translate('Upload error');
                JO_Session::set('msg_error', $error);
                JO_Session::set('data', $request->getParams());
                $this->redirect($request->getServer('HTTP_REFERER'));
            } else {
                $free_request = $request->getPost('free_request') ? 'true' : 'false';
                if (!$request->getPost('free_request')) {
                    $free_request = 'false';
                } else {
                    $free_request = 'true';
                }
                Model_Items::updateItem(array('id' => $itemID, 'name' => $request->getPost('name'), 'description' => $request->getPost('description'), 'demo_url' => $request->getPost('demo_url'), 'free_request' => $free_request, 'reviewer_comment' => $request->getPost('reviewer_comment'), 'suggested_price' => $request->getPost('suggested_price'), 'default_module' => $item['module']));
                Model_Attributes::deleteItem($itemID);
                if ($request->getPost('attributes')) {
                    Model_Attributes::addToItem($itemID, $request->getPost('attributes'));
                }
                if ($request->getPost('theme_preview') != '' || $request->getPost('theme_preview_zip') != '' || $request->getPost('main_file') != '') {
                    $upload_folder = $base_upload_folder . '/items/' . JO_Date::getInstance($item['datetime'], 'yy/mm/', true)->toString() . $item['id'] . '/';
                    if (!file_exists($upload_folder . 'temp/') || !is_dir($upload_folder . 'temp/')) {
                        mkdir($upload_folder . 'temp/', 0777, true);
                    }
                    if (trim($request->getPost('theme_preview')) != '') {
                        $theme_preview = $request->getPost('theme_preview');
                        copy($temp_upload_folder . $theme_preview, $upload_folder . 'temp/' . $theme_preview);
                    }
                    if (trim($request->getPost('theme_preview_zip')) != '') {
                        $zip_file = $request->getPost('theme_preview_zip');
                        copy($temp_upload_folder . $zip_file, $upload_folder . 'temp/' . $zip_file);
                    }
                    if (trim($request->getPost('main_file')) != '') {
                        $main_file = $request->getPost('main_file');
                        copy($temp_upload_folder . $main_file, $upload_folder . 'temp/' . $main_file);
                    }
                    $uploaded_files = JO_Session::get('uploaded_files');
                    $upload_file = array();
                    if (isset($theme_preview)) {
                        $found = false;
                        foreach ($uploaded_files as $k => $uf) {
                            foreach ($uf as $f) {
                                if ($f['filename'] == $theme_preview) {
                                    $upload_file = $f;
                                    break;
                                }
                            }
                        }
                        if ($upload_file && file_exists($temp_upload_folder . $upload_file['filename'])) {
                            $preview = $upload_folder . 'temp/' . $upload_file['filename'];
                            copy($temp_upload_folder . $upload_file['filename'], $preview);
                            $found = true;
                        }
                    } else {
                        $found = true;
                    }
                    $zip = new ZipArchive();
                    if (isset($zip_file)) {
                        $res = $zip->open($upload_folder . 'temp/' . $zip_file);
                        if ($res == true) {
                            if (is_dir($upload_folder . 'temp/preview/')) {
                                Model_Items::unlink($upload_folder . 'temp/preview/', false);
                            } else {
                                mkdir($upload_folder . 'temp/preview/', 0777, true);
                            }
                            for ($i = 0; $i < $zip->numFiles; $i++) {
                                $file = $zip->getNameIndex($i);
                                if (stripos($file, '_MACOSX') !== false) {
                                    continue;
                                }
                                if (in_array(strtolower(strrchr($file, '.')), $allow_images)) {
                                    $fileinfo = pathinfo($file);
                                    $prw_filename = $this->rename_if_exists($upload_folder . 'temp/preview/', $fileinfo['basename']);
                                    copy("zip://" . $upload_folder . 'temp/' . $zip_file . "#" . $file, $upload_folder . 'temp/preview/' . $prw_filename);
                                    if (!$found && isset($theme_preview) && !empty($fileinfo['basename']) && $fileinfo['basename'] == $upload_file['name']) {
                                        $found = true;
                                        $filename = $this->rename_if_exists($upload_folder . 'temp/', $fileinfo['basename']);
                                        if (copy("zip://" . $upload_folder . 'temp/' . $zip_file . "#" . $file, $upload_folder . 'temp/' . $filename)) {
                                            $preview = $filename;
                                        }
                                    }
                                }
                            }
                            $zip->close();
                        }
                    }
                    if (isset($main_file)) {
                        $res = $zip->open($upload_folder . 'temp/' . $main_file);
                        for ($i = 0; $i < $zip->numFiles; $i++) {
                            $file = $zip->getNameIndex($i);
                            if (stripos($file, '_MACOSX') !== false) {
                                continue;
                            }
                            if (in_array(strtolower(strrchr($file, '.')), $allow_images)) {
                                $fileinfo = pathinfo($file);
                                if (!$found && !empty($fileinfo['basename']) && $fileinfo['basename'] == $upload_file['name']) {
                                    $filename = $this->rename_if_exists($upload_folder, $fileinfo['basename']);
                                    if (copy("zip://" . $upload_folder . 'temp/' . $main_file . "#" . $file, $upload_folder . 'temp/' . $filename)) {
                                        $preview = $filename;
                                    }
                                }
                            }
                        }
                        $zip->close();
                    }
                    $item_folder = str_replace($base_upload_folder, '', $upload_folder);
                    $uploaded_arhives = JO_Session::get('uploaded_arhives');
                    $upload_zip = array();
                    foreach ($uploaded_arhives[0] as $f) {
                        if ($f['filename'] == $request->getPost('main_file')) {
                            $upload_zip = $f;
                            break;
                        }
                    }
                    $preview = isset($preview) ? str_replace($base_upload_folder, '', $preview) : '';
                    if ($preview && strpos($preview, 'temp/') === false) {
                        $preview = $item_folder . 'temp/' . $preview;
                    }
                    Model_Items::updateTempPics(array('id' => $itemID, 'thumbnail' => $preview, 'theme_preview_thumbnail' => $preview, 'theme_preview' => isset($zip_file) ? $item_folder . 'temp/' . $zip_file : '', 'main_file' => isset($main_file) ? $item_folder . 'temp/' . $main_file : '', 'main_file_name' => isset($main_file) ? $item_folder . 'temp/' . $upload_zip['name'] : ''));
                }
                Model_Categories::deleteTempToItem($itemID);
                Model_Categories::updateToItem($itemID, $request->getPost('category'), $request->getPost('category_id'));
                Model_Attributes::deleteTempToItem($itemID);
                if ($request->getPost('attributes')) {
                    Model_Attributes::updateToItem($itemID, $request->getPost('attributes'));
                }
                Model_Tags::deleteTempToItem($itemID);
                $arr = explode(',', $request->getPost('tags'));
                Model_Tags::updateToItem($itemID, $arr);
                if ($uploaded_files) {
                    foreach ($uploaded_files[0] as $f) {
                        if (file_exists($temp_upload_folder . $f['filename'])) {
                            unlink($temp_upload_folder . $f['filename']);
                        }
                    }
                }
                JO_Session::clear('uploaded_files');
                if ($uploaded_arhives) {
                    foreach ($uploaded_arhives[0] as $f) {
                        if (file_exists($temp_upload_folder . $f['filename'])) {
                            unlink($temp_upload_folder . $f['filename']);
                        }
                    }
                }
                JO_Session::clear('uploaded_arhives');
                $is_mail_smtp = JO_Registry::forceGet('config_mail_smtp');
                $not_template = Model_Notification::getNotification('item_added');
                $mail = new JO_Mail();
                if ($is_mail_smtp) {
                    $mail->setSMTPParams(JO_Registry::forceGet('config_mail_smtp_host'), JO_Registry::forceGet('config_mail_smtp_port'), JO_Registry::forceGet('config_mail_smtp_user'), JO_Registry::forceGet('config_mail_smtp_password'));
                }
                $domain = $request->getDomain();
                $mail->setFrom('no-reply@' . $domain);
                $mail->setReturnPath('no-reply@' . $domain);
                $mail->setSubject($this->translate('Updated item for approval') . ' ' . JO_Registry::get('store_meta_title'));
                if ($not_template) {
                    $title = $not_template['title'];
                    $html = html_entity_decode($not_template['template'], ENT_QUOTES, 'utf-8');
                    $html = str_replace('{URL}', $request->getBaseUrl() . '/admin/queueupdateditems/edit/?m=' . $item['module'] . '&id=' . $itemID, $html);
                } else {
                    $html = nl2br('Hello,

					There is a updated item waiting for approval. You can see it on ' . $request->getBaseUrl() . '/admin/queueupdateditems/edit/?m=' . $item['module'] . '&id=' . $itemID . '');
                }
                $mail->setHTML($html);
                $result = (int) $mail->send(array(JO_Registry::get('report_mail')), $is_mail_smtp ? 'smtp' : 'mail');
                JO_Session::set('msg_success', $this->translate('Your item has been updated successfully!'));
                $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=users&action=dashboard'));
            }
        }
        $this->redirect($request->getServer('HTTP_REFERER'));
    }
Example #19
0
 public function indexAction()
 {
     $request = $this->getRequest();
     $update_for = 'themes';
     $db = JO_Db::getDefaultAdapter();
     $this->view->msg_error = array();
     $this->view->msg_success = array();
     //begin updater
     $old_sys_config = BASE_PATH . '/old_sys/data/uploads/language/config.php';
     if (!file_exists($old_sys_config)) {
         $this->view->msg_error['old_sys'] = 'Please move the "data" folder of your old system into folder: <strong>' . BASE_PATH . '/old_sys/</strong>';
     }
     if (!$this->view->msg_error && $request->isPost()) {
         self::unlink(BASE_PATH . '/uploads/items/', true);
         self::unlink(BASE_PATH . '/uploads/attributes/', true);
         self::unlink(BASE_PATH . '/uploads/cache/', true);
         self::unlink(BASE_PATH . '/uploads/countries/', true);
         $db_queries = array();
         include_once $old_sys_config;
         $old_config = $db->getConfig();
         $db_config = $old_config;
         $db_config['host'] = $configArr['mysql_host'];
         $db_config['username'] = $configArr['mysql_user'];
         $db_config['password'] = $configArr['mysql_pass'];
         $db_config['dbname'] = $configArr['mysql_db'];
         $old_db_tables = $db->listTables();
         $new_db = JO_Db::setAdapterConfig($db_config);
         $new_db_tables = $new_db->listTables();
         // other tables
         $all_arr = array('bulletin', 'bulletin_emails', 'collections', 'collections_rates', 'contacts', 'contacts_categories', 'deposit', 'history', 'percents', 'quiz', 'quiz_answers', 'users_emails', 'users_followers', 'users_referals_count', 'users_status', 'user_groups', 'withdraw', 'items_attributes', 'items_collections', 'items_comments', 'items_faqs', 'items_rates', 'items_tags', 'items_to_category');
         foreach ($all_arr as $table) {
             if (!in_array($table, $old_db_tables) || !in_array($table, $new_db_tables)) {
                 continue;
             }
             $query = $new_db->select()->from($table);
             $attributes_categories = $new_db->fetchAll($query);
             if ($attributes_categories) {
                 $db_queries['TRUNCATE'][] = array('table' => $table, 'where' => null);
                 foreach ($attributes_categories as $key => $val) {
                     $vals = array();
                     foreach ($val as $k => $d) {
                         if (self::is_serialized($d)) {
                             $vals[$k] = $d;
                         } else {
                             $vals[$k] = htmlspecialchars($d, ENT_QUOTES, 'utf-8');
                         }
                     }
                     if (count($vals) > 0) {
                         $db_queries[$table][] = $vals;
                     }
                 }
             }
         }
         //attributes_categories
         $attributes_categories = $new_db->fetchAll("SELECT * FROM `attributes_categories`");
         if ($attributes_categories) {
             $db_queries['TRUNCATE'][] = array('table' => 'attributes_categories', 'where' => null);
             foreach ($attributes_categories as $data) {
                 //					$db_queries[] = "INSERT INTO `attributes_categories` (`id`, `name`, `type`, `categories`, `visible`, `order_index`,`required`) VALUES ('".(int)$data['id'] ."', '".htmlspecialchars($data['name'], ENT_QUOTES, 'utf-8') ."', '".htmlspecialchars($data['type'], ENT_QUOTES, 'utf-8') ."', '".htmlspecialchars($data['categories'], ENT_QUOTES, 'utf-8') ."', '".htmlspecialchars($data['visible'], ENT_QUOTES, 'utf-8') ."', '".(int)$data['order_index'] ."',1);";
                 $db_queries['attributes_categories'][] = array('id' => (int) $data['id'], 'name' => htmlspecialchars($data['name'], ENT_QUOTES, 'utf-8'), 'type' => htmlspecialchars($data['type'], ENT_QUOTES, 'utf-8'), 'categories' => htmlspecialchars($data['categories'], ENT_QUOTES, 'utf-8'), 'visible' => 'true', 'order_index' => (int) $data['order_index'], 'required' => 1);
             }
         }
         //attributes
         $attributes_categories = $new_db->fetchAll("SELECT * FROM `attributes`");
         if ($attributes_categories) {
             $db_queries['TRUNCATE'][] = array('table' => 'attributes', 'where' => null);
             foreach ($attributes_categories as $data) {
                 $photo = self::copyFile(BASE_PATH . '/old_sys/data/uploads/attributes/' . $data['photo'], '/attributes/' . $data['photo']);
                 $db_queries['attributes'][] = array('id' => (int) $data['id'], 'category_id' => (int) $data['category_id'], 'name' => htmlspecialchars($data['name'], ENT_QUOTES, 'utf-8'), 'photo' => basename($photo), 'visible' => 'true', 'order_index' => (int) $data['order_index']);
             }
         }
         //attributes
         $attributes_categories = $new_db->fetchAll("SELECT * FROM `badges`");
         if ($attributes_categories) {
             $db_queries['TRUNCATE'][] = array('table' => 'badges', 'where' => null);
             foreach ($attributes_categories as $data) {
                 $photo = self::copyFile(BASE_PATH . '/old_sys/data/uploads/badges/' . $data['photo'], '/badges/' . $data['photo']);
                 $db_queries['badges'][] = array('id' => (int) $data['id'], 'name' => htmlspecialchars($data['name'], ENT_QUOTES, 'utf-8'), 'photo' => basename($photo), 'visible' => htmlspecialchars($data['visible'], ENT_QUOTES, 'utf-8'), 'from' => htmlspecialchars($data['from'], ENT_QUOTES, 'utf-8'), 'to' => htmlspecialchars($data['to']), 'type' => htmlspecialchars($data['type'], ENT_QUOTES, 'utf-8'), 'sys_key' => htmlspecialchars($data['sys_key'], ENT_QUOTES, 'utf-8'));
             }
         }
         //categories
         $attributes_categories = $new_db->fetchAll("SELECT * FROM `categories`");
         if ($attributes_categories) {
             $db_queries['TRUNCATE'][] = array('table' => 'categories', 'where' => null);
             $db_queries['TRUNCATE'][] = array('table' => 'categories_description', 'where' => null);
             foreach ($attributes_categories as $data) {
                 $db_queries['categories'][] = array('id' => (int) $data['id'], 'sub_of' => (int) $data['sub_of'], 'meta_title' => htmlspecialchars($data['meta_title'], ENT_QUOTES, 'utf-8'), 'meta_keywords' => htmlspecialchars($data['meta_keywords'], ENT_QUOTES, 'utf-8'), 'meta_description' => htmlspecialchars($data['meta_description'], ENT_QUOTES, 'utf-8'), 'visible' => htmlspecialchars($data['visible'], ENT_QUOTES, 'utf-8'), 'order_index' => (int) $data['order_index'], 'module' => $update_for);
                 $db_queries['categories_description'][] = array('id' => (int) $data['id'], 'lid' => 1, 'name' => htmlspecialchars($data['name'], ENT_QUOTES, 'utf-8'));
             }
         }
         //countries
         $attributes_categories = $new_db->fetchAll("SELECT * FROM `countries`");
         if ($attributes_categories) {
             $db_queries['TRUNCATE'][] = array('table' => 'countries', 'where' => null);
             foreach ($attributes_categories as $data) {
                 $photo = self::copyFile(BASE_PATH . '/old_sys/data/uploads/countries/' . $data['photo'], '/countries/' . $data['photo']);
                 $db_queries['countries'][] = array('id' => (int) $data['id'], 'name' => htmlspecialchars($data['name'], ENT_QUOTES, 'utf-8'), 'photo' => basename($photo), 'visible' => htmlspecialchars($data['visible'], ENT_QUOTES, 'utf-8'), 'order_index' => (int) $data['order_index']);
             }
         }
         //items
         $attributes_categories = $new_db->fetchAll("SELECT * FROM `items`");
         $temp_items = array();
         if ($attributes_categories) {
             $db_queries['TRUNCATE'][] = array('table' => 'items', 'where' => null);
             foreach ($attributes_categories as $data) {
                 $weekly_from = '0000-00-00';
                 $weekly_to = '0000-00-00';
                 if ($data['weekly_to'] && $data['weekly_to'] != '0000-00-00') {
                     $weekly_from = $data['weekly_to'];
                     $weekly_to = JO_Date::getInstance($data['weekly_to'], 'yy-mm-dd', true)->setInterval('+7 days')->toString();
                 }
                 $old_path = BASE_PATH . '/old_sys/data/uploads/items/' . $data['id'] . '/';
                 $item_path = '/items/' . JO_Date::getInstance($data['datetime'], 'yy/mm/', true)->toString() . $data['id'] . '/';
                 //self::recursiveCopy($old_path . 'preview/', BASE_PATH . '/uploads/' . $item_path . 'preview/');
                 $thumbnail = self::copyFile($old_path . $data['thumbnail'], $item_path . $data['thumbnail']);
                 $main_file = self::copyFile($old_path . $data['main_file'], $item_path . $data['main_file']);
                 $theme_preview = self::copyFile($old_path . $data['theme_preview'], $item_path . $data['theme_preview']);
                 $theme_preview_thumbnail = self::copyFromArchive($theme_preview);
                 $temp_items[(int) $data['id']] = array('id' => (int) $data['id'], 'user_id' => (int) $data['user_id'], 'name' => htmlspecialchars($data['name'], ENT_QUOTES, 'utf-8'), 'description' => htmlspecialchars($data['description'], ENT_QUOTES, 'utf-8'), 'thumbnail' => $thumbnail, 'theme_preview_thumbnail' => $theme_preview_thumbnail, 'theme_preview' => $theme_preview, 'main_file' => $main_file, 'main_file_name' => htmlspecialchars($data['main_file_name'], ENT_QUOTES, 'utf-8'), 'categories' => htmlspecialchars($data['categories'], ENT_QUOTES, 'utf-8'), 'demo_url' => htmlspecialchars($data['demo_url'], ENT_QUOTES, 'utf-8'), 'price' => (double) $data['price'], 'suggested_price' => (double) $data['suggested_price'], 'sales' => (double) $data['sales'], 'earning' => (double) $data['earning'], 'rating' => (double) $data['rating'], 'votes' => (double) $data['votes'], 'score' => (double) $data['score'], 'comments' => (double) $data['comments'], 'free_request' => htmlspecialchars($data['free_request'], ENT_QUOTES, 'utf-8'), 'free_file' => htmlspecialchars($data['free_file'], ENT_QUOTES, 'utf-8'), 'weekly_from' => $weekly_from, 'weekly_to' => $weekly_to, 'reviewer_comment' => htmlspecialchars($data['reviewer_comment'], ENT_QUOTES, 'utf-8'), 'datetime' => htmlspecialchars($data['datetime'], ENT_QUOTES, 'utf-8'), 'status' => htmlspecialchars($data['status'], ENT_QUOTES, 'utf-8'), 'module' => $update_for, 'video_file' => htmlspecialchars(isset($data['video_file']) ? $data['video_file'] : '', ENT_QUOTES, 'utf-8'), 'item_tags_string' => htmlspecialchars(isset($data['item_tags_string']) ? $data['item_tags_string'] : '', ENT_QUOTES, 'utf-8'), 'preview' => htmlspecialchars(isset($data['preview']) ? $data['preview'] : '', ENT_QUOTES, 'utf-8'));
                 $db_queries['items'][] = $temp_items[(int) $data['id']];
             }
         }
         //orders
         $attributes_categories = $new_db->fetchAll("SELECT * FROM `orders`");
         if ($attributes_categories) {
             JO_Db::setAdapterConfig($old_config);
             $db_queries['TRUNCATE'][] = array('table' => 'orders', 'where' => null);
             foreach ($attributes_categories as $data) {
                 $db_queries['orders'][] = array('id' => (int) $data['id'], 'order_id' => (int) (isset($data['order_id']) ? $data['order_id'] : 0), 'user_id' => (int) $data['user_id'], 'owner_id' => (int) $data['owner_id'], 'item_id' => (int) $data['item_id'], 'item_name' => htmlspecialchars($data['item_name'], ENT_QUOTES, 'utf-8'), 'price' => (double) $data['price'], 'receive' => (double) $data['receive'], 'datetime' => htmlspecialchars($data['datetime'], ENT_QUOTES, 'utf-8'), 'paid' => htmlspecialchars($data['paid'], ENT_QUOTES, 'utf-8'), 'paid_datetime' => htmlspecialchars($data['paid_datetime'], ENT_QUOTES, 'utf-8'), 'extended' => htmlspecialchars($data['extended'], ENT_QUOTES, 'utf-8'), 'type' => htmlspecialchars($data['type'], ENT_QUOTES, 'utf-8'), 'currency_code' => WM_Currency::getCurrencyCode(), 'currency_value' => '1.00000000', 'domain' => htmlspecialchars(isset($data['domain']) ? $data['domain'] : '', ENT_QUOTES, 'utf-8'), 'module' => $update_for, 'size_id' => htmlspecialchars(isset($data['size_id']) ? $data['size_id'] : '', ENT_QUOTES, 'utf-8'), 'main_file' => isset($temp_items[$data['item_id']]['main_file']) ? $temp_items[$data['item_id']]['main_file'] : '', 'main_file_info' => htmlspecialchars(isset($data['main_file_info']) ? $data['main_file_info'] : '', ENT_QUOTES, 'utf-8'));
             }
         }
         $new_db = JO_Db::setAdapterConfig($db_config);
         //temp_items
         $attributes_categories = $new_db->fetchAll("SELECT * FROM `temp_items`");
         if ($attributes_categories) {
             $db_queries['TRUNCATE'][] = array('table' => 'temp_items', 'where' => null);
             foreach ($attributes_categories as $data) {
                 if (!isset($temp_items[$data['item_id']])) {
                     continue;
                 }
                 $old_path = BASE_PATH . '/old_sys/data/uploads/items/' . $data['item_id'] . '/temp/';
                 $item_path = '/items/' . JO_Date::getInstance($data['datetime'], 'yy/mm/', true)->toString() . $data['item_id'] . '/temp/';
                 //self::recursiveCopy($old_path . 'preview/', BASE_PATH . '/uploads/' . $item_path . 'preview/');
                 $thumbnail = self::copyFile($old_path . $data['thumbnail'], $item_path . $data['thumbnail']);
                 $main_file = self::copyFile($old_path . $data['main_file'], $item_path . $data['main_file']);
                 $theme_preview = self::copyFile($old_path . $data['theme_preview'], $item_path . $data['theme_preview']);
                 $theme_preview_thumbnail = self::copyFromArchive($theme_preview);
                 $db_queries['temp_items'][] = array('id' => (int) $data['id'], 'item_id' => (int) $data['item_id'], 'name' => htmlspecialchars($data['name'], ENT_QUOTES, 'utf-8'), 'thumbnail' => $thumbnail, 'theme_preview_thumbnail' => $theme_preview_thumbnail, 'theme_preview' => $theme_preview, 'main_file' => $main_file, 'main_file_name' => htmlspecialchars($data['main_file_name'], ENT_QUOTES, 'utf-8'), 'reviewer_comment' => htmlspecialchars($data['reviewer_comment'], ENT_QUOTES, 'utf-8'), 'datetime' => htmlspecialchars($data['datetime'], ENT_QUOTES, 'utf-8'), 'video_file' => htmlspecialchars(isset($data['video_file']) ? $data['video_file'] : '', ENT_QUOTES, 'utf-8'), 'preview' => htmlspecialchars(isset($data['preview']) ? $data['preview'] : '', ENT_QUOTES, 'utf-8'));
             }
         }
         //temp_items_tags
         $attributes_categories = $new_db->fetchAll("SELECT * FROM `temp_items_tags`");
         if ($attributes_categories) {
             foreach ($attributes_categories as $data) {
                 if (!isset($temp_items[$data['item_id']])) {
                     continue;
                 }
                 $db_queries['TRUNCATE'][] = array('table' => 'items_tags', 'where' => "`item_id` = '" . (int) $data['item_id'] . "'");
                 $db_queries['items_tags'][] = array('item_id' => (int) $data['item_id'], 'item_id' => (int) $data['item_id'], 'type' => htmlspecialchars($data['type'], ENT_QUOTES, 'utf-8'));
             }
         }
         /*
         			if(in_array('slider', $old_db_tables) && in_array('slider', $new_db_tables)) {
         				//slider
         				$attributes_categories = $new_db->fetchAll("SELECT * FROM `slider`");
         				if($attributes_categories) {
         					$db_queries['TRUNCATE'][] = array(
         						'table' => 'slider',
         						'where' => null
         					);
         					foreach($attributes_categories AS $data) {
         						$photo = self::copyFile(BASE_PATH . '/old_sys/data/uploads/slider/'.$data['photo'], '/slider/'.$data['photo']);
         						$db_queries['slider'][] = array(
         							'id' => (int)$data['id'], 
         							'name' => htmlspecialchars($data['name'], ENT_QUOTES, 'utf-8'), 
         							'url' => htmlspecialchars($data['url'], ENT_QUOTES, 'utf-8'), 
         							'photo' => ($photo), 
         							'visible' => htmlspecialchars($data['visible'], ENT_QUOTES, 'utf-8'), 
         							'order_index' => (int)$data['order_index']
         						);
         					}
         				}
         			} */
         //users
         $attributes_categories = $new_db->fetchAll("SELECT * FROM `users`");
         if ($attributes_categories) {
             $db_queries['TRUNCATE'][] = array('table' => 'users', 'where' => null);
             foreach ($attributes_categories as $data) {
                 $old_path = BASE_PATH . '/old_sys/data/uploads/users/' . $data['user_id'] . '/';
                 $item_path = '/users/' . JO_Date::getInstance($data['register_datetime'], 'yy/mm/', true)->toString() . $data['user_id'] . '/';
                 $avatar = self::copyFile($old_path . $data['avatar'], $item_path . $data['avatar']);
                 $homeimage = self::copyFile($old_path . $data['homeimage'], $item_path . $data['homeimage']);
                 $db_queries['users'][] = array('user_id' => (int) $data['user_id'], 'username' => htmlspecialchars($data['username'], ENT_QUOTES, 'utf-8'), 'password' => htmlspecialchars($data['password'], ENT_QUOTES, 'utf-8'), 'email' => htmlspecialchars($data['email'], ENT_QUOTES, 'utf-8'), 'firstname' => htmlspecialchars($data['firstname'], ENT_QUOTES, 'utf-8'), 'lastname' => htmlspecialchars($data['lastname'], ENT_QUOTES, 'utf-8'), 'featured_item_id' => htmlspecialchars($data['featured_item_id'], ENT_QUOTES, 'utf-8'), 'exclusive_author' => htmlspecialchars($data['exclusive_author'], ENT_QUOTES, 'utf-8'), 'license' => $data['license'], 'avatar' => $avatar, 'homeimage' => $homeimage, 'firmname' => htmlspecialchars($data['firmname'], ENT_QUOTES, 'utf-8'), 'profile_title' => htmlspecialchars($data['profile_title'], ENT_QUOTES, 'utf-8'), 'profile_desc' => htmlspecialchars($data['profile_desc'], ENT_QUOTES, 'utf-8'), 'live_city' => htmlspecialchars($data['live_city'], ENT_QUOTES, 'utf-8'), 'country_id' => htmlspecialchars($data['country_id'], ENT_QUOTES, 'utf-8'), 'freelance' => htmlspecialchars($data['freelance'], ENT_QUOTES, 'utf-8'), 'social' => $data['social'], 'quiz' => htmlspecialchars($data['quiz'], ENT_QUOTES, 'utf-8'), 'deposit' => htmlspecialchars($data['deposit'], ENT_QUOTES, 'utf-8'), 'earning' => htmlspecialchars($data['earning'], ENT_QUOTES, 'utf-8'), 'total' => htmlspecialchars($data['total'], ENT_QUOTES, 'utf-8'), 'sold' => htmlspecialchars($data['sold'], ENT_QUOTES, 'utf-8'), 'items' => htmlspecialchars($data['items'], ENT_QUOTES, 'utf-8'), 'sales' => htmlspecialchars($data['sales'], ENT_QUOTES, 'utf-8'), 'buy' => htmlspecialchars($data['buy'], ENT_QUOTES, 'utf-8'), 'rating' => htmlspecialchars($data['rating'], ENT_QUOTES, 'utf-8'), 'score' => htmlspecialchars($data['score'], ENT_QUOTES, 'utf-8'), 'votes' => htmlspecialchars($data['votes'], ENT_QUOTES, 'utf-8'), 'referals' => htmlspecialchars($data['referals'], ENT_QUOTES, 'utf-8'), 'referal_money' => htmlspecialchars($data['referal_money'], ENT_QUOTES, 'utf-8'), 'featured_author' => htmlspecialchars($data['featured_author'], ENT_QUOTES, 'utf-8'), 'register_datetime' => htmlspecialchars($data['register_datetime'], ENT_QUOTES, 'utf-8'), 'last_login_datetime' => htmlspecialchars($data['last_login_datetime'], ENT_QUOTES, 'utf-8'), 'ip_address' => htmlspecialchars($data['ip_address'], ENT_QUOTES, 'utf-8'), 'status' => htmlspecialchars($data['status'], ENT_QUOTES, 'utf-8'), 'groups' => $data['groups'], 'remember_key' => htmlspecialchars($data['remember_key'], ENT_QUOTES, 'utf-8'), 'activate_key' => htmlspecialchars($data['activate_key'], ENT_QUOTES, 'utf-8'), 'referal_id' => htmlspecialchars($data['referal_id'], ENT_QUOTES, 'utf-8'), 'commission_percent' => htmlspecialchars($data['commission_percent'], ENT_QUOTES, 'utf-8'), 'badges' => htmlspecialchars($data['badges'], ENT_QUOTES, 'utf-8'));
             }
         }
         JO_Session::clear('inserted');
         JO_Session::clear('deleted');
         if (isset($db_queries['TRUNCATE'])) {
             $truncate = $db_queries['TRUNCATE'];
             unset($db_queries['TRUNCATE']);
             JO_Session::set('deleted', $truncate);
         }
         $tmp = array();
         $checked = array();
         foreach ($db_queries as $table => $data) {
             foreach ($data as $key => $res) {
                 $key = md5(var_export(array($table, $res), true));
                 if (!isset($checked[$key])) {
                     $tmp[] = array('table' => $table, 'data' => $res);
                 }
                 $checked[$key] = true;
             }
         }
         JO_Session::set('inserted', $tmp);
         JO_Session::set('query_error', array());
         $this->redirect(WM_Router::create($request->getBaseUrl() . '?module=update&controller=index&action=stepTwo'));
     }
 }
Example #20
0
 public function indexAction()
 {
     if ($this->session->get('successfu_edite')) {
         $this->view->successfu_edite = true;
         $this->session->clear('successfu_edite');
     }
     $request = $this->getRequest();
     $this->view->page_num = $page = $request->getRequest('page', 1);
     $this->view->sort = $request->getRequest('sort', 'DESC');
     $this->view->order = $request->getRequest('order', 'i.id');
     $this->view->filter_id = $request->getQuery('filter_id');
     $this->view->filter_name = $request->getQuery('filter_name');
     $this->view->filter_username = $request->getQuery('filter_username');
     $this->view->filter_price = $request->getQuery('filter_price');
     $this->view->filter_sales = $request->getQuery('filter_sales');
     $this->view->filter_profit = $request->getQuery('filter_profit');
     $this->view->filter_free_request = $request->getQuery('filter_free_request');
     $this->view->filter_free_file = $request->getQuery('filter_free_file');
     $this->view->filter_weekly = $request->getQuery('filter_weekly');
     $url = '';
     if ($this->view->filter_id) {
         $url .= '&filter_id=' . $this->view->filter_id;
     }
     if ($this->view->filter_name) {
         $url .= '&filter_name=' . $this->view->filter_name;
     }
     if ($this->view->filter_username) {
         $url .= '&filter_username='******'&filter_price=' . $this->view->filter_price;
     }
     if ($this->view->filter_sales) {
         $url .= '&filter_sales=' . $this->view->filter_sales;
     }
     if ($this->view->filter_profit) {
         $url .= '&filter_profit=' . $this->view->filter_profit;
     }
     if ($this->view->filter_free_request) {
         $url .= '&filter_free_request=' . $this->view->filter_free_request;
     }
     if ($this->view->filter_free_file) {
         $url .= '&filter_free_file=' . $this->view->filter_free_file;
     }
     if ($this->view->filter_weekly) {
         $url .= '&filter_weekly=' . $this->view->filter_weekly;
     }
     $url1 = '';
     if ($this->view->sort) {
         $url1 .= '&sort=' . $this->view->sort;
     }
     if ($this->view->order) {
         $url1 .= '&order=' . $this->view->order;
     }
     $url2 = '&page=' . $page;
     $data = array('start' => $page * JO_Registry::get('admin_limit') - JO_Registry::get('admin_limit'), 'limit' => JO_Registry::get('admin_limit'), 'sort' => $this->view->sort, 'order' => $this->view->order, 'filter_id' => $this->view->filter_id, 'filter_name' => $this->view->filter_name, 'filter_username' => $this->view->filter_username, 'filter_price' => $this->view->filter_price, 'filter_sales' => $this->view->filter_sales, 'filter_profit' => $this->view->filter_profit, 'filter_free_request' => $this->view->filter_free_request, 'filter_free_file' => $this->view->filter_free_file, 'filter_weekly' => $this->view->filter_weekly, 'filter_status' => 'queue');
     $this->view->items = array();
     $items = Model_Items::getItems($data);
     if ($items) {
         foreach ($items as $item) {
             $this->view->items[] = array('id' => $item['id'], 'name' => $item['name'], 'username' => $item['username'], 'name' => $item['name'], 'price' => WM_Currency::format($item['price']), 'sales' => $item['sales'], 'profit' => WM_Currency::format($item['earning']), 'free_request' => $item['free_request'] == 'true', 'free_file' => $item['free_file'] == 'true', 'weekly_from' => $item['weekly_from'] != '0000-00-00' ? JO_Date::getInstance($item['weekly_from'], 'dd.mm.yy', true)->toString() : '', 'weekly_to' => $item['weekly_to'] != '0000-00-00' ? JO_Date::getInstance($item['weekly_to'], 'dd.mm.yy', true)->toString() : '', 'comments' => $item['comments'], 'edit' => $request->getModule() . '/queueitems/edit/?m=' . $item['module'] . '&id=' . $item['id'] . $url . $url1 . $url2, 'comments_href' => $request->getModule() . '/queueitems/comments/?id=' . $item['id'] . $url . $url1 . $url2);
         }
     }
     $this->view->sort = strtolower($this->view->sort);
     $this->view->sort_id = $request->getModule() . '/queueitems/?order=i.id&sort=' . ($this->view->sort == 'asc' ? 'DESC' : 'ASC') . $url . $url2;
     $this->view->sort_name = $request->getModule() . '/queueitems/?order=i.name&sort=' . ($this->view->sort == 'asc' ? 'DESC' : 'ASC') . $url . $url2;
     $this->view->sort_username = $request->getModule() . '/queueitems/?order=u.username&sort=' . ($this->view->sort == 'asc' ? 'DESC' : 'ASC') . $url . $url2;
     $this->view->sort_price = $request->getModule() . '/queueitems/?order=i.price&sort=' . ($this->view->sort == 'asc' ? 'DESC' : 'ASC') . $url . $url2;
     $this->view->sort_sales = $request->getModule() . '/queueitems/?order=i.sales&sort=' . ($this->view->sort == 'asc' ? 'DESC' : 'ASC') . $url . $url2;
     $this->view->sort_earning = $request->getModule() . '/queueitems/?order=i.earning&sort=' . ($this->view->sort == 'asc' ? 'DESC' : 'ASC') . $url . $url2;
     $this->view->sort_free_request = $request->getModule() . '/queueitems/?order=i.free_request&sort=' . ($this->view->sort == 'asc' ? 'DESC' : 'ASC') . $url . $url2;
     $this->view->sort_free_file = $request->getModule() . '/queueitems/?order=i.free_file&sort=' . ($this->view->sort == 'asc' ? 'DESC' : 'ASC') . $url . $url2;
     $total_records = Model_Items::getTotalItems($data);
     $this->view->total_pages = ceil($total_records / JO_Registry::get('admin_limit'));
     $this->view->total_rows = $total_records;
     $pagination = new Model_Pagination();
     $pagination->setLimit(JO_Registry::get('admin_limit'));
     $pagination->setPage($page);
     $pagination->setTotal($total_records);
     $pagination->setUrl($this->getRequest()->getModule() . '/queueitems/?page={page}' . $url . $url1);
     $this->view->pagination = $pagination->render();
 }
Example #21
0
 private function getForm()
 {
     $request = $this->getRequest();
     $id = $request->getQuery('id');
     $info = Model_Users::getWithdraw($id);
     if (!$info) {
         $url = '';
         if ($this->getRequest()->getQuery('page')) {
             $url = '?page=' . $this->getRequest()->getQuery('page');
         }
         $this->redirect($this->getRequest()->getBaseUrl() . $this->getRequest()->getModule() . '/gainpayingup/' . $url);
     }
     $this->view->page_num = $this->getRequest()->getRequest('page', 1);
     $info['earning_formated'] = WM_Currency::format($info['earning']);
     $info['earning'] = WM_Currency::format($info['earning'], false);
     $date = new JO_Date($info['datetime'], 'dd MM yy');
     $info['datetime'] = $date->toString();
     $this->view->info = $info;
 }
Example #22
0
 public function commentsAction()
 {
     if ($this->session->get('successfu_edite')) {
         $this->view->successfu_edite = true;
         $this->session->clear('successfu_edite');
     }
     $request = $this->getRequest();
     $url = '';
     if ($request->getQuery('filter_id')) {
         $url .= '&filter_id=' . $request->getQuery('filter_id');
     }
     if ($request->getQuery('filter_name')) {
         $url .= '&filter_name=' . $request->getQuery('filter_name');
     }
     if ($request->getQuery('filter_username')) {
         $url .= '&filter_username='******'filter_username');
     }
     if ($request->getQuery('filter_user_id')) {
         $url .= '&filter_user_id=' . $request->getQuery('filter_user_id');
     }
     if ($request->getQuery('filter_price')) {
         $url .= '&filter_price=' . $request->getQuery('filter_price');
     }
     if ($request->getQuery('filter_sales')) {
         $url .= '&filter_sales=' . $request->getQuery('filter_sales');
     }
     if ($request->getQuery('filter_profit')) {
         $url .= '&filter_profit=' . $request->getQuery('filter_profit');
     }
     if ($request->getQuery('filter_free_request')) {
         $url .= '&filter_free_request=' . $request->getQuery('filter_free_request');
     }
     if ($request->getQuery('filter_free_file')) {
         $url .= '&filter_free_file=' . $request->getQuery('filter_free_file');
     }
     if ($request->getQuery('filter_weekly')) {
         $url .= '&filter_weekly=' . $request->getQuery('filter_weekly');
     }
     if ($request->getQuery('sort')) {
         $url .= '&sort=' . $request->getQuery('sort');
     }
     if ($request->getQuery('order')) {
         $url .= '&order=' . $request->getQuery('order');
     }
     if ($request->getQuery('page')) {
         $url .= '&page=' . $request->getQuery('page');
     }
     $this->view->page_num = $page = $this->getRequest()->getRequest('p', 1);
     $data = array('start' => $page * JO_Registry::get('admin_limit') - JO_Registry::get('admin_limit'), 'limit' => JO_Registry::get('admin_limit'), 'filter_item_id' => $request->getQuery('id'));
     $this->view->comments = array();
     $comments = Model_Comments::getComments($data);
     if ($comments) {
         foreach ($comments as $comment) {
             $comment['datetime'] = JO_Date::getInstance($comment['datetime'], 'dd MM yy H:i:s', true)->toString();
             $comment['href'] = WM_Router::create($this->getRequest()->getBaseUrl() . '?controller=items&action=comments&item_id=' . $comment['item_id'] . '&filter=' . ($comment['reply_to'] ? $comment['reply_to'] : $comment['id']));
             $this->view->comments[] = $comment;
         }
     }
     $total_records = Model_Comments::getTotalComments($data);
     $this->view->total_pages = ceil($total_records / JO_Registry::get('admin_limit'));
     $this->view->total_rows = $total_records;
     $pagination = new Model_Pagination();
     $pagination->setLimit(JO_Registry::get('admin_limit'));
     $pagination->setPage($page);
     $pagination->setTotal($total_records);
     $pagination->setUrl($this->getRequest()->getModule() . '/items/comments/?p={page}&id=' . $request->getQuery('id') . $url);
     $this->view->pagination = $pagination->render();
 }
Example #23
0
 /**
  * +/-1 day
  * +/-1 week
  * +/-2 week
  * +/-1 month
  * +/-30 days
  * +/-1 week 2 days 4 hours 2 seconds
  * @param string $interval
  * @return JO_Date
  */
 public static function setInterval($interval)
 {
     self::$date = strtotime(self::$date . ' ' . $interval);
     return self::$instance;
 }
Example #24
0
File: Orders.php Project: noikiy/PD
 public static function getTotal($data = array())
 {
     $db = JO_Db::getDefaultAdapter();
     $query = $db->select()->from(array('o' => 'orders'), new JO_Db_Expr('COUNT(o.id), (o.price - o.receive) AS web_profit, (SELECT receive FROM orders WHERE order_id = o.id LIMIT 1) AS referral_sum, ((o.price - o.receive) - (SELECT receive FROM orders WHERE order_id = o.id LIMIT 1)) AS web_profit2'))->joinLeft(array('u' => Model_Users::getPrefixDB() . 'users'), 'o.user_id = u.user_id', array())->joinLeft(array('u2' => Model_Users::getPrefixDB() . 'users'), 'o.owner_id = u2.user_id', array());
     ////////////filter
     if (isset($data['filter_id']) && $data['filter_id']) {
         $query->where('o.id = ?', (int) $data['filter_id']);
     }
     if (isset($data['filter_order_id']) && $data['filter_order_id']) {
         $query->where('o.order_id = ?', (int) $data['filter_order_id']);
     }
     if (isset($data['filter_name']) && $data['filter_name']) {
         $query->where('o.item_name LIKE ?', '%' . $data['filter_name'] . '%');
     }
     if (isset($data['filter_username']) && $data['filter_username']) {
         $query->where('u.username LIKE ?', '%' . $data['filter_username'] . '%');
     }
     if (isset($data['filter_owner']) && $data['filter_owner']) {
         $query->where('u2.username LIKE ?', '%' . $data['filter_owner'] . '%');
     }
     if (isset($data['filter_price']) && $data['filter_price']) {
         $data['filter_price'] = html_entity_decode($data['filter_price'], ENT_QUOTES, 'utf-8');
         if (strpos($data['filter_price'], '<>') === 0) {
             $query->where('o.price != ?', (double) substr($data['filter_price'], 2));
         } elseif (strpos($data['filter_price'], '>') === 0) {
             $query->where('o.price > ?', (double) substr($data['filter_price'], 1));
         } elseif (strpos($data['filter_price'], '<') === 0) {
             $query->where('o.price < ?', (double) substr($data['filter_price'], 1));
         } else {
             $query->where('o.price = ?', (double) $data['filter_price']);
         }
     }
     if (isset($data['filter_receive']) && $data['filter_receive']) {
         $data['filter_receive'] = html_entity_decode($data['filter_receive'], ENT_QUOTES, 'utf-8');
         if (strpos($data['filter_receive'], '<>') === 0) {
             $query->where('o.receive != ?', (double) substr($data['filter_receive'], 2));
         } elseif (strpos($data['filter_receive'], '>') === 0) {
             $query->where('o.receive > ?', (double) substr($data['filter_receive'], 1));
         } elseif (strpos($data['filter_receive'], '<') === 0) {
             $query->where('o.receive < ?', (double) substr($data['filter_receive'], 1));
         } else {
             $query->where('o.receive = ?', (double) $data['filter_receive']);
         }
     }
     if (isset($data['filter_web_receive']) && $data['filter_web_receive']) {
         $data['filter_web_receive'] = html_entity_decode($data['filter_web_receive'], ENT_QUOTES, 'utf-8');
         if (strpos($data['filter_web_receive'], '<>') === 0) {
             $query->where('web_profit2 != ?', (double) substr($data['filter_web_receive'], 2));
         } elseif (strpos($data['filter_web_receive'], '>') === 0) {
             $query->where('web_profit2 > ?', (double) substr($data['filter_web_receive'], 1));
         } elseif (strpos($data['filter_web_receive'], '<') === 0) {
             $query->where('web_profit2 < ?', (double) substr($data['filter_web_receive'], 1));
         } else {
             $query->where('web_profit2 = ?', (double) $data['filter_web_receive']);
         }
     }
     if (isset($data['filter_item_id']) && $data['filter_item_id']) {
         $query->where('o.item_id = ?', (int) $data['filter_item_id']);
     }
     if (isset($data['filter_paid']) && in_array($data['filter_paid'], array('true', 'false'))) {
         $query->where('o.paid = ?', $data['filter_paid']);
     }
     if (isset($data['filter_extended']) && in_array($data['filter_extended'], array('true', 'false'))) {
         $query->where('o.extended = ?', $data['filter_extended']);
     }
     if (isset($data['filter_type']) && $data['filter_type']) {
         $query->where('o.type = ?', $data['filter_type']);
     }
     if (isset($data['filter_from']) && JO_Date::dateToUnix($data['filter_from'])) {
         $query->where('DATE(o.datetime) >= ?', JO_Date::getInstance($data['filter_from'], 'yy-mm-dd', true)->toString());
     }
     if (isset($data['filter_to']) && JO_Date::dateToUnix($data['filter_to'])) {
         $query->where('DATE(o.datetime) <= ?', JO_Date::getInstance($data['filter_to'], 'yy-mm-dd', true)->toString());
     }
     if (isset($data['filter_paid_from']) && JO_Date::dateToUnix($data['filter_paid_from'])) {
         $query->where('DATE(o.paid_datetime) >= ?', JO_Date::getInstance($data['filter_paid_from'], 'yy-mm-dd', true)->toString());
     }
     if (isset($data['filter_paid_to']) && JO_Date::dateToUnix($data['filter_paid_to'])) {
         $query->where('DATE(o.paid_datetime) <= ?', JO_Date::getInstance($data['filter_paid_to'], 'yy-mm-dd', true)->toString());
     }
     return $db->fetchOne($query);
 }
Example #25
0
 public function indexAction()
 {
     if ($this->session->get('successfu_edite')) {
         $this->view->successfu_edite = true;
         $this->session->clear('successfu_edite');
     }
     $request = $this->getRequest();
     $this->view->page_num = $page = $request->getRequest('page', 1);
     $this->view->sort = $request->getRequest('sort', 'DESC');
     $this->view->order = $request->getRequest('order', 'o.id');
     $this->view->filter_id = $request->getQuery('filter_id');
     $this->view->filter_name = $request->getQuery('filter_name');
     $this->view->filter_username = $request->getQuery('filter_username');
     $this->view->filter_owner = $request->getQuery('filter_owner');
     $this->view->filter_price = $request->getQuery('filter_price');
     $this->view->filter_receive = $request->getQuery('filter_receive');
     $this->view->filter_item_id = $request->getQuery('filter_item_id');
     $this->view->filter_paid = $request->getQuery('filter_paid');
     $this->view->filter_extended = $request->getQuery('filter_extended');
     $this->view->filter_type = $request->getRequest('filter_type', 'buy');
     $this->view->filter_from = $request->getQuery('filter_from');
     $this->view->filter_to = $request->getQuery('filter_to');
     $this->view->filter_paid_from = $request->getQuery('filter_paid_from');
     $this->view->filter_paid_to = $request->getQuery('filter_paid_to');
     $this->view->filter_order_id = $request->getQuery('filter_order_id');
     $this->view->filter_web_receive = $request->getQuery('filter_web_receive');
     $url = '';
     if ($this->view->filter_id) {
         $url .= '&filter_id=' . $this->view->filter_id;
     }
     if ($this->view->filter_name) {
         $url .= '&filter_name=' . $this->view->filter_name;
     }
     if ($this->view->filter_username) {
         $url .= '&filter_username='******'&filter_owner=' . $this->view->filter_owner;
     }
     if ($this->view->filter_price) {
         $url .= '&filter_price=' . $this->view->filter_price;
     }
     if ($this->view->filter_web_receive) {
         $url .= '&filter_web_receive=' . $this->view->filter_web_receive;
     }
     if ($this->view->filter_receive) {
         $url .= '&filter_receive=' . $this->view->filter_receive;
     }
     if ($this->view->filter_item_id) {
         $url .= '&filter_item_id=' . $this->view->filter_item_id;
     }
     if ($this->view->filter_paid) {
         $url .= '&filter_paid=' . $this->view->filter_paid;
     }
     if ($this->view->filter_extended) {
         $url .= '&filter_extended=' . $this->view->filter_extended;
     }
     if ($this->view->filter_type) {
         $url .= '&filter_type=' . $this->view->filter_type;
     }
     if ($this->view->filter_from) {
         $url .= '&filter_from=' . $this->view->filter_from;
     }
     if ($this->view->filter_to) {
         $url .= '&filter_to=' . $this->view->filter_to;
     }
     if ($this->view->filter_paid_from) {
         $url .= '&filter_paid_from=' . $this->view->filter_paid_from;
     }
     if ($this->view->filter_paid_to) {
         $url .= '&filter_paid_to=' . $this->view->filter_paid_to;
     }
     if ($this->view->filter_order_id) {
         $url .= '&filter_order_id=' . $this->view->filter_order_id;
     }
     $url1 = '';
     if ($this->view->sort) {
         $url1 .= '&sort=' . $this->view->sort;
     }
     if ($this->view->order) {
         $url1 .= '&order=' . $this->view->order;
     }
     $url2 = '&page=' . $page;
     $data = array('start' => $page * JO_Registry::get('admin_limit') - JO_Registry::get('admin_limit'), 'limit' => JO_Registry::get('admin_limit'), 'sort' => $this->view->sort, 'order' => $this->view->order, 'filter_id' => $this->view->filter_id, 'filter_name' => $this->view->filter_name, 'filter_username' => $this->view->filter_username, 'filter_owner' => $this->view->filter_owner, 'filter_price' => $this->view->filter_price, 'filter_receive' => $this->view->filter_receive, 'filter_item_id' => $this->view->filter_item_id, 'filter_paid' => $this->view->filter_paid, 'filter_extended' => $this->view->filter_extended, 'filter_type' => $this->view->filter_type, 'filter_from' => $this->view->filter_from, 'filter_to' => $this->view->filter_to, 'filter_paid_from' => $this->view->filter_paid_from, 'filter_paid_to' => $this->view->filter_paid_to, 'filter_order_id' => $this->view->filter_order_id, 'filter_web_receive' => $this->view->filter_web_receive);
     $this->view->items = array();
     $items = Model_Orders::getAll($data);
     $this->view->price = 0;
     $this->view->web_profit2 = 0;
     $this->view->profit = 0;
     if ($items) {
         foreach ($items as $item) {
             $item['web_profit2'] = $item['referral_sum'] > 0 ? $item['web_profit'] - $item['referral_sum'] : $item['web_profit'];
             $this->view->price += $item['price'];
             $this->view->web_profit2 += $item['web_profit2'];
             $this->view->profit += $item['receive'];
             $this->view->items[] = array('id' => $item['id'], 'order_id' => $item['order_id'], 'name' => $item['item_name'], 'username' => $item['username'], 'owner' => $item['owner'], 'href' => WM_Router::create($request->getBaseUrl() . '?module=' . $item['module'] . '&controller=items&item_id=' . $item['item_id']), 'price' => WM_Currency::format($item['price']), 'profit' => WM_Currency::format($item['receive']), 'web_profit' => WM_Currency::format($item['web_profit']), 'web_profit2' => WM_Currency::format($item['web_profit2']), 'has_referral_sum' => $item['referral_sum'], 'referral_sum' => WM_Currency::format($item['referral_sum']), 'datetime' => JO_Date::getInstance($item['datetime'], 'dd.mm.yy', true)->toString(), 'paid' => $item['paid'] == 'true', 'paid_datetime' => $item['paid'] == 'true' ? JO_Date::getInstance($item['paid_datetime'], 'dd.mm.yy', true)->toString() : '', 'extended' => $item['extended'] == 'true', 'type' => $item['type'], 'edit' => $request->getModule() . '/orders/edit/?id=' . $item['id'] . $url . $url1 . $url2, 'has_referal' => $item['type'] == 'buy' ? Model_Orders::getTotal(array('filter_order_id' => $item['id'], 'filter_type' => 'referal')) : 0, 'has_buy' => $item['type'] != 'buy' ? Model_Orders::getTotal(array('filter_id' => $item['order_id'], 'filter_type' => 'buy')) : 0);
         }
     }
     $this->view->price = WM_Currency::format($this->view->price);
     $this->view->web_profit2 = WM_Currency::format($this->view->web_profit2);
     $this->view->profit = WM_Currency::format($this->view->profit);
     $this->view->sort = strtolower($this->view->sort);
     $this->view->sort_id = $request->getModule() . '/orders/?order=o.id&sort=' . ($this->view->sort == 'asc' ? 'DESC' : 'ASC') . $url . $url2;
     $this->view->sort_name = $request->getModule() . '/orders/?order=o.name&sort=' . ($this->view->sort == 'asc' ? 'DESC' : 'ASC') . $url . $url2;
     $this->view->sort_username = $request->getModule() . '/orders/?order=u.username&sort=' . ($this->view->sort == 'asc' ? 'DESC' : 'ASC') . $url . $url2;
     $this->view->sort_owner = $request->getModule() . '/orders/?order=u2.username&sort=' . ($this->view->sort == 'asc' ? 'DESC' : 'ASC') . $url . $url2;
     $this->view->sort_price = $request->getModule() . '/orders/?order=o.price&sort=' . ($this->view->sort == 'asc' ? 'DESC' : 'ASC') . $url . $url2;
     $this->view->sort_receive = $request->getModule() . '/orders/?order=o.receive&sort=' . ($this->view->sort == 'asc' ? 'DESC' : 'ASC') . $url . $url2;
     $this->view->sort_web_receive = $request->getModule() . '/orders/?order=web_profit2&sort=' . ($this->view->sort == 'asc' ? 'DESC' : 'ASC') . $url . $url2;
     $this->view->sort_datetime = $request->getModule() . '/orders/?order=o.datetime&sort=' . ($this->view->sort == 'asc' ? 'DESC' : 'ASC') . $url . $url2;
     $this->view->sort_paid = $request->getModule() . '/orders/?order=o.paid&sort=' . ($this->view->sort == 'asc' ? 'DESC' : 'ASC') . $url . $url2;
     $this->view->sort_paid_datetime = $request->getModule() . '/orders/?order=o.paid_datetime&sort=' . ($this->view->sort == 'asc' ? 'DESC' : 'ASC') . $url . $url2;
     $this->view->sort_extended = $request->getModule() . '/orders/?order=o.extended&sort=' . ($this->view->sort == 'asc' ? 'DESC' : 'ASC') . $url . $url2;
     $this->view->sort_type = $request->getModule() . '/orders/?order=o.type&sort=' . ($this->view->sort == 'asc' ? 'DESC' : 'ASC') . $url . $url2;
     $total_records = Model_Orders::getTotal($data);
     $this->view->total_pages = ceil($total_records / JO_Registry::get('admin_limit'));
     $this->view->total_rows = $total_records;
     $pagination = new Model_Pagination();
     $pagination->setLimit(JO_Registry::get('admin_limit'));
     $pagination->setPage($page);
     $pagination->setTotal($total_records);
     $pagination->setUrl($this->getRequest()->getModule() . '/orders/?page={page}' . $url . $url1);
     $this->view->pagination = $pagination->render();
     $this->view->order_link = WM_Router::create($request->getBaseUrl() . '?controller=admin/orders&action=index');
     $this->view->deposit_link = WM_Router::create($request->getBaseUrl() . '?controller=admin/orders&action=deposit');
     $this->view->membership_link = WM_Router::create($request->getBaseUrl() . '?controller=admin/orders&action=membership');
 }
Example #26
0
File: Themes.php Project: noikiy/PD
    public static function editItemUpdate($id, $data)
    {
        $db = JO_Db::getDefaultAdapter();
        $info = self::getItem($id);
        if (!$info) {
            return;
        }
        $info_update = self::getItemUpdate($id);
        if (!$info_update) {
            return;
        }
        ///thumb
        $thumb = $info['thumbnail'];
        $model_images = new Model_Images();
        if ($info_update['thumbnail'] && file_exists(BASE_PATH . '/uploads/' . $info_update['thumbnail'])) {
            if ($info['thumbnail'] && file_exists(BASE_PATH . '/uploads/' . $info['thumbnail'])) {
                $model_images->deleteImages($info['thumbnail'], true);
            }
            if (copy(BASE_PATH . '/uploads/' . $info_update['thumbnail'], BASE_PATH . '/uploads/' . str_replace('/temp/', '/', $info_update['thumbnail']))) {
                $thumb = str_replace('/temp/', '/', $info_update['thumbnail']);
            }
        }
        ///theme_preview_thumbnail
        $theme_preview_thumbnail = $info['theme_preview_thumbnail'];
        if ($info_update['theme_preview_thumbnail'] && file_exists(BASE_PATH . '/uploads/' . $info_update['theme_preview_thumbnail'])) {
            if ($info['theme_preview_thumbnail'] && file_exists(BASE_PATH . '/uploads/' . $info['theme_preview_thumbnail'])) {
                $model_images->deleteImages($info['theme_preview_thumbnail'], true);
            }
            if (copy(BASE_PATH . '/uploads/' . $info_update['theme_preview_thumbnail'], BASE_PATH . '/uploads/' . str_replace('/temp/', '/', $info_update['theme_preview_thumbnail']))) {
                $theme_preview_thumbnail = str_replace('/temp/', '/', $info_update['theme_preview_thumbnail']);
            }
        }
        ///theme_preview
        $theme_preview = $info['theme_preview'];
        if ($info_update['theme_preview'] && file_exists(BASE_PATH . '/uploads/' . $info_update['theme_preview'])) {
            if ($info['theme_preview'] && file_exists(BASE_PATH . '/uploads/' . $info['theme_preview'])) {
                unlink($info['theme_preview']);
            }
            if (copy(BASE_PATH . '/uploads/' . $info_update['theme_preview'], BASE_PATH . '/uploads/' . str_replace('/temp/', '/', $info_update['theme_preview']))) {
                $theme_preview = str_replace('/temp/', '/', $info_update['theme_preview']);
                if (file_exists(BASE_PATH . '/uploads/' . dirname($theme_preview) . '/temp/preview')) {
                    self::unlink(BASE_PATH . '/uploads/' . dirname($theme_preview) . '/preview', false);
                    self::recursiveCopy(BASE_PATH . '/uploads/' . dirname($theme_preview) . '/temp/preview', BASE_PATH . '/uploads/' . dirname($theme_preview) . '/preview');
                }
            }
        }
        ///main_file
        $main_file = $info['main_file'];
        if ($info_update['main_file'] && file_exists(BASE_PATH . '/uploads/' . $info_update['main_file'])) {
            if ($info['main_file'] && file_exists(BASE_PATH . '/uploads/' . $info['main_file'])) {
                unlink($info['main_file']);
            }
            if (copy(BASE_PATH . '/uploads/' . $info_update['main_file'], BASE_PATH . '/uploads/' . str_replace('/temp/', '/', $info_update['main_file']))) {
                $main_file = str_replace('/temp/', '/', $info_update['main_file']);
            }
        }
        //preview
        $path = BASE_PATH . '/uploads/items/' . JO_Date::getInstance($info['datetime'], 'yy/mm/')->toString() . $id . '/temp/preview/';
        $path2 = BASE_PATH . '/uploads/items/' . JO_Date::getInstance($info['datetime'], 'yy/mm/')->toString() . $id . '/preview/';
        if (file_exists($path) && is_dir($path)) {
            if (file_exists($path2) && is_dir($path2)) {
                self::unlink($path2, false);
            }
            self::recursiveCopy($path, $path2);
        }
        if (isset($data['free_file'])) {
            //	$db->update('items', array(
            //		'free_file' => 'false'
            //	));
            self::addUserStatus($id, 'freefile');
        }
        $db->update('items', array('name' => $data['name'], 'thumbnail' => $thumb, 'theme_preview_thumbnail' => $theme_preview_thumbnail, 'theme_preview' => $theme_preview, 'main_file' => $main_file, 'description' => $data['description'], 'price' => $data['price'], 'free_file' => isset($data['free_file']) ? 'true' : 'false', 'demo_url' => $data['demo_url'], 'weekly_from' => $data['weekly_from'] ? WM_Date::format($data['weekly_from'], 'yy-mm-dd') : '0000-00-00', 'weekly_to' => $data['weekly_to'] ? WM_Date::format($data['weekly_to'], 'yy-mm-dd') : '0000-00-00'), array('id = ?' => (int) $id));
        if (isset($data['set_status']) && $data['set_status'] == 'active') {
            $db->update('items', array('status' => $data['set_status']), array('id = ?' => (int) $id));
        }
        if (isset($data['weekly_to']) && trim($data['weekly_to']) != '') {
            self::addUserStatus($id, 'featured');
        }
        $db->delete('items_to_category', array('item_id = ?' => (int) $id));
        if (isset($data['category_id'])) {
            foreach ($data['category_id'] as $category_id) {
                $categories = Model_Categories::getCategoryParents(Model_Categories::getCategories(array('filter_id_key' => true)), $category_id);
                $categories = explode(',', $categories);
                array_pop($categories);
                $categories = array_reverse($categories);
                $categories = ',' . implode(',', $categories) . ',';
                $db->insert('items_to_category', array('item_id' => (int) $id, 'categories' => $categories));
            }
        }
        $db->delete('items_attributes', array('item_id = ?' => (int) $id));
        if (isset($data['attributes']) && is_array($data['attributes'])) {
            foreach ($data['attributes'] as $cid => $value) {
                if (is_array($value)) {
                    foreach ($value as $val) {
                        $db->insert('items_attributes', array('item_id' => $id, 'attribute_id' => $val, 'category_id' => (int) $cid));
                    }
                } elseif ($value) {
                    $db->insert('items_attributes', array('item_id' => $id, 'attribute_id' => $value, 'category_id' => (int) $cid));
                }
            }
        }
        $db->delete('items_tags', array('item_id = ?' => (int) $id));
        if (isset($data['tags']) && $data['tags']) {
            $tags = explode(',', $data['tags']);
            foreach ($tags as $tag) {
                $tag = trim($tag);
                if ($tag) {
                    $tag_id = Model_Tags::getTagByTitleAndInsert($tag);
                    if ($tag_id) {
                        $db->insert('items_tags', array('item_id' => $id, 'tag_id' => (int) $tag_id, 'type' => ''));
                    }
                }
            }
        }
        /////////// send email
        if ($info['item_note'] == 'true') {
            $request = JO_Request::getInstance();
            $translate = JO_Translate::getInstance();
            $not_template = Model_Notificationtemplates::get('queue_update');
            $mail = new JO_Mail();
            if (JO_Registry::get('mail_smtp')) {
                $mail->setSMTPParams(JO_Registry::forceGet('mail_smtp_host'), JO_Registry::forceGet('mail_smtp_port'), JO_Registry::forceGet('mail_smtp_user'), JO_Registry::forceGet('mail_smtp_password'));
            }
            $mail->setFrom('no-reply@' . $request->getDomain());
            $href = '<a href="' . WM_Router::create($request->getBaseUrl() . '?module=' . $info['module'] . '&controller=items&item_id=' . $id) . '">' . $info['name'] . '</a>';
            if ($not_template) {
                $user_info = Model_Users::getUser($info['user_id']);
                $title = $not_template['title'];
                $html = html_entity_decode($not_template['template'], ENT_QUOTES, 'utf-8');
                $html = str_replace('{USERNAME}', $user_info['username'], $html);
                $html = str_replace('{ITEM}', $info['name'], $html);
                $html = str_replace('{URL}', $href, $html);
            } else {
                $title = "[" . $request->getDomain() . "] " . $data['name'];
                $html = nl2br($translate->translate('Item') . ' 
				' . $href . ' ' . $translate->translate('is updated'));
            }
            $mail->setSubject($title);
            $mail->setHTML($html);
            $result = $mail->send(array($user_info['email']), JO_Registry::get('mail_smtp') ? 'smtp' : 'mail');
            unset($mail);
        }
        //////////////////////
        self::unlink(BASE_PATH . '/uploads/items/' . JO_Date::getInstance($info['datetime'], 'yy/mm/', true)->toString() . $id . '/temp/');
        self::unlink(BASE_PATH . '/uploads/cache/items/' . JO_Date::getInstance($info['datetime'], 'yy/mm/', true)->toString() . $id . '/');
        $db->delete('temp_items', array('id = ?' => (int) $id));
        $db->delete('temp_items_tags', array('item_id = ?' => (int) $id));
        $db->delete('temp_items_attributes', array('item_id = ?' => (int) $id));
        $db->delete('temp_items_to_category', array('item_id = ?' => (int) $id));
    }
Example #27
0
File: Audio.php Project: noikiy/PD
    public function editItem($id, $data)
    {
        $db = JO_Db::getDefaultAdapter();
        $info = self::getItem($id);
        if (!$info) {
            return;
        }
        if (isset($data['free_file'])) {
            $db->update('items', array('free_file' => 'false'));
            self::addUserStatus($id, 'freefile');
        }
        $db->update('items', array('name' => $data['name'], 'description' => $data['description'], 'price' => $data['price'], 'free_file' => isset($data['free_file']) ? 'true' : 'false', 'weekly_from' => $data['weekly_from'] ? JO_Date::getInstance($data['weekly_from'], 'yy-mm-dd', true) : '0000-00-00', 'weekly_to' => $data['weekly_to'] ? JO_Date::getInstance($data['weekly_to'], 'yy-mm-dd', true) : '0000-00-00'), array('id = ?' => (int) $id));
        if (isset($data['set_status']) && $data['set_status'] == 'active') {
            $db->update('items', array('status' => $data['set_status']), array('id = ?' => (int) $id));
            $db->update(Model_Users::getPrefixDB() . 'users', array('items' => new JO_Db_Expr('items + 1')), array('user_id = ?' => $info['user_id']));
            /////////// send email
            $request = JO_Request::getInstance();
            $translate = JO_Translate::getInstance();
            $not_template = Model_Notificationtemplates::get('approval_item');
            $mail = new JO_Mail();
            if (JO_Registry::get('mail_smtp')) {
                $mail->setSMTPParams(JO_Registry::forceGet('mail_smtp_host'), JO_Registry::forceGet('mail_smtp_port'), JO_Registry::forceGet('mail_smtp_user'), JO_Registry::forceGet('mail_smtp_password'));
            }
            $mail->setFrom('no-reply@' . $request->getDomain());
            $href = '<a href="' . WM_Router::create($request->getBaseUrl() . '?module=' . $info['module'] . '&controller=items&item_id=' . $id) . '">' . $info['name'] . '</a>';
            if ($not_template) {
                $title = $not_template['title'];
                $html = html_entity_decode($not_template['template'], ENT_QUOTES, 'utf-8');
                $html = str_replace('{USERNAME}', $info['username'], $html);
                $html = str_replace('{ITEM}', $info['name'], $html);
                $html = str_replace('{URL}', $href, $html);
            } else {
                $title = "[" . $request->getDomain() . "] " . $data['name'];
                $html = nl2br($translate->translate('Item') . ' 
				' . $href . ' ' . $translate->translate('approval'));
            }
            $mail->setSubject($title);
            $mail->setHTML($html);
            $result = $mail->send(array($info['email']), JO_Registry::get('mail_smtp') ? 'smtp' : 'mail');
            unset($mail);
            //////////////////////
        }
        if (isset($data['weekly_to']) && trim($data['weekly_to']) != '') {
            self::addUserStatus($id, 'featured');
        }
        $db->delete('items_to_category', array('item_id = ?' => (int) $id));
        if (isset($data['category_id'])) {
            foreach ($data['category_id'] as $category_id) {
                $categories = Model_Categories::getCategoryParents(Model_Categories::getCategories(array('filter_id_key' => true)), $category_id);
                $categories = explode(',', $categories);
                array_pop($categories);
                $categories = array_reverse($categories);
                $categories = ',' . implode(',', $categories) . ',';
                $db->insert('items_to_category', array('item_id' => (int) $id, 'categories' => $categories));
            }
        }
        $db->delete('items_attributes', array('item_id = ?' => (int) $id));
        if (isset($data['attributes']) && is_array($data['attributes'])) {
            foreach ($data['attributes'] as $cid => $value) {
                if (is_array($value)) {
                    foreach ($value as $val) {
                        $db->insert('items_attributes', array('item_id' => $id, 'attribute_id' => $val, 'category_id' => (int) $cid));
                    }
                } elseif ($value) {
                    $db->insert('items_attributes', array('item_id' => $id, 'attribute_id' => $value, 'category_id' => (int) $cid));
                }
            }
        }
        $db->delete('items_tags', array('item_id = ?' => (int) $id));
        if (isset($data['tags']) && $data['tags']) {
            $tags = explode(',', $data['tags']);
            foreach ($tags as $tag) {
                $tag = trim($tag);
                if ($tag) {
                    $tag_id = Model_Tags::getTagByTitleAndInsert($tag);
                    if ($tag_id) {
                        $db->insert('items_tags', array('item_id' => $id, 'tag_id' => (int) $tag_id, 'type' => ''));
                    }
                }
            }
        }
    }
Example #28
0
File: Items.php Project: noikiy/PD
 public function delete($item_id)
 {
     $db = JO_Db::getDefaultAdapter();
     $info = self::get($item_id);
     if (!$info) {
         return;
     }
     $db->delete('items', array('id=?' => $item_id));
     $db->delete('temp_items', array('id=?' => $item_id));
     $db->delete('temp_items_tags', array('item_id=?' => $item_id));
     $db->delete('items_attributes', array('item_id=?' => $item_id));
     $db->delete('items_collections', array('item_id=?' => $item_id));
     $db->delete('items_comments', array('item_id=?' => $item_id));
     $db->delete('items_faqs', array('item_id=?' => $item_id));
     $db->delete('items_rates', array('item_id=?' => $item_id));
     $db->delete('items_tags', array('item_id=?' => $item_id));
     $db->delete('items_to_category', array('item_id=?' => $item_id));
     $db->update(Model_Users::getPrefixDB() . 'users', array('items' => new JO_Db_Expr('items - 1')), array('user_id = ?' => $info['user_id']));
     self::unlink(BASE_PATH . '/uploads/items/' . JO_Date::getInstance($info['datetime'], 'yy/mm/', true)->toString() . $item_id . '/');
     self::unlink(BASE_PATH . '/uploads/cache/items/' . JO_Date::getInstance($info['datetime'], 'yy/mm/', true)->toString() . $item_id . '/');
 }
Example #29
0
 private function getForm()
 {
     $request = $this->getRequest();
     $url = '';
     if ($request->getQuery('filter_id')) {
         $url .= '&filter_id=' . $request->getQuery('filter_id');
     }
     if ($request->getQuery('filter_name')) {
         $url .= '&filter_name=' . $request->getQuery('filter_name');
     }
     if ($request->getQuery('filter_username')) {
         $url .= '&filter_username='******'filter_username');
     }
     if ($request->getQuery('filter_user_id')) {
         $url .= '&filter_user_id=' . $request->getQuery('filter_user_id');
     }
     if ($request->getQuery('filter_price')) {
         $url .= '&filter_price=' . $request->getQuery('filter_price');
     }
     if ($request->getQuery('filter_sales')) {
         $url .= '&filter_sales=' . $request->getQuery('filter_sales');
     }
     if ($request->getQuery('filter_profit')) {
         $url .= '&filter_profit=' . $request->getQuery('filter_profit');
     }
     if ($request->getQuery('filter_free_request')) {
         $url .= '&filter_free_request=' . $request->getQuery('filter_free_request');
     }
     if ($request->getQuery('filter_free_file')) {
         $url .= '&filter_free_file=' . $request->getQuery('filter_free_file');
     }
     if ($request->getQuery('filter_weekly')) {
         $url .= '&filter_weekly=' . $request->getQuery('filter_weekly');
     }
     if ($request->getQuery('sort')) {
         $url .= '&sort=' . $request->getQuery('sort');
     }
     if ($request->getQuery('order')) {
         $url .= '&order=' . $request->getQuery('order');
     }
     if ($request->getQuery('page')) {
         $url .= '&page=' . $request->getQuery('page');
     }
     $id = $request->getQuery('id');
     $info = Model_Items::getItem($id);
     if (!$info) {
         $this->redirect($this->getRequest()->getBaseUrl() . $this->getRequest()->getModule() . '/items/?' . $url);
     }
     $this->view->cancel = $this->getRequest()->getBaseUrl() . $this->getRequest()->getModule() . '/items/?' . $url;
     $model_images = new Model_Images();
     $info['thumbnail'] = $model_images->resize($info['thumbnail'], JO_Registry::forceGet($info['module'] . '_items_thumb_width'), JO_Registry::forceGet($info['module'] . '_items_thumb_height'), true);
     if ((int) JO_Registry::get($info['module'] . '_items_preview_width') && (int) JO_Registry::get($info['module'] . '_items_preview_height')) {
         $info['theme_preview_thumbnail'] = $model_images->resize($info['theme_preview_thumbnail'], JO_Registry::forceGet($info['module'] . '_items_preview_width'), JO_Registry::forceGet($info['module'] . '_items_preview_height'), true);
     } elseif ((int) JO_Registry::get($info['module'] . '_items_preview_width')) {
         $info['theme_preview_thumbnail'] = $model_images->resizeWidth($info['theme_preview_thumbnail'], JO_Registry::forceGet($info['module'] . '_items_preview_width'));
     } elseif ((int) JO_Registry::get($info['module'] . '_items_preview_height')) {
         $info['theme_preview_thumbnail'] = $model_images->resizeHeight($info['theme_preview_thumbnail'], JO_Registry::forceGet($info['module'] . '_items_preview_height'));
     } else {
         $info['theme_preview_thumbnail'] = false;
     }
     $this->view->info = $info;
     $this->view->price_f = WM_Currency::format($info['suggested_price']);
     $this->view->categories = Model_Categories::getCategoriesFromParentByModule(0, $info['module']);
     $cats_module = Model_Categories::getCategories(array('filter_sub_of' => 0, 'filter_module' => $info['module'], 'filter_concat' => true));
     $where_attr = '';
     if ($cats_module) {
         $tmp = array();
         foreach ($cats_module as $c) {
             $tmp[] = "categories LIKE '%," . $c . ",%'";
         }
         if ($tmp) {
             $where_attr = implode(' OR ', $tmp);
         }
     }
     $this->view->attributes_list = array();
     $attr_cat = Model_Attributes::getAttributes(array(), $where_attr);
     if ($attr_cat) {
         foreach ($attr_cat as $row => $attr) {
             $attr_list = Model_Attributes::getAttributes(array('filter_sub_of' => $attr['id']));
             if ($attr_list) {
                 $this->view->attributes_list[$row] = $attr;
                 $this->view->attributes_list[$row]['items'] = $attr_list;
             }
         }
     }
     //var_dump($this->view->attributes_list);
     if ($request->getPost('name')) {
         $this->view->name = $request->getPost('name');
     } else {
         $this->view->name = $info['name'];
     }
     if ($request->getPost('description')) {
         $this->view->description = $request->getPost('description');
     } else {
         $this->view->description = $info['description'];
     }
     if ($request->getPost('price')) {
         $this->view->price = $request->getPost('price');
     } else {
         $this->view->price = $info['price'];
     }
     if ($request->getPost('category_id')) {
         $this->view->category_id = $request->getPost('category_id');
     } else {
         $this->view->category_id = Model_Items::getItemCategory($id);
     }
     if ($request->getPost('attributes')) {
         $this->view->attributes = $request->getPost('attributes');
     } else {
         $this->view->attributes = Model_Items::getItemAttributes($id);
     }
     if ($request->getPost('tags')) {
         $this->view->tags = $request->getPost('tags');
     } else {
         $this->view->tags = Model_Items::getItemTags($id);
     }
     if ($request->getPost('free_file')) {
         $this->view->free_file = $request->getPost('free_file');
     } else {
         $this->view->free_file = $info['free_file'];
     }
     if ($request->getPost('demo_url')) {
         $this->view->demo_url = $request->getPost('demo_url');
     } else {
         $this->view->demo_url = $info['demo_url'];
     }
     if ($request->getPost('weekly_from')) {
         $this->view->weekly_from = $request->getPost('weekly_from');
     } else {
         if ($info['weekly_from'] != '0000-00-00') {
             $this->view->weekly_from = JO_Date::getInstance($info['weekly_from'], 'dd.mm.yy', true)->toString();
         } else {
             $this->view->weekly_from = '';
         }
     }
     if ($request->getPost('weekly_to')) {
         $this->view->weekly_to = $request->getPost('weekly_to');
     } else {
         if ($info['weekly_to'] != '0000-00-00') {
             $this->view->weekly_to = JO_Date::getInstance($info['weekly_to'], 'dd.mm.yy', true)->toString();
         } else {
             $this->view->weekly_to = '';
         }
     }
 }
Example #30
0
 public function indexAction()
 {
     $request = $this->getRequest();
     $this->view->base_url = $request->getBaseUrl();
     #LINKS FOR HEAD PARTS IN BOX
     $this->view->finance_href = $request->getModule() . '/reports/';
     $this->view->sales_href = $request->getModule() . '/orders/';
     $this->view->users_href = $request->getModule() . '/users/';
     $this->view->approval_href = $request->getModule() . '/queueitems/';
     $this->view->queue_href = $request->getModule() . '/queueupdateditems/';
     $this->view->contacts_href = $request->getModule() . '/contacts/';
     $this->view->gainpayingup_href = $request->getModule() . '/gainpayingup/';
     $this->view->tags_href = $request->getModule() . '/tags/?filter_visible=false';
     #LOAD ORDERS COUNT
     $this->view->total = Model_Orders::getSalesStatus();
     if ($this->view->total) {
         $this->view->total['total_f'] = WM_Currency::format($this->view->total['total']);
     }
     $ref = Model_Orders::getSalesStatus(" AND `datetime` > '" . date('Y-m') . "-01 00:00:00' ", 'referal');
     $sales = Model_Orders::getSalesStatus(" AND `datetime` > '" . date('Y-m') . "-01 00:00:00' ");
     if ($sales) {
         if ($ref) {
             $sales['referal'] = $ref['receive'];
         } else {
             $sales['referal'] = 0;
         }
         $sales['win'] = floatval($sales['total']) - floatval($sales['receive']) - floatval($sales['referal']);
         $sales['total_f'] = WM_Currency::format($sales['total']);
         $sales['receive_f'] = WM_Currency::format($sales['receive']);
         $sales['referal_f'] = WM_Currency::format($sales['referal']);
         $sales['win_f'] = WM_Currency::format($sales['win']);
     }
     $this->view->sales = $sales;
     unset($ref);
     $ref = Model_Orders::getSalesStatus("", 'referal');
     $sales = Model_Orders::getSalesStatus("");
     if ($sales) {
         if ($ref) {
             $sales['referal'] = $ref['receive'];
         } else {
             $sales['referal'] = 0;
         }
         $sales['win'] = floatval($sales['total']) - floatval($sales['receive']) - floatval($sales['referal']);
         $sales['total_f'] = WM_Currency::format($sales['total']);
         $sales['receive_f'] = WM_Currency::format($sales['receive']);
         $sales['referal_f'] = WM_Currency::format($sales['referal']);
         $sales['win_f'] = WM_Currency::format($sales['win']);
     }
     $this->view->sales2 = $sales;
     unset($ref);
     #LOAD USERS COUNT
     $this->view->users = array();
     $this->view->users['month'] = Model_Users::getUsersCount(" `register_datetime` > '" . date('Y-m') . "-01 00:00:00' AND `status` = 'activate' ");
     $this->view->users['total'] = Model_Users::getUsersCount(" `status` = 'activate' ");
     $this->view->topAuthors = array();
     $topAuthors = Model_Users::getAll(0, 5, " `status` = 'activate' ", "`sales` DESC");
     if ($topAuthors) {
         $percentsClass = new Model_Percents();
         foreach ($topAuthors as $user) {
             $user['deposit'] = WM_Currency::format($user['deposit']);
             $user['earning'] = WM_Currency::format($user['earning']);
             $user['total'] = WM_Currency::format($user['total']);
             $user['sold'] = WM_Currency::format($user['sold']);
             $user['referal_money'] = WM_Currency::format($user['referal_money']);
             $comision = $percentsClass->getPercentRow($user['user_id']);
             $user['commission'] = round($comision['percent']);
             $user['sum'] = Model_Balance::getTotalUserBalanceByType($user['user_id']);
             $user['web_profit'] = WM_Currency::format($user['web_profit']);
             $user['web_profit2'] = WM_Currency::format($user['web_profit2']);
             $user['has_referral_sum'] = $user['referral_sum'];
             $user['referral_sum'] = WM_Currency::format($user['referral_sum']);
             $user['edit_href'] = $request->getModule() . '/users/edite/?id=' . $user['user_id'];
             $user['balance_href'] = $request->getModule() . '/users/balance/?id=' . $user['user_id'];
             $this->view->topAuthors[] = $user;
         }
     }
     #LOAD WITHDRAW
     $this->view->withdraw = array();
     $this->view->withdraw['no'] = Model_Deposit::getWithdrawCount(" `paid` = 'false' AND `datetime` > '" . date('Y-m') . "-01 00:00:00' ");
     if ($this->view->withdraw['no']) {
         $this->view->withdraw['no']['total_f'] = WM_Currency::format($this->view->withdraw['no']['total']);
     }
     $this->view->withdraw['paid'] = Model_Deposit::getWithdrawCount(" `paid` = 'true' AND `paid_datetime` > '" . date('Y-m') . "-01 00:00:00' ");
     if ($this->view->withdraw['paid']) {
         $this->view->withdraw['paid']['total_f'] = WM_Currency::format($this->view->withdraw['paid']['total']);
     }
     #LOAD THEMES
     $this->view->items = Model_Items::getItems(array('filter_status' => 'queue', 'start' => 0, 'limit' => 5));
     $this->view->updated_items = Model_Items::getItems(array('filter_update' => true, 'start' => 0, 'limit' => 5));
     #LOAD LAST REQUEST
     $this->view->contacts = array();
     $contacts = Model_Contacts::getContacts(array('filter_answer_datetime' => '0000-00-00', 'start' => 0, 'limit' => 5));
     if ($contacts) {
         foreach ($contacts as $contact) {
             $data = new JO_Date($contact['datetime'], 'dd MM yy');
             $contact['datetime'] = $data->toString();
             $contact['has_response'] = $contact['answer_datetime'] != '0000-00-00 00:00:00';
             if ($contact['answer_datetime'] != '0000-00-00 00:00:00') {
                 $data = new JO_Date($contact['answer_datetime'], 'dd MM yy');
                 $contact['answer_datetime'] = $data->toString();
             } else {
                 $contact['answer_datetime'] = '';
             }
             $this->view->contacts[] = $contact;
         }
     }
     #Withdrawals
     $this->view->withdraws = array();
     $withdraws = Model_Users::getWithdraws(array('start' => 0, 'limit' => 5));
     if ($withdraws) {
         foreach ($withdraws as $withdraw) {
             $withdraw['earning'] = WM_Currency::format($withdraw['earning']);
             $date = new JO_Date($withdraw['datetime'], 'dd MM yy');
             $withdraw['datetime'] = $date->toString();
             if ($withdraw['paid'] == 'true') {
                 $date = new JO_Date($withdraw['paid_datetime'], 'dd MM yy');
                 $withdraw['paid_datetime'] = $date->toString();
             } else {
                 $withdraw['paid_datetime'] = '';
             }
             $withdraw['amount'] = WM_Currency::format($withdraw['amount']);
             $this->view->withdraws[] = $withdraw;
         }
     }
     #TAGS NO ACTIVE
     $this->view->tags = Model_Tags::getTags(array('filter_visible' => 'false', 'start' => 0, 'limit' => 20));
     #DRAW GRAPHCS
     $referal_sum = Model_Orders::getSalesStatusByDay(" AND `datetime` > '" . date('Y-m') . "-01 00:00:00' ", 'referal');
     $sales_sum = Model_Orders::getSalesStatusByDay(" AND `datetime` > '" . date('Y-m') . "-01 00:00:00' ");
     $referal_money = array();
     $sales_money = array();
     $user_money = array();
     $win_money = array();
     $sales_num = array();
     $referal_num = array();
     $days = array();
     //		for($i=1; $i<= date('t'); $i++) {
     //			if(isset($referal_sum[date("Y-m-") . sprintf('%02d', $i)])) {
     //				$referal_money[] = number_format($referal_sum[date("Y-m-") . sprintf('%02d', $i)]['receive'], 2, '.', '');
     //			} else {
     //				$referal_money[] = 0;
     //			}
     //			if(isset($sales_sum[date("Y-m-") . sprintf('%02d', $i)])) {
     //				$sales_money[] = number_format($sales_sum[date("Y-m-") . sprintf('%02d', $i)]['total'], 2, '.', '');
     //				$user_money[] = number_format($sales_sum[date("Y-m-") . sprintf('%02d', $i)]['receive'], 2, '.', '');
     //				if(isset($referal_sum[date("Y-m-") . sprintf('%02d', $i)]['receive'])) {
     //					$sales_sum[date("Y-m-") . sprintf('%02d', $i)]['referal'] = $referal_sum[date("Y-m-") . sprintf('%02d', $i)]['receive'];
     //				}
     //				if(!isset($sales_sum[date("Y-m-") . sprintf('%02d', $i)]['referal'])) {
     //					$sales_sum[date("Y-m-") . sprintf('%02d', $i)]['referal'] = 0;
     //				}
     //				$sales_num[] = $sales_sum[date("Y-m-") . sprintf('%02d', $i)]['num'];
     //				$win_money[] = number_format( floatval($sales_sum[date("Y-m-") . sprintf('%02d', $i)]['total']) - floatval($sales_sum[date("Y-m-") . sprintf('%02d', $i)]['receive']) - floatval($sales_sum[date("Y-m-") . sprintf('%02d', $i)]['referal']), 2, '.', '');
     //			} else {
     //				$sales_money[] = 0;
     //				$user_money[] = 0;
     //				$win_money[] = 0;
     //				$sales_num[] = 0;
     //			}
     //			$days[] = $i;
     //		}
     for ($i = 1; $i <= date('t'); $i++) {
         if (isset($referal_sum[date("Y-m-") . sprintf('%02d', $i)])) {
             $referal_money[] = array(WM_Currency::format($referal_sum[date("Y-m-") . sprintf('%02d', $i)]['receive']), (double) WM_Currency::format($referal_sum[date("Y-m-") . sprintf('%02d', $i)]['receive'], '', '', false));
         } else {
             $referal_money[] = array(WM_Currency::format(0), 0);
         }
         if (isset($referal_sum[date("Y-m-") . sprintf('%02d', $i)]['num'])) {
             $referal_num[] = array($i, $referal_sum[date("Y-m-") . sprintf('%02d', $i)]['num']);
         } else {
             $referal_num[] = array($i, 0);
         }
         if (isset($sales_sum[date("Y-m-") . sprintf('%02d', $i)])) {
             $sales_money[] = array(WM_Currency::format($sales_sum[date("Y-m-") . sprintf('%02d', $i)]['total']), (double) WM_Currency::format($sales_sum[date("Y-m-") . sprintf('%02d', $i)]['total'], '', '', false));
             $user_money[] = array(WM_Currency::format($sales_sum[date("Y-m-") . sprintf('%02d', $i)]['receive']), (double) WM_Currency::format($sales_sum[date("Y-m-") . sprintf('%02d', $i)]['receive'], '', '', false));
             if (isset($referal_sum[date("Y-m-") . sprintf('%02d', $i)]['receive'])) {
                 $sales_sum[date("Y-m-") . sprintf('%02d', $i)]['referal'] = $referal_sum[date("Y-m-") . sprintf('%02d', $i)]['receive'];
             }
             if (!isset($sales_sum[date("Y-m-") . sprintf('%02d', $i)]['referal'])) {
                 $sales_sum[date("Y-m-") . sprintf('%02d', $i)]['referal'] = 0;
             }
             $sales_num[] = array($i, $sales_sum[date("Y-m-") . sprintf('%02d', $i)]['num']);
             $win_money[] = array(WM_Currency::format($sales_sum[date("Y-m-") . sprintf('%02d', $i)]['total'] - floatval($sales_sum[date("Y-m-") . sprintf('%02d', $i)]['receive']) - floatval($sales_sum[date("Y-m-") . sprintf('%02d', $i)]['referal'])), (double) WM_Currency::format($sales_sum[date("Y-m-") . sprintf('%02d', $i)]['total'] - floatval($sales_sum[date("Y-m-") . sprintf('%02d', $i)]['receive']) - floatval($sales_sum[date("Y-m-") . sprintf('%02d', $i)]['referal']), '', '', false));
         } else {
             $sales_money[] = array(WM_Currency::format(0), 0);
             $user_money[] = array(WM_Currency::format(0), 0);
             $win_money[] = array(WM_Currency::format(0), 0);
             $sales_num[] = array($i, 0);
         }
         $days[] = $i;
     }
     $new_array = array();
     $new_array[] = array('name' => $this->translate('Total'), 'data' => $sales_money);
     $new_array[] = array('name' => $this->translate('User\'s profit'), 'data' => $user_money);
     $new_array[] = array('name' => $this->translate('Net total'), 'data' => $win_money);
     $new_array[] = array('name' => $this->translate('Referent'), 'data' => $referal_money);
     $new_array2 = array();
     $new_array2[] = array('name' => $this->translate('Referent'), 'data' => $referal_num);
     $new_array2[] = array('name' => $this->translate('Sales'), 'data' => $sales_num);
     $this->view->finance_array = JO_Json::encode($new_array);
     $this->view->sales_array = JO_Json::encode($new_array2);
     $this->view->days = JO_Json::encode($days);
     $this->view->currency = WM_Currency::getCurrency();
 }