PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Dir : /home/trave494/globalclassified.kerihosting.com/oc-admin/ |
Server: Linux ngx353.inmotionhosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 IP: 209.182.202.254 |
Dir : /home/trave494/globalclassified.kerihosting.com/oc-admin/items.php |
<?php if ( ! defined('ABS_PATH')) exit('ABS_PATH is not loaded. Direct access is not allowed.'); /* * Copyright 2014 Osclass * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ class CAdminItems extends AdminSecBaseModel { //specific for this class private $itemManager; function __construct() { parent::__construct(); //specific things for this class $this->itemManager = Item::newInstance(); } //Business Layer... function doModel() { parent::doModel(); if(osc_is_moderator() && ($this->action=='settings' || $this->action=='settings_post')) { osc_add_flash_error_message(_m("You don't have enough permissions"), "admin"); $this->redirectTo(osc_admin_base_url()); } //specific things for this class switch ($this->action) { case 'bulk_actions': osc_csrf_check(); $mItems = new ItemActions( true ); switch ( Params::getParam('bulk_actions') ) { case 'enable_all': $id = Params::getParam('id'); if ($id) { $numSuccess = 0; foreach ($id as $_id) { if( $mItems->enable($_id) ) { $numSuccess++; } } osc_add_flash_ok_message( sprintf(_mn('%d listing has been enabled', '%d listings have been enabled',$numSuccess), $numSuccess), 'admin'); } break; case 'disable_all': $id = Params::getParam('id'); if ($id) { $numSuccess = 0; foreach ($id as $_id) { if( $mItems->disable((int)$_id) ) { $numSuccess++; } } osc_add_flash_ok_message( sprintf(_mn('%d listing has been disabled', '%d listings have been disabled',$numSuccess),$numSuccess), 'admin'); } break; case 'activate_all': $id = Params::getParam('id'); if ($id) { $numSuccess = 0; foreach ($id as $_id) { if( $mItems->activate($_id) ) { $numSuccess++; } } osc_add_flash_ok_message( sprintf(_mn('%d listing has been activated','%d listings have been activated',$numSuccess), $numSuccess), 'admin'); } break; case 'deactivate_all': $id = Params::getParam('id'); if ($id) { $numSuccess = 0; foreach ($id as $_id) { if( $mItems->deactivate($_id) ) { $numSuccess++; } } osc_add_flash_ok_message( sprintf(_m('%d listing has been deactivated', '%d listings have been deactivated',$numSuccess), $numSuccess), 'admin'); } break; case 'premium_all': $id = Params::getParam('id'); if ($id) { $numSuccess = 0; foreach ($id as $_id) { if( $mItems->premium($_id) ) { $numSuccess++; } } osc_add_flash_ok_message( sprintf(_mn('%d listing has been marked as premium','%d listings have been marked as premium', $numSuccess), $numSuccess), 'admin'); } break; case 'depremium_all': $id = Params::getParam('id'); if ($id) { $numSuccess = 0; foreach ($id as $_id) { if( $mItems->premium($_id,false) ) { $numSuccess++; } } osc_add_flash_ok_message( sprintf(_mn('%d change has been made', '%d changes have been made',$numSuccess) ,$numSuccess), 'admin'); } break; case 'spam_all': $id = Params::getParam('id'); if($id) { $numSuccess = 0; foreach ($id as $_id) { if( $mItems->spam($_id) ) { $numSuccess++; } } osc_add_flash_ok_message( sprintf(_mn('%d listing has been marked as spam', '%d listings have been marked as spam',$numSuccess),$numSuccess), 'admin'); } break; case 'despam_all': $id = Params::getParam('id'); if ($id) { $numSuccess = 0; foreach ($id as $_id) { if( $mItems->spam($_id, false) ) { $numSuccess++; } } osc_add_flash_ok_message( sprintf(_mn('%d change has been made', '%d changes have been made', $numSuccess), $numSuccess), 'admin'); } break; case 'delete_all': $id = Params::getParam('id'); $success = false; if($id) { $numSuccess = 0; foreach($id as $i) { if ($i) { $item = $this->itemManager->findByPrimaryKey($i); $success = $mItems->delete($item['s_secret'], $item['pk_i_id']); if($success) { $numSuccess++; } } } osc_add_flash_ok_message( sprintf(_mn('%d listing has been deleted', '%d listings have been deleted', $numSuccess), $numSuccess), 'admin'); } break; case 'clear_spam_all'; $id = Params::getParam('id'); $success = false; if($id) { $numSuccess = 0; foreach($id as $i) { if ($i) { $success = $this->itemManager->clearStat($i , 'spam' ); if($success) { $numSuccess++; } } } osc_add_flash_ok_message( sprintf(_mn('%d listing has been unmarked as spam', '%d listings have been unmarked as spam', $numSuccess), $numSuccess), 'admin'); } break; case 'clear_bad_all'; $id = Params::getParam('id'); $success = false; if($id) { $numSuccess = 0; foreach($id as $i) { if ($i) { $success = $this->itemManager->clearStat($i , 'bad' ); if($success) { $numSuccess++; } } } osc_add_flash_ok_message( sprintf(_mn('%d listing has been unmarked as missclassified', '%d listings have been unmarked as missclassified', $numSuccess), $numSuccess), 'admin'); } break; case 'clear_dupl_all'; $id = Params::getParam('id'); $success = false; if($id) { $numSuccess = 0; foreach($id as $i) { if ($i) { $success = $this->itemManager->clearStat($i , 'duplicated' ); if($success) { $numSuccess++; } } } osc_add_flash_ok_message( sprintf(_mn('%d listing has been unmarked as duplicated', '%d listings have been unmarked as duplicated', $numSuccess), $numSuccess), 'admin'); } break; case 'clear_expi_all'; $id = Params::getParam('id'); $success = false; if($id) { $numSuccess = 0; foreach($id as $i) { if ($i) { $success = $this->itemManager->clearStat($i , 'expired' ); if($success) { $numSuccess++; } } } osc_add_flash_ok_message( sprintf(_mn('%d listing has been unmarked as expired', '%d listings have been unmarked as expired', $numSuccess), $numSuccess), 'admin'); } break; case 'clear_offe_all'; $id = Params::getParam('id'); $success = false; if($id) { $numSuccess = 0; foreach($id as $i) { if ($i) { $success = $this->itemManager->clearStat($i , 'offensive' ); if($success) { $numSuccess++; } } } osc_add_flash_ok_message( sprintf(_mn('%d listing has been unmarked as offensive', '%d listings have been unmarked as offensive', $numSuccess), $numSuccess), 'admin'); } break; case 'clear_all'; $id = Params::getParam('id'); $success = false; if($id) { $numSuccess = 0; foreach($id as $i) { if ($i) { $success = $this->itemManager->clearStat($i , 'all' ); if($success) { $numSuccess++; } } } osc_add_flash_ok_message( sprintf(_mn('%d listing has been unmarked', '%d listings have been unmarked', $numSuccess), $numSuccess), 'admin'); } break; default: if(Params::getParam("bulk_actions")!="") { osc_run_hook("item_bulk_".Params::getParam("bulk_actions"), Params::getParam('id')); } break; } $this->redirectTo( $_SERVER['HTTP_REFERER'] ); break; case 'delete': //delete osc_csrf_check(); $id = Params::getParam('id'); $success = false; foreach( $id as $i ) { if ( $i ) { $aItem = $this->itemManager->findByPrimaryKey( $i ); $mItems = new ItemActions( true ); $success = $mItems->delete( $aItem['s_secret'], $aItem['pk_i_id'] ); } } if( $success ) { osc_add_flash_ok_message( _m('The listing has been deleted'), 'admin'); } else { osc_add_flash_error_message( _m("The listing couldn't be deleted"), 'admin'); } $this->redirectTo( $_SERVER['HTTP_REFERER'] ); break; case 'status': //status osc_csrf_check(); $id = Params::getParam('id'); $value = Params::getParam('value'); if (!$id) return false; $id = (int) $id; if (!is_numeric($id)) return false; if (!in_array($value, array('ACTIVE', 'INACTIVE','ENABLE','DISABLE'))) return false; $item = $this->itemManager->findByPrimaryKey($id); $mItems = new ItemActions( true ); switch ($value) { case 'ACTIVE': $success = $mItems->activate( $id ); if( $success && $success > 0 ) { osc_add_flash_ok_message( _m('The listing has been activated'), 'admin'); } else if ( !$success ){ osc_add_flash_error_message( _m('An error has occurred'), 'admin'); } else { osc_add_flash_error_message( _m("The listing can't be activated because it's blocked"), 'admin'); } break; case 'INACTIVE': $success = $mItems->deactivate( $id ); if( $success && $success > 0 ) { osc_add_flash_ok_message( _m('The listing has been deactivated'), 'admin'); } else { osc_add_flash_error_message( _m('An error has occurred'), 'admin'); } break; case 'ENABLE': $success = $mItems->enable( $id ); if( $success && $success > 0 ) { osc_add_flash_ok_message( _m('The listing has been enabled'), 'admin'); } else { osc_add_flash_error_message( _m('An error has occurred'), 'admin'); } break; case 'DISABLE': $success = $mItems->disable( $id ); if( $success && $success > 0 ) { osc_add_flash_ok_message( _m('The listing has been disabled'), 'admin'); } else { osc_add_flash_error_message( _m('An error has occurred'), 'admin'); } break; } $this->redirectTo( $_SERVER['HTTP_REFERER'] ); break; case 'status_premium': //status premium osc_csrf_check(); $id = Params::getParam('id'); $value = Params::getParam('value'); if (!$id) return false; $id = (int) $id; if (!is_numeric($id)) return false; if (!in_array($value, array(0, 1))) return false; $mItems = new ItemActions(true); if ($mItems->premium($id, $value==1?true:false) ) { osc_add_flash_ok_message( _m('Changes have been applied'), 'admin'); } else { osc_add_flash_error_message( _m('An error has occurred'), 'admin'); } $this->redirectTo( $_SERVER['HTTP_REFERER'] ); break; case 'status_spam': //status spam osc_csrf_check(); $id = Params::getParam('id'); $value = Params::getParam('value'); if (!$id) return false; $id = (int) $id; if (!is_numeric($id)) return false; if (!in_array($value, array(0, 1))) return false; $mItems = new ItemActions(true); if( $mItems->spam($id, $value==1?true:false) ){ osc_add_flash_ok_message( _m('Changes have been applied'), 'admin'); } else { osc_add_flash_error_message( _m('An error has occurred'), 'admin'); } $this->redirectTo( $_SERVER['HTTP_REFERER'] ); break; case 'clear_stat': osc_csrf_check(); $id = Params::getParam('id'); $stat = Params::getParam('stat'); if (!$id) return false; if (!$stat) return false; $id = (int) $id; if (!is_numeric($id)) return false; $success = $this->itemManager->clearStat($id , $stat ); if($success) { osc_add_flash_ok_message( _m('The listing has been unmarked as')." $stat", 'admin'); } else { osc_add_flash_error_message( _m("The listing hasn't been unmarked as")." $stat", 'admin'); } $this->redirectTo( $_SERVER['HTTP_REFERER'] ); break; case 'item_edit': // edit item $id = Params::getParam('id'); $item = Item::newInstance()->findByPrimaryKey($id); if (count($item) <= 0) { $this->redirectTo( osc_admin_base_url(true) . "?page=items" ); } $csrf_token = osc_csrf_token_url(); if( $item['b_active'] ) { $actions[] = '<a class="btn float-left" href="'.osc_admin_base_url(true).'?page=items&action=status&id='.$item['pk_i_id'].'&'.$csrf_token.'&value=INACTIVE">'.__('Deactivate') .'</a>'; } else { $actions[] = '<a class="btn btn-red float-left" href="'.osc_admin_base_url(true).'?page=items&action=status&id='.$item['pk_i_id'].'&'.$csrf_token.'&value=ACTIVE">'.__('Activate') .'</a>'; } if( $item['b_enabled'] ) { $actions[] = '<a class="btn float-left" href="'.osc_admin_base_url(true).'?page=items&action=status&id='.$item['pk_i_id'].'&'.$csrf_token.'&value=DISABLE">'.__('Block') .'</a>'; } else { $actions[] = '<a class="btn btn-red float-left" href="'.osc_admin_base_url(true).'?page=items&action=status&id='.$item['pk_i_id'].'&'.$csrf_token.'&value=ENABLE">'.__('Unblock') .'</a>'; } if( $item['b_premium'] ) { $actions[] = '<a class="btn float-left" href="'.osc_admin_base_url(true).'?page=items&action=status_premium&id='.$item['pk_i_id'].'&'.$csrf_token.'&value=0">'.__('Unmark as premium') .'</a>'; } else { $actions[] = '<a class="btn float-left" href="'.osc_admin_base_url(true).'?page=items&action=status_premium&id='.$item['pk_i_id'].'&'.$csrf_token.'&value=1">'.__('Mark as premium') .'</a>'; } if( $item['b_spam'] ) { $actions[] = '<a class="btn btn-red float-left" href="'.osc_admin_base_url(true).'?page=items&action=status_spam&id='.$item['pk_i_id'].'&'.$csrf_token.'&value=0">'.__('Unmark as spam') .'</a>'; } else { $actions[] = '<a class="btn float-left" href="'.osc_admin_base_url(true).'?page=items&action=status_spam&id='.$item['pk_i_id'].'&'.$csrf_token.'&value=1">'.__('Mark as spam') .'</a>'; } $this->_exportVariableToView("actions", $actions); $form = count(Session::newInstance()->_getForm()); $keepForm = count(Session::newInstance()->_getKeepForm()); if($form==0 || $form==$keepForm) { Session::newInstance()->_dropKeepForm(); } // save referer if belongs to manage items // redirect only if ManageItems or ReportedListngs if( isset($_SERVER['HTTP_REFERER']) ) { $referer = $_SERVER['HTTP_REFERER']; if(preg_match('/page=items/', $referer) ) { if(preg_match("/action=([\p{L}|_|-]+)/u", $referer, $matches)) { if( $matches[1] == 'items_reported' ) { Session::newInstance()->_set( 'osc_admin_referer', $referer ); } } else { // no actions - Manage Listings Session::newInstance()->_set( 'osc_admin_referer', $referer ); } } } $this->_exportVariableToView("item", $item); $this->_exportVariableToView("new_item", FALSE); osc_run_hook("before_item_edit", $item); $this->doView('items/frm.php'); break; case 'item_edit_post': osc_csrf_check(); $mItems = new ItemActions(true); $mItems->prepareData(false); // set all parameters into session foreach( $mItems->data as $key => $value ) { Session::newInstance()->_setForm($key,$value); } $meta = Params::getParam('meta'); if(is_array($meta)) { foreach( $meta as $key => $value ) { Session::newInstance()->_setForm('meta_'.$key, $value); Session::newInstance()->_keepForm('meta_'.$key); } } $success = $mItems->edit(); if($success==1){ osc_add_flash_ok_message( _m('Changes saved correctly'), 'admin'); $url = osc_admin_base_url(true) . "?page=items"; // if Referer is saved that means referer is ManageListings or ReportListings if(Session::newInstance()->_get('osc_admin_referer')!='') { $url = Session::newInstance()->_get('osc_admin_referer'); } Session::newInstance()->_clearVariables(); if(is_array($meta)) { foreach( $meta as $key => $value ) { Session::newInstance()->_dropKeepForm('meta_'.$key); } } $this->redirectTo( $url ); } else { osc_add_flash_error_message( $success , 'admin'); $this->redirectTo( osc_admin_base_url(true) . "?page=items&action=item_edit&id=" . Params::getParam('id') ); } break; case 'deleteResource': //delete resource osc_csrf_check(); $id = Params::getParam('id'); $name = Params::getParam('name'); $fkid = Params::getParam('fkid'); // delete files osc_deleteResource($id, true); Log::newInstance()->insertLog('items', 'deleteResource', $id, $id, 'admin', osc_logged_admin_id()); $result = ItemResource::newInstance()->delete(array('pk_i_id' => $id, 'fk_i_item_id' => $fkid, 's_name' => $name)); if($result === false) { osc_add_flash_error_message( _m('An error has occurred'), 'admin'); } else { osc_add_flash_ok_message( _m('Resource deleted'), 'admin'); } $this->redirectTo( osc_admin_base_url(true) . "?page=items" ); break; case 'post': // add item $form = count(Session::newInstance()->_getForm()); $keepForm = count(Session::newInstance()->_getKeepForm()); if($form == 0 || $form == $keepForm) { Session::newInstance()->_dropKeepForm(); } $this->_exportVariableToView("new_item", TRUE); osc_run_hook('post_item'); $this->doView('items/frm.php'); break; case 'post_item': //post item osc_csrf_check(); $mItem = new ItemActions(true); $mItem->prepareData(true); // set all parameters into session foreach( $mItem->data as $key => $value ) { Session::newInstance()->_setForm($key,$value); } $meta = Params::getParam('meta'); if(is_array($meta)) { foreach( $meta as $key => $value ) { Session::newInstance()->_setForm('meta_'.$key, $value); Session::newInstance()->_keepForm('meta_'.$key); } } $success = $mItem->add(); if( $success==1 || $success==2 ) { $url = osc_admin_base_url(true) . "?page=items"; // if Referer is saved that means referer is ManageListings or ReportListings if(Session::newInstance()->_get('osc_admin_referer')!='') { $url = Session::newInstance()->_get('osc_admin_referer'); Session::newInstance()->_drop('osc_admin_referer'); } Session::newInstance()->_clearVariables(); if(is_array($meta)) { foreach( $meta as $key => $value ) { Session::newInstance()->_dropKeepForm('meta_'.$key); } } osc_add_flash_ok_message( _m('A new listing has been added'), 'admin'); $this->redirectTo( $url ); } else { osc_add_flash_error_message( $success, 'admin'); $this->redirectTo( osc_admin_base_url(true) . "?page=items&action=post" ); } break; case('settings'): // calling the items settings view $this->doView('items/settings.php'); break; case('settings_post'): // update item settings osc_csrf_check(); $iUpdated = 0; $enabledRecaptchaItems = Params::getParam('enabled_recaptcha_items'); $enabledRecaptchaItems = (($enabledRecaptchaItems == '1') ? true : false); $moderateItems = Params::getParam('moderate_items'); $moderateItems = (($moderateItems != '') ? true : false); $numModerateItems = Params::getParam('num_moderate_items'); $itemsWaitTime = Params::getParam('items_wait_time'); $loggedUserItemValidation = Params::getParam('logged_user_item_validation'); $loggedUserItemValidation = (($loggedUserItemValidation != '') ? true : false); $regUserPost = Params::getParam('reg_user_post'); $regUserPost = (($regUserPost != '') ? true : false); $notifyNewItem = Params::getParam('notify_new_item'); $notifyNewItem = (($notifyNewItem != '') ? true : false); $notifyContactItem = Params::getParam('notify_contact_item'); $notifyContactItem = (($notifyContactItem != '') ? true : false); $notifyContactFriends = Params::getParam('notify_contact_friends'); $notifyContactFriends = (($notifyContactFriends != '') ? true : false); $enabledFieldPriceItems = Params::getParam('enableField#f_price@items'); $enabledFieldPriceItems = (($enabledFieldPriceItems != '') ? true : false); $enabledFieldImagesItems = Params::getParam('enableField#images@items'); $enabledFieldImagesItems = (($enabledFieldImagesItems != '') ? true : false); $numImagesItems = Params::getParam('numImages@items'); if($numImagesItems=='') { $numImagesItems = 0; } $regUserCanContact = Params::getParam('reg_user_can_contact'); $regUserCanContact = (($regUserCanContact != '') ? true : false); $contactItemAttachment = Params::getParam('item_attachment'); $contactItemAttachment = (($contactItemAttachment != '') ? true : false); $warnExpiration = Params::getParam('warn_expiration'); $warnExpiration = (int) $warnExpiration; $titleLength = Params::getParam('max_chars_per_title'); $descriptionLength = Params::getParam('max_chars_per_description'); $msg = ''; if(!osc_validate_int(Params::getParam("items_wait_time"))) { $msg .= _m("Wait time must only contain numeric characters")."<br/>"; } if(Params::getParam("num_moderate_items")!='' && !osc_validate_int(Params::getParam("num_moderate_items"))) { $msg .= _m("Number of moderated listings must only contain numeric characters")."<br/>"; } if(!osc_validate_int($numImagesItems)) { $msg .= _m("Images per listing must only contain numeric characters")."<br/>"; } if(!osc_validate_int($warnExpiration)) { $msg .= _m("Number of expiration days has to be a numeric value")."<br/>"; } if(!osc_validate_int($titleLength)) { $msg .= _m("Title Length has to be a numeric value")."<br/>"; } if(!osc_validate_int($descriptionLength)) { $msg .= _m("Description Length has to be a numeric value")."<br/>"; } if($msg!='') { osc_add_flash_error_message( $msg, 'admin'); $this->redirectTo(osc_admin_base_url(true) . '?page=items&action=settings'); } $iUpdated += osc_set_preference('enabled_recaptcha_items', $enabledRecaptchaItems); if($moderateItems) { $iUpdated += osc_set_preference('moderate_items', $numModerateItems); } else { $iUpdated += osc_set_preference('moderate_items', '-1'); } $iUpdated += osc_set_preference('logged_user_item_validation', $loggedUserItemValidation); $iUpdated += osc_set_preference('reg_user_post', $regUserPost); $iUpdated += osc_set_preference('notify_new_item', $notifyNewItem); $iUpdated += osc_set_preference('notify_contact_item', $notifyContactItem); $iUpdated += osc_set_preference('notify_contact_friends', $notifyContactFriends); $iUpdated += osc_set_preference('enableField#f_price@items', $enabledFieldPriceItems); $iUpdated += osc_set_preference('enableField#images@items', $enabledFieldImagesItems); $iUpdated += osc_set_preference('items_wait_time', $itemsWaitTime); $iUpdated += osc_set_preference('numImages@items', $numImagesItems); $iUpdated += osc_set_preference('reg_user_can_contact', $regUserCanContact); $iUpdated += osc_set_preference('item_attachment', $contactItemAttachment); $iUpdated += osc_set_preference('warn_expiration', $warnExpiration); $iUpdated += osc_set_preference('title_character_length', $titleLength); $iUpdated += osc_set_preference('description_character_length', $descriptionLength); if($iUpdated > 0) { osc_add_flash_ok_message( _m("Listings' settings have been updated"), 'admin'); } $this->redirectTo(osc_admin_base_url(true) . '?page=items&action=settings'); break; case('items_reported'): require_once osc_lib_path()."osclass/classes/datatables/ItemsDataTable.php"; // set default iDisplayLength if( Params::getParam('iDisplayLength') != '' ) { Cookie::newInstance()->push('listing_iDisplayLength', Params::getParam('iDisplayLength')); Cookie::newInstance()->set(); } else { // set a default value if it's set in the cookie if( Cookie::newInstance()->get_value('listing_iDisplayLength') != '' ) { Params::setParam('iDisplayLength', Cookie::newInstance()->get_value('listing_iDisplayLength')); } else { Params::setParam('iDisplayLength', 10 ); } } $this->_exportVariableToView('iDisplayLength', Params::getParam('iDisplayLength')); // Table header order by related if( Params::getParam('sort') == '') { Params::setParam('sort', 'date'); } if( Params::getParam('direction') == '') { Params::setParam('direction', 'desc'); } $page = (int)Params::getParam('iPage'); if($page==0) { $page = 1; }; Params::setParam('iPage', $page); $params = Params::getParamsAsArray(); $itemsDataTable = new ItemsDataTable(); $itemsDataTable->tableReported($params); $aData = $itemsDataTable->getData(); if(count($aData['aRows']) == 0 && $page!=1) { $total = (int)$aData['iTotalDisplayRecords']; $maxPage = ceil( $total / (int)$aData['iDisplayLength'] ); $url = osc_admin_base_url(true).'?'.$_SERVER['QUERY_STRING']; if($maxPage==0) { $url = preg_replace('/&iPage=(\d)+/', '&iPage=1', $url); $this->redirectTo($url); } if($page > 1) { $url = preg_replace('/&iPage=(\d)+/', '&iPage='.$maxPage, $url); $this->redirectTo($url); } } $this->_exportVariableToView('aData', $aData); $this->_exportVariableToView('aRawRows', $itemsDataTable->rawRows()); //calling the view... $this->doView('items/reported.php'); break; default: // default require_once osc_lib_path()."osclass/classes/datatables/ItemsDataTable.php"; // set default iDisplayLength if( Params::getParam('iDisplayLength') != '' ) { Cookie::newInstance()->push('listing_iDisplayLength', Params::getParam('iDisplayLength')); Cookie::newInstance()->set(); } else { // set a default value if it's set in the cookie if( Cookie::newInstance()->get_value('listing_iDisplayLength') != '' ) { Params::setParam('iDisplayLength', Cookie::newInstance()->get_value('listing_iDisplayLength')); } else { Params::setParam('iDisplayLength', 10 ); } } $this->_exportVariableToView('iDisplayLength', Params::getParam('iDisplayLength')); // Table header order by related if( Params::getParam('sort') == '') { Params::setParam('sort', 'date'); } if( Params::getParam('direction') == '') { Params::setParam('direction', 'desc'); } $page = (int)Params::getParam('iPage'); if($page==0) { $page = 1; }; Params::setParam('iPage', $page); $params = Params::getParamsAsArray(); $itemsDataTable = new ItemsDataTable(); $aData = $itemsDataTable->table($params); if(count($aData['aRows']) == 0 && $page!=1) { $total = (int)$aData['iTotalDisplayRecords']; $maxPage = ceil( $total / (int)$aData['iDisplayLength'] ); $url = osc_admin_base_url(true).'?'.$_SERVER['QUERY_STRING']; if($maxPage==0) { $url = preg_replace('/&iPage=(\d)+/', '&iPage=1', $url); $this->redirectTo($url); } if($page > 1) { $url = preg_replace('/&iPage=(\d)+/', '&iPage='.$maxPage, $url); $this->redirectTo($url); } } $this->_exportVariableToView('aData', $aData); $this->_exportVariableToView('withFilters', $itemsDataTable->withFilters()); $this->_exportVariableToView('aRawRows', $itemsDataTable->rawRows()); $bulk_options = array( array('value' => '', 'data-dialog-content' => '', 'label' => __('Bulk actions')), array('value' => 'delete_all', 'data-dialog-content' => sprintf(__('Are you sure you want to %s the selected listings?'), strtolower(__('Delete'))), 'label' => __('Delete')), array('value' => 'activate_all', 'data-dialog-content' => sprintf(__('Are you sure you want to %s the selected listings?'), strtolower(__('Activate'))), 'label' => __('Activate')), array('value' => 'deactivate_all', 'data-dialog-content' => sprintf(__('Are you sure you want to %s the selected listings?'), strtolower(__('Deactivate'))), 'label' => __('Deactivate')), array('value' => 'disable_all', 'data-dialog-content' => sprintf(__('Are you sure you want to %s the selected listings?'), strtolower(__('Block'))), 'label' => __('Block')), array('value' => 'enable_all', 'data-dialog-content' => sprintf(__('Are you sure you want to %s the selected listings?'), strtolower(__('Unblock'))), 'label' => __('Unblock')), array('value' => 'premium_all', 'data-dialog-content' => sprintf(__('Are you sure you want to %s the selected listings?'), strtolower(__('Mark as premium'))), 'label' => __('Mark as premium')), array('value' => 'depremium_all', 'data-dialog-content' => sprintf(__('Are you sure you want to %s the selected listings?'), strtolower(__('Unmark as premium'))), 'label' => __('Unmark as premium')), array('value' => 'spam_all', 'data-dialog-content' => sprintf(__('Are you sure you want to %s the selected listings?'), strtolower(__('Mark as spam'))), 'label' => __('Mark as spam')), array('value' => 'despam_all', 'data-dialog-content' => sprintf(__('Are you sure you want to %s the selected listings?'), strtolower(__('Unmark as spam'))), 'label' => __('Unmark as spam')) ); $bulk_options = osc_apply_filter("item_bulk_filter", $bulk_options); $this->_exportVariableToView('bulk_options', $bulk_options); //calling the view... $this->doView('items/index.php'); } } //hopefully generic... function doView($file) { osc_run_hook("before_admin_html"); osc_current_admin_theme_path($file); Session::newInstance()->_clearVariables(); osc_run_hook("after_admin_html"); } } /* file end: ./oc-admin/items.php */ ?>