本文整理汇总了PHP中Utils_RecordBrowserCommon::admin_filter方法的典型用法代码示例。如果您正苦于以下问题:PHP Utils_RecordBrowserCommon::admin_filter方法的具体用法?PHP Utils_RecordBrowserCommon::admin_filter怎么用?PHP Utils_RecordBrowserCommon::admin_filter使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Utils_RecordBrowserCommon
的用法示例。
在下文中一共展示了Utils_RecordBrowserCommon::admin_filter方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: indexer
public static function indexer($limit = null, &$total = 0)
{
$limit_sum = 0;
$limit_file = DATA_DIR . '/Utils_RecordBrowser/limit';
if (defined('RB_INDEXER_LIMIT_QUERIES')) {
//limit queries per hour
$time = time();
$limit_time = 0;
if (file_exists($limit_file)) {
$tmp = array_filter(explode("\n", file_get_contents($limit_file)));
$limit_time = array_shift($tmp);
if ($limit_time > $time - 3600) {
$limit_sum = array_sum($tmp);
if ($limit_sum > RB_INDEXER_LIMIT_QUERIES) {
return;
}
}
}
if ($limit_sum == 0) {
file_put_contents($limit_file, $time . "\n", LOCK_EX);
}
}
if (!$limit) {
$limit = defined('RB_INDEXER_LIMIT_RECORDS') ? RB_INDEXER_LIMIT_RECORDS : 50;
}
$tabs = DB::GetAssoc('SELECT id,tab FROM recordbrowser_table_properties WHERE search_include>0');
foreach ($tabs as $tab_id => $tab) {
$lock = DATA_DIR . '/Utils_RecordBrowser/' . $tab_id . '.lock';
if (file_exists($lock) && filemtime($lock) > time() - 1200) {
continue;
}
$table_rows = self::init($tab);
self::$admin_filter = ' <tab>.indexed=0 AND <tab>.active=1 AND ';
$ret = self::get_records($tab, array(), array(), array(), $limit, true);
self::$admin_filter = '';
if (!$ret) {
continue;
}
register_shutdown_function(create_function('', '@unlink("' . $lock . '");'));
if (file_exists($lock) && filemtime($lock) > time() - 1200) {
continue;
}
file_put_contents($lock, '');
foreach ($ret as $row) {
self::index_record($tab, $row, $table_rows, $tab_id);
$total++;
if ($total >= $limit) {
break;
}
if (defined('RB_INDEXER_LIMIT_QUERIES') && RB_INDEXER_LIMIT_QUERIES < $limit_sum + DB::GetQueriesQty()) {
break;
}
}
@unlink($lock);
if ($total >= $limit) {
break;
}
if (defined('RB_INDEXER_LIMIT_QUERIES') && RB_INDEXER_LIMIT_QUERIES < $limit_sum + DB::GetQueriesQty()) {
break;
}
}
if (defined('RB_INDEXER_LIMIT_QUERIES')) {
file_put_contents($limit_file, DB::GetQueriesQty() . "\n", FILE_APPEND | LOCK_EX);
}
}
示例2: show_data
//.........这里部分代码省略.........
if ($k[0]=='"') {
$search_res['~_'.$k] = $vv;
continue;
}
$args = $this->table_rows[$hash[trim($k, '(|')]];
if ($args['commondata']) $k = $k.'[]';
elseif (isset($args['ref_field']) && $args['ref_field']) $k = $k.'['.Utils_RecordBrowserCommon::get_field_id($args['ref_field']).']';
if (!$args['commondata']) {
$w = DB::Concat(DB::qstr('%'),DB::qstr($vv),DB::qstr('%'));
$op = '"';
} else {
$w = $vv;
$op = '';
}
$search_res = Utils_RecordBrowserCommon::merge_crits($search_res, array('~'.$op.$k =>$w));
}
}
$search_res = Utils_RecordBrowserCommon::merge_crits($search_res, $leftovers);
}
if (!$pdf) $order = $gb->get_order();
$crits = array_merge($crits, $search_res);
if ($this->browse_mode == 'favorites')
$crits[':Fav'] = true;
if ($this->browse_mode == 'watchdog')
$crits[':Sub'] = true;
if ($this->browse_mode == 'recent') {
$crits[':Recent'] = true;
$order = array(':Visited_on'=>'DESC');
}
if ($admin && !$pdf) {
$order = array(':Edited_on'=>'DESC');
$form = $this->init_module('Libs/QuickForm', null, $this->tab.'_admin_filter');
$form->addElement('select', 'show_records', __('Show records'), array(0=>'['.__('All').']',1=>'['.__('All active').']',2=>'['.__('All deactivated').']'), array('onchange'=>$form->get_submit_form_js()));
$f = $this->get_module_variable('admin_filter', 0);
$form->setDefaults(array('show_records'=>$f));
$admin_filter = $form->exportValue('show_records');
$this->set_module_variable('admin_filter', $admin_filter);
switch($admin_filter) {
case 0: Utils_RecordBrowserCommon::$admin_filter = '';
break;
case 1: Utils_RecordBrowserCommon::$admin_filter = 'active=1 AND ';
break;
case 2: Utils_RecordBrowserCommon::$admin_filter = 'active=0 AND ';
break;
}
$form->display_as_row();
}
if (isset($this->force_order)) $order = $this->force_order;
if (!$order) $order = array();
$this->amount_of_records = Utils_RecordBrowserCommon::get_records_count($this->tab, $crits, $admin, $order);
if ($limit === null && !$this->disabled['pagination'])
$limit = $gb->get_limit($this->amount_of_records);
if (!$this->disabled['pdf'] && !$pdf && $this->get_access('print')) {
$limited_print_records = 200;
$limited_print = ($this->amount_of_records >= $limited_print_records);
$print_limit = $limited_print ? $limit : null;
$key = md5(serialize($this->tab).serialize($crits).serialize($cols).serialize($order).serialize($admin).serialize($print_limit));
$_SESSION['client']['utils_recordbrowser'][$key] = array(
'tab'=>$this->tab,
'crits'=>$crits,
'cols'=>$cols,