if (!check_auth() || $CURRENT_USER['level'] < 7) { die("Access denied!"); } require_once dirname(__FILE__) . "/SMPHPToolkit/SMAjax.php"; CADBiSNew::instance()->script_src('js/ajax/buffer.js'); CADBiSNew::instance()->script_src('js/ajax/manager.js'); CADBiSNew::instance()->link_href('skins/smadbis/css/grid.css'); $BILL = new CBilling($GV["dbhost"], $GV["dbname"], $GV["dblogin"], $GV["dbpassword"]); $cats = $BILL->GetUrlCategories(); global $cats_cid; $cats_cid_title = array(); foreach ($cats as $cat) { $cats_cid[$cat['cid']] = $cat; } $ajaxbuf_url_cats = new ajax_buffer("update_buffer_cats"); $emanager = new ajax_entities_manager('entities_manager', $ajaxbuf_url_cats); $ajaxbuf_url_matched_cats = new ajax_buffer("update_buffer_cats_matched"); //$emanager_matched = new ajax_entities_manager('entities_manager_matched', $ajaxbuf_url_matched_cats); class cat_urls_formatter extends grid_formatter { protected $_field = ''; /** * Entities manager * @var ajax_entities_manager */ protected $_cats_cid_title = null; protected $_manager = '{}'; /** * @param string $field * @param ajax_entities_manager $entities_manager */
// функция получения определённой страницы отсортированных данных // cортировка указывается третьим параметром (true=ASC,false=DESC) public static function get_page($pagesize, $page, $asc = true) { return array_slice($asc ? self::$mydata : array_reverse(self::$mydata), ($page - 1) * $pagesize, $pagesize); } // так же допустим есть функция удаления строки public static function delete($num) { unset(self::$mydata[$num]); } } // Инициализируем буфер и менеджер сущностей $ajaxbuffer = new ajax_buffer("ajax_buffer"); $ajaxbuffer->show_progress(true); $emanager = new ajax_entities_manager('entities_manager', $ajaxbuffer); // Если нужно выполнить какие-то действия над данными по постбэку if ($ajaxbuffer->is_post_back() && $emanager->isAnyAction()) { switch ($emanager->getAction()) { // необходимо удалить строку case $emanager->action->DEL: mydata::delete($emanager->getItem()); break; } // сбрасываем действие (в противном случае оно будет активно при каждом ajax запросе) $emanager->eraseAction(); } // Форматтер для отображения данных грида class my_grid_formatter extends grid_formatter { protected $_field = '';
if (!check_auth() || $CURRENT_USER['level'] < 7) { die("Access denied!"); } require_once dirname(__FILE__) . "/SMPHPToolkit/SMAjax.php"; CADBiSNew::instance()->script_src('js/ajax/buffer.js'); CADBiSNew::instance()->script_src('js/ajax/manager.js'); CADBiSNew::instance()->link_href('skins/smadbis/css/grid.css'); $BILL = new CBilling($GV["dbhost"], $GV["dbname"], $GV["dblogin"], $GV["dbpassword"]); if (isset($_REQUEST['renderkwdsfor'])) { $cid = $_REQUEST['renderkwdsfor']; die(implode(", ", $BILL->GetUrlCategoryKeywordsWithWeights($cid))); } $ajaxbuf_cats = new ajax_buffer("update_buffer_cats"); $ajaxbuf_cats->show_progress(true); $emanager = new ajax_entities_manager('entities_manager', $ajaxbuf_cats); class cats_formatter extends grid_formatter { protected $_field = ''; /** * Entities manager * @var ajax_entities_manager */ protected $_entities_manager = null; /** * @param string $field * @param ajax_entities_manager $entities_manager */ public function __construct($field, $entities_manager) { $this->_field = $field;