/** * livesearchAction * @author Thomas Schedler <*****@*****.**> */ public function livesearchAction() { $this->_helper->viewRenderer->setNoRender(); require_once GLOBAL_ROOT_PATH . $this->core->sysConfig->path->zoolu_modules . 'core/models/Tags.php'; $objModelTags = new Model_Tags(); $objAllTags = $objModelTags->loadAllTags(); $strAllTags = '['; if (count($objAllTags) > 0) { foreach ($objAllTags as $objTag) { $strAllTags .= '{"caption":"' . htmlentities($objTag->title, ENT_COMPAT, $this->core->sysConfig->encoding->default) . '","value":' . $objTag->id . '},'; } $strAllTags = trim($strAllTags, ','); } $strAllTags .= ']'; echo $strAllTags; }
/** * Осуществляет поиск по тэгу. В случае, если пользователь не указал параметр поиска - перенаправляет в раздел статей. */ public function action_search() { if ($this->request->param('query')) { $query = $this->request->param('query'); $this->title = 'Поиск по тэгу: ' . $query; $tags_obj = new Model_Tags(); $result = $tags_obj->search_by_query($query); if ($result !== NULL) { $this->view["articles"] = DB::select('*')->from('Articles')->where('id', 'IN', $result)->and_where('is_removed', '=', 0)->order_by('id', 'DESC')->execute(); $content = View::factory('templates/articles/list', $this->view); $this->template->content = View::factory("templates/articles/wrapper", array("active" => "allArticles", "content" => $content)); } else { $this->template->content = 'Ooops! Nothing has been found.'; } } else { $this->redirect('article', 302); } }
public function action_initial() { $inner_route = $this->request->param('inner_route'); $tags_obj = new Model_Tags(); if ($inner_route == null || $inner_route == 'list') { $this->title = 'Список тэгов'; $tags_obj->tags_list('all'); $this->template->content = var_dump($tags_obj->tag_name); } if ($inner_route == 'search') { $this->title = 'Поиск по тэгам'; $query = "ftag,thtag"; $queries = explode(",", $query); for ($i = 0; $i < count($queries); ++$i) { $tags_obj->search_by_query($queries[$i]); $output[$i] = $tags_obj->found_article_id; } $this->template->content = var_dump($output); } }
/** * getTagsValues * @param string $strFieldName * @return object $objTagsData * @author Cornelius Hansjakob <*****@*****.**> * @version 1.0 */ public function getTagsValues($strFieldName) { try { if (!array_key_exists($strFieldName, $this->arrTagsData)) { $this->getModelTags(); $this->objModelTags->setLanguageId($this->intLanguageId); $this->arrTagsData[$strFieldName] = $this->objModelTags->loadTypeTags('page', $this->strPageId, $this->intPageVersion); } return $this->arrTagsData[$strFieldName]; } catch (Exception $exc) { $this->core->logger->err($exc); } }
/** * getModelTags * @return Model_Tags * @author Thomas Schedler <*****@*****.**> * @version 1.0 */ protected function getModelTags() { if (null === $this->objModelTags) { /** * autoload only handles "library" compoennts. * Since this is an application model, we need to require it * from its modules path location. */ require_once GLOBAL_ROOT_PATH . $this->core->sysConfig->path->zoolu_modules . 'core/models/Tags.php'; $this->objModelTags = new Model_Tags(); $this->objModelTags->setLanguageId($this->objElement->Setup()->getLanguageId()); } return $this->objModelTags; }
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' => '')); } } } } }
/** * Set the database driver * * @return boolean */ public static function set_driver() { $driver_name = 'Driver_Tags_' . ucfirst(Kohana::$config->load('tags.driver')); return self::$driver = new $driver_name(); }
public function liveSearchAction() { $this->noViewRenderer(); $request = $this->getRequest(); $type = $request->getQuery('filter'); $json = array(); switch ($type) { case 'item': $items = Model_Orders::getAll(array('start' => 0, 'limit' => 100, 'filter_name' => $request->getQuery('term'))); if ($items) { $cache = array(); foreach ($items as $item) { if (!isset($cache[$item['item_name']])) { $json[] = array('id' => $item['id'], 'label' => $item['item_name'], 'value' => $item['item_name']); $cache[$item['item_name']] = true; } } } break; case 'user': $users = Model_Users::getUsers(array('start' => 0, 'limit' => 100, 'filter_username' => $request->getQuery('term'))); if ($users) { $cache = array(); foreach ($users as $user) { if (!isset($cache[$user['username']])) { $json[] = array('id' => $user['user_id'], 'label' => $user['username'], 'value' => $user['username']); $cache[$user['username']] = true; } } } break; case 'tags': $tags = Model_Tags::getTags(array('start' => 0, 'limit' => 100, 'filter_name' => $request->getQuery('term'))); if ($tags) { $cache = array(); foreach ($tags as $tag) { if (!isset($cache[$tag['name']])) { $json[] = array('id' => $tag['id'], 'label' => $tag['name'], 'value' => $tag['name']); $cache[$tag['name']] = true; } } } break; } $response = $this->getResponse(); $response->addHeader('Cache-Control: no-cache, must-revalidate'); $response->addHeader('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); $response->addHeader('Content-type: application/json'); echo JO_Json::encode($json); }
/** * buildTags * @author Thomas Schedler <*****@*****.**> * @version 1.1 */ public function buildTags() { $element = $this->getElement(); $helper = $element->helper; require_once GLOBAL_ROOT_PATH . $this->core->sysConfig->path->zoolu_modules . 'core/models/Tags.php'; $objModelTags = new Model_Tags(); $objAllTags = $objModelTags->loadAllTags(); $output = $element->getView()->{$helper}($element->getName(), $element->getValue(), $element->getAttribs(), $element->options, $element->regionId, $objAllTags, $element->tagIds); return $output; }
public function indexAction() { $request = $this->getRequest(); $this->setViewChange('../search/index'); $tag = $request->getParam('tags'); /* CRUMBS */ $this->view->crumbs = array(array('name' => $this->view->translate('Home'), 'href' => $request->getBaseUrl()), array('name' => $this->translate('Search'))); if ($tag) { $page = (int) $request->getRequest('page', 1); if ($page < 1) { $page = 1; } $limit = JO_Registry::get('front_limit'); $order = $request->getRequest('order'); if (is_null($order)) { $order = 'desc'; } $sort = $request->getRequest('sort'); if (is_null($sort)) { $sort = 'datetime'; } if ($sort == 'username') { $prefix = 'users.'; } else { $prefix = 'items.'; } $tag = trim(urldecode($tag)); $this->view->searchText = $this->translate('Tag') . ': ' . $tag; $this->getLayout()->meta_title = $this->translate('Items by tag') . ' ' . $tag; $this->getLayout()->meta_description = $this->translate('Items by tag') . ' ' . $tag; $all_cats_link = $link = $request->getBaseUrl() . '?controller=tags&tag=' . urlencode($tag); $category = $request->getRequest('category'); if ($category) { $link .= '&category=' . $category; } $this->view->sort_by = array(array('name' => $this->view->translate('date'), 'href' => WM_Router::create($link . '&sort=datetime'), 'is_selected' => $sort == 'datetime' ? true : false), array('name' => $this->view->translate('title'), 'href' => WM_Router::create($link . '&sort=name'), 'is_selected' => $sort == 'name' ? true : false), array('name' => $this->view->translate('rating'), 'href' => WM_Router::create($link . '&sort=rating'), 'is_selected' => $sort == 'rating' ? true : false), array('name' => $this->view->translate('sales'), 'href' => WM_Router::create($link . '&sort=sales'), 'is_selected' => $sort == 'sales' ? true : false), array('name' => $this->view->translate('price'), 'href' => WM_Router::create($link . '&sort=price'), 'is_selected' => $sort == 'price' ? true : false), array('name' => $this->view->translate('author name'), 'href' => WM_Router::create($link . '&sort=username'), 'is_selected' => $sort == 'username' ? true : false)); /* ORDER */ $link .= '&sort=' . $sort; $this->view->orders = array(array('name' => '»', 'href' => WM_Router::create($link . '&order=desc'), 'is_selected' => $order == 'desc' ? true : false), array('name' => '«', 'href' => WM_Router::create($link . '&order=asc'), 'is_selected' => $order == 'asc' ? true : false)); $link .= '&order=' . $order; $total_records = Model_Tags::getAllSearchItems($tag, ($sort == 'price' ? 'rprice' : $sort) . ' ' . $order, $category); if ($total_records) { $this->view->total_result = $cnt_total_records = count($total_records); $this->view->categories = array(); $categories = Model_Tags::getCategories($tag, $category); if ($categories) { if ($category) { $this->view->all_cats_link = WM_Router::create($all_cats_link); $exists = array(); foreach ($categories as $cat) { if (substr_count($cat['categories'], '|||') > 1) { continue; } $cat_parts = explode('|||', $cat['categories']); foreach ($cat_parts as $part) { $sub_parts = explode('@@@', $part); if (in_array($sub_parts[0], $exists)) { continue; } $exists[] = $sub_parts[0]; $this->view->categories[] = array('name' => $sub_parts[1], 'href' => WM_Router::create($link . '&category=' . $sub_parts[0])); } } $this->view->categories[0] = array('name' => $this->view->categories[0]['name']); $this->view->cnt_categories = count($this->view->categories) - 1; $this->view->subcategories = $this->view->cnt_categories == 1 ? $this->translate('Subcategory') : $this->translate('Subcategories'); } else { foreach ($categories as $cat) { if (strpos($cat['categories'], '|||')) { continue; } $cat_parts = explode('@@@', $cat['categories']); $this->view->categories[] = array('name' => $cat_parts[1], 'href' => WM_Router::create($link . '&category=' . $cat_parts[0])); } $this->view->cnt_categories = count($this->view->categories); $this->view->subcategories = $this->view->cnt_categories == 1 ? $this->translate('Category') : $this->translate('Categories'); } } $start = $page * $limit - $limit; if ($start > $cnt_total_records) { $page = max(ceil($cnt_total_records / $limit), 1); $start = $page * $limit - $limit; } elseif ($start < 0) { $start = 0; } $items = array_slice($total_records, $start, $limit); $this->view->items = array(); foreach ($items as $n => $item) { $item['demo_url'] = WM_Router::create($request->getBaseUrl() . '?controller=items&action=preview&item_id=' . $item['id'] . '&name=' . WM_Router::clearName($item['name'])); $item['categories'] = trim($item['categories'], ','); $item['categories'] = explode(',', $item['categories']); $item['categories'] = JO_Array::multi_array_to_single_uniq($item['categories']); $item['categories'] = array_filter($item['categories'], create_function('$a', 'return $a!="";')); $this->view->items[] = Helper_Items::returnViewIndex($item, 'category'); } $pagination = new Model_Pagination(); $pagination->setLimit($limit); $pagination->setPage($page); $pagination->setText(array('text_prev' => $this->view->translate('Prev'), 'text_next' => $this->view->translate('Next'))); $pagination->setTotal($cnt_total_records); $pagination->setUrl(WM_Router::create($link . '&page={page}')); $this->view->pagination = $pagination->render(); if (!empty($this->view->pagination)) { $this->view->pagination = str_replace('{of}', $this->view->translate('OF'), $this->view->pagination); } } $this->view->children = array(); $this->view->children['header_part'] = 'layout/header_part'; $this->view->children['footer_part'] = 'layout/footer_part'; } else { $this->redirect($request->getBaseUrl() . '?controller=categories&action=recent'); } }
/** * buildTags * @author Thomas Schedler <*****@*****.**> * @version 1.1 */ public function buildTags() { $element = $this->getElement(); $helper = $element->helper; require_once GLOBAL_ROOT_PATH . $this->core->sysConfig->path->zoolu_modules . 'core/models/Tags.php'; $objModelTags = new Model_Tags(); $objMostUsedTags = $objModelTags->loadMostUsedTags(GenericSetup::getFormTypeHandle($element->formTypeId)); $strOutput = $element->getView()->{$helper}($element->getName(), $element->getValue(), $element->getAttribs(), $element->options, $objMostUsedTags, $element->tagIds); return $strOutput; }
private function getForm() { $request = $this->getRequest(); $id = $request->getQuery('id'); if ($id) { $info = Model_Tags::getTag($id); } $this->view->page_num = $this->getRequest()->getRequest('page', 1); 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('visible')) { $this->view->visible = $request->getPost('visible'); } elseif (isset($info)) { $this->view->visible = $info['visible']; } else { $this->view->visible = 'true'; } }
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')); }
/** * getAllTagsForAutocompleter * @param string $strElementId * @return string $strAllTags * @author Cornelius Hansjakob <*****@*****.**> * @version 1.0 */ public function getAllTagsForAutocompleter($strElementId) { require_once GLOBAL_ROOT_PATH . $this->core->sysConfig->path->zoolu_modules . 'core/models/Tags.php'; $objModelTags = new Model_Tags(); $objAllTags = $objModelTags->loadAllTags(); $strAllTags = ''; if (count($objAllTags) > 0) { $strAllTags .= 'var ' . $strElementId . '_json = ['; foreach ($objAllTags as $objTag) { $strAllTags .= '{"caption":"' . htmlentities($objTag->title, ENT_COMPAT, $this->core->sysConfig->encoding->default) . '","value":' . $objTag->id . '},'; } $strAllTags = trim($strAllTags, ','); $strAllTags .= '];'; $strAllTags .= $strElementId . '_json.each(function(t){' . $strElementId . '_list.autoFeed(t)})'; } return $strAllTags; }
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'])); } } }
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(); }