本文整理汇总了PHP中protect_from_escaping函数的典型用法代码示例。如果您正苦于以下问题:PHP protect_from_escaping函数的具体用法?PHP protect_from_escaping怎么用?PHP protect_from_escaping使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了protect_from_escaping函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _urlise_lang
/**
* URL'ise specially encoded text-acceptance language strings.
*
* @param string The language string
* @param mixed The URL (either tempcode or string)
* @param string The title of the hyperlink
* @param boolean Whether to use a new window
* @return tempcode The encoded version
*/
function _urlise_lang($string, $url, $title, $new_window)
{
$a = strpos($string, '<{');
$b = strpos($string, '}>');
if ($a === false || $b === false || $b < $a) {
return make_string_tempcode($string);
}
$section = substr($string, $a + 2, $b - $a - 2);
$prior = substr($string, 0, $a);
$after = substr($string, $b + 2);
if ($GLOBALS['XSS_DETECT']) {
ocp_mark_as_escaped($section);
ocp_mark_as_escaped($prior);
ocp_mark_as_escaped($after);
}
if (is_string($url)) {
if ($url == '') {
return protect_from_escaping($section);
}
} else {
if ($url->is_empty()) {
return protect_from_escaping($section);
}
}
$out = new ocp_tempcode();
$out->attach(protect_from_escaping($prior));
$out->attach(hyperlink($url, protect_from_escaping($section), $new_window, false, $title));
$out->attach(protect_from_escaping($after));
return $out;
}
示例2: run
/**
* Standard modular run function.
*
* @param array A map of parameters.
* @return tempcode The result of execution.
*/
function run($map)
{
require_code('downloads');
require_css('downloads');
require_lang('downloads');
require_code('ocfiltering');
$number = array_key_exists('param', $map) ? intval($map['param']) : 10;
$filter = array_key_exists('filter', $map) ? $map['filter'] : '*';
$zone = array_key_exists('zone', $map) ? $map['zone'] : get_module_zone('downloads');
$sql_filter = ocfilter_to_sqlfragment($filter, 'p.category_id', 'download_categories', 'parent_id', 'p.category_id', 'id');
// Note that the parameters are fiddled here so that category-set and record-set are the same, yet SQL is returned to deal in an entirely different record-set (entries' record-set)
$rows = $GLOBALS['SITE_DB']->query('SELECT * FROM ' . get_table_prefix() . 'download_downloads p WHERE validated=1 AND (' . $sql_filter . ') ORDER BY add_date DESC', $number);
$title = do_lang_tempcode('RECENT', make_string_tempcode(integer_format($number)), do_lang_tempcode('SECTION_DOWNLOADS'));
if (array_key_exists('title', $map) && $map['title'] != '') {
$title = protect_from_escaping(escape_html($map['title']));
}
$out = new ocp_tempcode();
foreach ($rows as $i => $row) {
if ($i != 0) {
$out->attach(do_template('BLOCK_SEPARATOR'));
}
$out->attach(get_download_html($row, true, true, $zone));
}
if ($out->is_empty()) {
if (has_actual_page_access(NULL, 'cms_downloads', NULL, NULL) && has_submit_permission('mid', get_member(), get_ip_address(), 'cms_downloads')) {
$submit_url = build_url(array('page' => 'cms_downloads', 'type' => 'ad', 'redirect' => SELF_REDIRECT), get_module_zone('cms_downloads'));
} else {
$submit_url = new ocp_tempcode();
}
return do_template('BLOCK_NO_ENTRIES', array('_GUID' => '74399763a51102bdd6e6d92c2c11354f', 'HIGH' => false, 'TITLE' => $title, 'MESSAGE' => do_lang_tempcode('NO_DOWNLOADS_YET'), 'ADD_NAME' => do_lang_tempcode('ADD_DOWNLOAD'), 'SUBMIT_URL' => $submit_url));
}
return do_template('BLOCK_MAIN_RECENT_DOWNLOADS', array('_GUID' => '257fa1b83d1b6fe3acbceb2b618e6d7f', 'TITLE' => $title, 'CONTENT' => $out, 'NUMBER' => integer_format($number)));
}
示例3: run
/**
* Standard modular run function.
*
* @return tempcode The result of execution.
*/
function run()
{
$bits = new ocp_tempcode();
$map = array();
$url = get_base_url();
list($rank, $links, $speed) = getAlexaRank($url);
$map['Google PageRank'] = getPageRank($url);
$map['Alexa rank'] = $rank;
$map['Back links'] = protect_from_escaping('<a title="Show back links" href="http://www.google.co.uk/search?as_lq=' . urlencode($url) . '">' . $links . '</a>');
$map['Speed'] = $speed;
foreach ($map as $key => $val) {
$bits->attach(do_template('BLOCK_SIDE_STATS_SUBLINE', array('KEY' => $key, 'VALUE' => is_null($val) ? '' : $val)));
}
$section = do_template('BLOCK_SIDE_STATS_SECTION', array('SECTION' => 'Meta stats', 'CONTENT' => $bits));
return $section;
}
示例4: seo_get_fields
/**
* Get template fields to insert into a form page, for manipulation of seo fields.
*
* @param ID_TEXT The type of resource (e.g. download)
* @param ?ID_TEXT The ID of the resource (NULL: adding)
* @return tempcode Form page tempcode fragment
*/
function seo_get_fields($type, $id = NULL)
{
require_code('form_templates');
if (is_null($id)) {
list($keywords, $description) = array('', '');
} else {
list($keywords, $description) = seo_meta_get_for($type, $id);
}
$fields = new ocp_tempcode();
if (get_value('disable_seo') !== '1' && (get_value('disable_seo') !== '2' || !is_null($id))) {
$fields->attach(do_template('FORM_SCREEN_FIELD_SPACER', array('SECTION_HIDDEN' => $keywords == '' && $description == '', 'TITLE' => do_lang_tempcode('SEO'), 'HELP' => get_option('show_docs') === '0' ? NULL : protect_from_escaping(symbol_tempcode('URLISE_LANG', array(do_lang('TUTORIAL_ON_THIS'), brand_base_url() . '/docs' . strval(ocp_version()) . '/pg/tut_seo', 'tut_seo', '1'))))));
$fields->attach(form_input_line_multi(do_lang_tempcode('KEYWORDS'), do_lang_tempcode('DESCRIPTION_META_KEYWORDS'), 'meta_keywords[]', array_map('trim', explode(',', preg_replace('#,+#', ',', $keywords))), 0));
$fields->attach(form_input_line(do_lang_tempcode('META_DESCRIPTION'), do_lang_tempcode('DESCRIPTION_META_DESCRIPTION'), 'meta_description', $description, false));
}
return $fields;
}
示例5: run
/**
* Standard modular run function.
*
* @return tempcode The result of execution.
*/
function run()
{
$base_url = get_forum_base_url();
$forums = get_param('url', $base_url . '/');
if (substr($forums, 0, strlen($base_url)) != $base_url) {
$base_url = rtrim($forums, '/');
if (strpos($base_url, '.php') !== false || strpos($base_url, '?') !== false) {
$base_url = dirname($base_url);
}
//log_hack_attack_and_exit('REFERRER_IFRAME_HACK'); No longer a hack attack becase people webmasters changed their forum base URL at some point, creating problems with old bookmarks!
header('Location: ' . get_self_url(true, false, array('url' => get_forum_base_url())));
exit;
}
$old_method = false;
if ($old_method) {
return do_template('FORUMS_EMBED', array('_GUID' => '159575f6b83c5366d29e184a8dd5fc49', 'FORUMS' => $forums));
}
$GLOBALS['SCREEN_TEMPLATE_CALLED'] = '';
require_code('integrator');
return do_template('COMCODE_SURROUND', array('CLASS' => 'float_surrounder', 'CONTENT' => protect_from_escaping(reprocess_url($forums, $base_url))));
}
示例6: get_catalogue_category_entry_buildup
//.........这里部分代码省略.........
$in_db_sorting = true;
}
// Needed to stop huge slow down
foreach ($entries as $i => $entry) {
$entries[$i]['map'] = get_catalogue_entry_map($entry, $catalogue, $view_type, $tpl_set, $root, $fields, $display_type == 1 && !$is_ecomm && !is_null($order_by) ? array(0, intval($order_by)) : NULL, false, false, intval($order_by));
}
// Implement search filter
if ($search != '') {
$new_entries = array();
for ($i = 0; $i < $num_entries; $i++) {
$two_d_list = $entries[$i]['map']['FIELDS_2D'];
$all_output = '';
foreach ($two_d_list as $index => $l) {
$all_output .= (is_object($l['VALUE']) ? $l['VALUE']->evaluate() : $l['VALUE']) . ' ';
}
if (strpos(strtolower($all_output), strtolower($search)) !== false) {
$new_entries[] = $entries[$i];
}
}
$entries = $new_entries;
}
disable_php_memory_limit();
if ($do_sorting) {
// Sort entries
$selectors = new ocp_tempcode();
foreach ($fields as $i => $field) {
if ($field['cf_searchable'] == 1) {
$potential_sorter_name = get_translated_text($field['cf_name']);
foreach (array('ASC' => '_ASCENDING', 'DESC' => '_DESCENDING') as $dir_code => $dir_lang) {
$sort_sel = $order_by == strval($i) && $direction == $dir_code;
$_potential_sorter_name = new ocp_tempcode();
$_potential_sorter_name->attach(escape_html($potential_sorter_name));
$_potential_sorter_name->attach(do_lang_tempcode($dir_lang));
$selectors->attach(do_template('RESULTS_BROWSER_SORTER', array('_GUID' => 'dfdsfdsusd0fsd0dsf', 'SELECTED' => $sort_sel, 'NAME' => protect_from_escaping($_potential_sorter_name), 'VALUE' => strval($field['id']) . ' ' . $dir_code)));
}
}
}
$extra_sorts = array();
$extra_sorts['add_date'] = '_ADDED';
if (get_option('is_on_rating') == '0') {
$has_ratings = false;
} else {
if (is_null($entries)) {
$has_ratings = false;
foreach ($entries as $entry) {
if ($entry['allow_rating'] == 1) {
$has_ratings = true;
}
}
if ($has_ratings) {
$extra_sorts['rating'] = 'RATING';
}
} else {
$has_ratings = true;
}
}
foreach ($extra_sorts as $extra_sort_code => $extra_sort_lang) {
foreach (array('ASC' => '_ASCENDING', 'DESC' => '_DESCENDING') as $dir_code => $dir_lang) {
$sort_sel = $order_by == $extra_sort_code && $direction == $dir_code;
$_potential_sorter_name = new ocp_tempcode();
$_potential_sorter_name->attach(do_lang_tempcode($extra_sort_lang));
$_potential_sorter_name->attach(do_lang_tempcode($dir_lang));
$selectors->attach(do_template('RESULTS_BROWSER_SORTER', array('_GUID' => 'xfdsfdsusd0fsd0dsf', 'SELECTED' => $sort_sel, 'NAME' => protect_from_escaping($_potential_sorter_name), 'VALUE' => $extra_sort_code . ' ' . $dir_code)));
}
}
$sort_url = get_self_url(false, false, array('order' => NULL), false, true);
示例7: get_form_fields
/**
* Get tempcode for adding/editing form.
*
* @param ?AUTO_LINK The ID of the award (NULL: not added yet)
* @param SHORT_TEXT The title
* @param LONG_TEXT The description
* @param integer How many points are given to the awardee
* @param ID_TEXT The content type the award type is for
* @param BINARY Whether to not show the awardee when displaying this award
* @param integer The approximate time in hours between awards (e.g. 168 for a week)
* @return tempcode The input fields
*/
function get_form_fields($id = NULL, $title = '', $description = '', $points = 0, $content_type = 'download', $hide_awardee = 0, $update_time_hours = 168)
{
$fields = new ocp_tempcode();
$fields->attach(form_input_line(do_lang_tempcode('TITLE'), do_lang_tempcode('DESCRIPTION_TITLE'), 'title', $title, true));
$fields->attach(form_input_text_comcode(do_lang_tempcode('DESCRIPTION'), do_lang_tempcode('DESCRIPTION_DESCRIPTION'), 'description', $description, true));
if (addon_installed('points')) {
$fields->attach(form_input_integer(do_lang_tempcode('POINTS'), do_lang_tempcode('DESCRIPTION_AWARD_POINTS'), 'points', $points, true));
}
$list = new ocp_tempcode();
$_hooks = array();
$hooks = find_all_hooks('systems', 'awards');
foreach (array_keys($hooks) as $hook) {
require_code('hooks/systems/awards/' . $hook);
$hook_object = object_factory('Hook_awards_' . $hook, true);
if (is_null($hook_object)) {
continue;
}
$hook_info = $hook_object->info();
if (!is_null($hook_info)) {
$_hooks[$hook] = $hook_info['title']->evaluate();
}
}
asort($_hooks);
foreach ($_hooks as $hook => $hook_title) {
$list->attach(form_input_list_entry($hook, $hook == $content_type, protect_from_escaping($hook_title)));
}
if ($list->is_empty()) {
inform_exit(do_lang_tempcode('NO_CATEGORIES'));
}
$fields->attach(form_input_list(do_lang_tempcode('CONTENT_TYPE'), do_lang_tempcode('DESCRIPTION_CONTENT_TYPE'), 'content_type', $list));
$fields->attach(form_input_tick(do_lang_tempcode('HIDE_AWARDEE'), do_lang_tempcode('DESCRIPTION_HIDE_AWARDEE'), 'hide_awardee', $hide_awardee == 1));
$fields->attach(form_input_integer(do_lang_tempcode('AWARD_UPDATE_TIME_HOURS'), do_lang_tempcode('DESCRIPTION_AWARD_UPDATE_TIME_HOURS'), 'update_time_hours', $update_time_hours, true));
// Permissions
$fields->attach($this->get_permission_fields(is_null($id) ? NULL : strval($id), do_lang_tempcode('AWARD_PERMISSION_HELP'), false, do_lang_tempcode('GIVE_AWARD')));
return $fields;
}
示例8: edit_zone
/**
* The UI to choose a zone to edit.
*
* @param string The follow-on type
* @param ?tempcode The title to use (NULL: the EDIT_ZONE title)
* @return tempcode The UI
*/
function edit_zone($type = '_edit', $title = NULL)
{
$GLOBALS['HELPER_PANEL_PIC'] = 'pagepics/zones';
$GLOBALS['HELPER_PANEL_TUTORIAL'] = 'tut_structure';
if (is_null($title)) {
$title = get_page_title('EDIT_ZONE');
}
$start = get_param_integer('start', 0);
$max = get_param_integer('max', 50);
$_zones = find_all_zones(false, true, false, $start, $max);
$url_map = array('page' => '_SELF', 'type' => $type);
if ($type == '_editor') {
$url_map['wide'] = 1;
}
require_code('templates_results_table');
$current_ordering = 'name ASC';
if (strpos($current_ordering, ' ') === false) {
warn_exit(do_lang_tempcode('INTERNAL_ERROR'));
}
list($sortable, $sort_order) = explode(' ', $current_ordering, 2);
$sortables = array();
$header_row = results_field_title(array(do_lang_tempcode('NAME'), do_lang_tempcode('TITLE'), do_lang_tempcode('DEFAULT_PAGE'), do_lang_tempcode('THEME'), do_lang_tempcode('DISPLAYED_IN_MENU'), do_lang_tempcode('WIDE'), do_lang_tempcode('REQUIRE_SESSION'), do_lang_tempcode('ACTIONS')), $sortables, 'sort', $sortable . ' ' . $sort_order);
$fields = new ocp_tempcode();
require_code('form_templates');
$max_rows = $GLOBALS['SITE_DB']->query_value('zones', 'COUNT(*)');
foreach ($_zones as $_zone_details) {
list($zone_name, $zone_title, $zone_show_in_menu, $zone_default_page, $remaining_row) = $_zone_details;
$edit_link = build_url($url_map + array('id' => $zone_name), '_SELF');
$fields->attach(results_entry(array(hyperlink(build_url(array('page' => ''), $zone_name), $zone_name == '' ? do_lang_tempcode('NA_EM') : make_string_tempcode(escape_html($zone_name))), $zone_title, $zone_default_page, $remaining_row['zone_theme'] == '-1' ? do_lang_tempcode('NA_EM') : hyperlink(build_url(array('page' => 'admin_themes'), 'adminzone'), escape_html($remaining_row['zone_theme'])), $zone_show_in_menu == 1 ? do_lang_tempcode('YES') : do_lang_tempcode('NO'), $remaining_row['zone_wide'] == 1 ? do_lang_tempcode('YES') : do_lang_tempcode('NO'), $remaining_row['zone_require_session'] == 1 ? do_lang_tempcode('YES') : do_lang_tempcode('NO'), protect_from_escaping(hyperlink($edit_link, do_lang_tempcode('EDIT'), false, true, $zone_name))), true));
}
$table = results_table(do_lang('ZONES'), get_param_integer('start', 0), 'start', either_param_integer('max', 20), 'max', $max_rows, $header_row, $fields, $sortables, $sortable, $sort_order);
breadcrumb_set_parents(array(array('_SELF:_SELF:misc', do_lang_tempcode('ZONES'))));
breadcrumb_set_self(do_lang_tempcode('CHOOSE'));
$text = do_lang_tempcode('CHOOSE_EDIT_LIST');
return do_template('TABLE_TABLE_SCREEN', array('TITLE' => $title, 'TEXT' => $text, 'TABLE' => $table, 'SUBMIT_NAME' => NULL, 'POST_URL' => get_self_url()));
}
示例9: nice_get_choose_table
/**
* Standard aed_module table function.
*
* @param array Details to go to build_url for link to the next screen.
* @return array A pair: The choose table, Whether re-ordering is supported from this screen.
*/
function nice_get_choose_table($url_map)
{
require_code('templates_results_table');
$current_ordering = get_param('sort', 'tag_tag ASC');
if (strpos($current_ordering, ' ') === false) {
warn_exit(do_lang_tempcode('INTERNAL_ERROR'));
}
list($sortable, $sort_order) = explode(' ', $current_ordering, 2);
$sortables = array('tag_tag' => do_lang_tempcode('COMCODE_TAG'), 'tag_title' => do_lang_tempcode('TITLE'), 'tag_dangerous_tag' => do_lang_tempcode('DANGEROUS_TAG'), 'tag_block_tag' => do_lang_tempcode('BLOCK_TAG'), 'tag_textual_tag' => do_lang_tempcode('TEXTUAL_TAG'), 'tag_enabled' => do_lang_tempcode('ENABLED'));
$header_row = results_field_title(array(do_lang_tempcode('COMCODE_TAG'), do_lang_tempcode('TITLE'), do_lang_tempcode('DANGEROUS_TAG'), do_lang_tempcode('BLOCK_TAG'), do_lang_tempcode('TEXTUAL_TAG'), do_lang_tempcode('ENABLED'), do_lang_tempcode('ACTIONS')), $sortables, 'sort', $sortable . ' ' . $sort_order);
if (strtoupper($sort_order) != 'ASC' && strtoupper($sort_order) != 'DESC' || !array_key_exists($sortable, $sortables)) {
log_hack_attack_and_exit('ORDERBY_HACK');
}
global $NON_CANONICAL_PARAMS;
$NON_CANONICAL_PARAMS[] = 'sort';
$fields = new ocp_tempcode();
require_code('form_templates');
list($rows, $max_rows) = $this->get_entry_rows(false, $current_ordering);
foreach ($rows as $row) {
$edit_link = build_url($url_map + array('id' => $row['tag_tag']), '_SELF');
$fields->attach(results_entry(array($row['tag_tag'], get_translated_text($row['tag_title']), $row['tag_dangerous_tag'] == 1 ? do_lang_tempcode('YES') : do_lang_tempcode('NO'), $row['tag_block_tag'] == 1 ? do_lang_tempcode('YES') : do_lang_tempcode('NO'), $row['tag_textual_tag'] == 1 ? do_lang_tempcode('YES') : do_lang_tempcode('NO'), $row['tag_enabled'] == 1 ? do_lang_tempcode('YES') : do_lang_tempcode('NO'), protect_from_escaping(hyperlink($edit_link, do_lang_tempcode('EDIT'), false, true, '#' . $row['tag_tag']))), true));
}
return array(results_table(do_lang($this->menu_label), get_param_integer('start', 0), 'start', either_param_integer('max', 20), 'max', $max_rows, $header_row, $fields, $sortables, $sortable, $sort_order), false);
}
示例10: render_tab
//.........这里部分代码省略.........
$custom_fields[] = array('NAME' => $name, 'RAW_VALUE' => $value, 'VALUE' => $rendered_value, 'ENCRYPTED_VALUE' => $encrypted_value);
if ($name == do_lang('KEYWORDS')) {
$GLOBALS['SEO_KEYWORDS'] = is_object($value) ? $value->evaluate() : $value;
}
if ($name == do_lang('DESCRIPTION')) {
$GLOBALS['SEO_DESCRIPTION'] = is_object($value) ? $value->evaluate() : $value;
}
}
}
// Birthday
$dob = '';
if ($GLOBALS['FORUM_DRIVER']->get_member_row_field($member_id_of, 'm_reveal_age') == 1) {
$day = $GLOBALS['FORUM_DRIVER']->get_member_row_field($member_id_of, 'm_dob_day');
$month = $GLOBALS['FORUM_DRIVER']->get_member_row_field($member_id_of, 'm_dob_month');
$year = $GLOBALS['FORUM_DRIVER']->get_member_row_field($member_id_of, 'm_dob_year');
if (!is_null($day)) {
if (@strftime('%Y', @mktime(0, 0, 0, 1, 1, 1963)) != '1963') {
$dob = strval($year) . '-' . str_pad(strval($month), 2, '0', STR_PAD_LEFT) . '-' . str_pad(strval($day), 2, '0', STR_PAD_LEFT);
} else {
$dob = get_timezoned_date(mktime(12, 0, 0, $month, $day, $year), false, true, true);
}
}
}
// Find forum with most posts
$forums = $GLOBALS['FORUM_DB']->query('SELECT id,f_name FROM ' . $GLOBALS['FORUM_DB']->get_table_prefix() . 'f_forums WHERE f_cache_num_posts>0');
$best_yet_forum = 0;
// Initialise to integer type
$best_yet_forum = NULL;
$most_active_forum = NULL;
$_best_yet_forum = $GLOBALS['FORUM_DB']->query_select('f_posts', array('COUNT(*) as cnt', 'p_cache_forum_id'), array('p_poster' => $member_id_of), 'GROUP BY p_cache_forum_id');
$_best_yet_forum = collapse_2d_complexity('p_cache_forum_id', 'cnt', $_best_yet_forum);
foreach ($forums as $forum) {
if (array_key_exists($forum['id'], $_best_yet_forum) && (is_null($best_yet_forum) || $_best_yet_forum[$forum['id']] > $best_yet_forum)) {
$most_active_forum = has_category_access($member_id_viewing, 'forums', strval($forum['id'])) ? protect_from_escaping(escape_html($forum['f_name'])) : do_lang_tempcode('PROTECTED_FORUM');
$best_yet_forum = $_best_yet_forum[$forum['id']];
}
}
$post_count = $GLOBALS['FORUM_DRIVER']->get_member_row_field($member_id_of, 'm_cache_num_posts');
$best_post_fraction = $post_count == 0 ? do_lang_tempcode('NA_EM') : make_string_tempcode(integer_format(100 * $best_yet_forum / $post_count));
$most_active_forum = is_null($best_yet_forum) ? new ocp_tempcode() : do_lang_tempcode('_MOST_ACTIVE_FORUM', $most_active_forum, make_string_tempcode(integer_format($best_yet_forum)), array($best_post_fraction));
$time_for_them_raw = tz_time(time(), get_users_timezone($member_id_of));
$time_for_them = get_timezoned_time(time(), true, $member_id_of);
$banned = $GLOBALS['FORUM_DRIVER']->get_member_row_field($member_id_of, 'm_is_perm_banned') == 1 ? do_lang_tempcode('YES') : do_lang_tempcode('NO');
$last_submit_time = $GLOBALS['FORUM_DRIVER']->get_member_row_field($member_id_of, 'm_last_submit_time');
$submit_days_ago = intval(floor(floatval(time() - $last_submit_time) / 60.0 / 60.0 / 24.0));
require_code('ocf_groups');
$primary_group_id = ocf_get_member_primary_group($member_id_of);
$primary_group = ocf_get_group_link($primary_group_id);
$signature = get_translated_tempcode($GLOBALS['FORUM_DRIVER']->get_member_row_field($member_id_of, 'm_signature'), $GLOBALS['FORUM_DB']);
$last_visit_time = $GLOBALS['FORUM_DRIVER']->get_member_row_field($member_id_of, 'm_last_visit_time');
if (member_is_online($member_id_of)) {
$online_now = do_lang_tempcode('YES');
$_online_now = true;
} else {
$_online_now = false;
$minutes_ago = intval(floor(floatval(time() - $last_visit_time) / 60.0));
$hours_ago = intval(floor(floatval(time() - $last_visit_time) / 60.0 / 60.0));
$days_ago = intval(floor(floatval(time() - $last_visit_time) / 60.0 / 60.0 / 24.0));
$months_ago = intval(floor(floatval(time() - $last_visit_time) / 60.0 / 60.0 / 24.0 / 31.0));
if ($minutes_ago < 180) {
$online_now = do_lang_tempcode('_ONLINE_NOW_NO_MINUTES', integer_format($minutes_ago));
} elseif ($hours_ago < 72) {
$online_now = do_lang_tempcode('_ONLINE_NOW_NO_HOURS', integer_format($hours_ago));
} elseif ($days_ago < 93) {
$online_now = do_lang_tempcode('_ONLINE_NOW_NO_DAYS', integer_format($days_ago));
} else {
示例11: _array_to_html
/**
* Convert an array to tempcode for display.
*
* @param array Array to display
* @return tempcode Tempcode for array
*/
function _array_to_html($array)
{
//Convert an array to an HTML format
$output = new ocp_tempcode();
$key = mixed();
foreach ($array as $key => $value) {
if (is_array($value)) {
$value = protect_from_escaping($this->_array_to_html($value));
}
$output->attach(do_template('OCCLE_ARRAY_ELEMENT', array('_GUID' => '18c9700c05fbe9c8b45f454376deda05', 'KEY' => is_string($key) ? $key : strval($key), 'VALUE' => is_string($value) ? $value : (is_null($value) ? 'NULL' : (is_object($value) ? $value : strval($value))))));
}
return do_template('OCCLE_ARRAY', array('_GUID' => 'ab75cdb77fa797d2e42185b51e34d857', 'ELEMENTS' => $output));
}
示例12: run
/**
* Standard modular run function.
*
* @param array A map of parameters.
* @return tempcode The result of execution.
*/
function run($map)
{
if (has_no_forum()) {
return new ocp_tempcode();
}
require_css('news');
// Read in variables
$forum_name = array_key_exists('param', $map) ? $map['param'] : 'General chat';
$limit = array_key_exists('limit', $map) ? intval($map['limit']) : 6;
$hot = array_key_exists('hot', $map) ? intval($map['hot']) : 0;
$date_key = array_key_exists('date_key', $map) ? $map['date_key'] : 'lasttime';
if ($date_key != 'lasttime' && $date_key != 'firsttime') {
$date_key = 'firsttime';
}
$username_key = array_key_exists('username_key', $map) ? $map['username_key'] : 'firstusername';
if ($username_key != 'lastusername' && $username_key != 'firstusername') {
$username_key = 'firstusername';
}
$memberid_key = $username_key == 'firstusername' ? 'firstmemberid' : 'lastmemberid';
// Work out exactly what forums we're reading
$forum_ids = array();
if (get_forum_type() == 'ocf' && (strpos($forum_name, ',') !== false || strpos($forum_name, '*') !== false || preg_match('#\\d[-\\*\\+]#', $forum_name) != 0 || is_numeric($forum_name))) {
require_code('ocfiltering');
$forum_names = ocfilter_to_idlist_using_db($forum_name, 'id', 'f_forums', 'f_forums', 'f_parent_forum', 'f_parent_forum', 'id', true, true, $GLOBALS['FORUM_DB']);
} else {
$forum_names = explode(',', $forum_name);
}
foreach ($forum_names as $forum_name) {
if (!is_string($forum_name)) {
$forum_name = strval($forum_name);
}
$forum_name = trim($forum_name);
if ($forum_name == '<announce>') {
$forum_id = NULL;
} else {
$forum_id = is_numeric($forum_name) ? intval($forum_name) : $GLOBALS['FORUM_DRIVER']->forum_id_from_name($forum_name);
}
if (get_forum_type() == 'ocf' && array_key_exists('check', $map) && $map['check'] == '1') {
if (!has_category_access(get_member(), 'forums', strval($forum_id))) {
continue;
}
}
if (!is_null($forum_id)) {
$forum_ids[$forum_id] = $forum_name;
}
}
// Block title
$forum_name = array_key_exists('param', $map) ? $map['param'] : 'General chat';
if (is_numeric($forum_name) && get_forum_type() == 'ocf') {
$forum_name = $GLOBALS['FORUM_DB']->query_value_null_ok('f_forums', 'f_name', array('id' => intval($forum_name)));
if (is_null($forum_name)) {
return paragraph(do_lang_tempcode('MISSING_RESOURCE'));
}
}
$_title = do_lang_tempcode('ACTIVE_TOPICS_IN', escape_html($forum_name));
if (array_key_exists('title', $map) && $map['title'] != '') {
$_title = protect_from_escaping(escape_html($map['title']));
}
// Add topic link
if (count($forum_names) == 1 && get_forum_type() == 'ocf' && !is_null($forum_id)) {
$submit_url = build_url(array('page' => 'topics', 'type' => 'new_topic', 'id' => $forum_id), get_module_zone('topics'));
$add_name = do_lang_tempcode('ADD_TOPIC');
} else {
$submit_url = new ocp_tempcode();
$add_name = new ocp_tempcode();
}
// Show all topics
if (get_forum_type() == 'ocf') {
$forum_names_map = collapse_2d_complexity('id', 'f_name', $GLOBALS['FORUM_DB']->query('SELECT id,f_name FROM ' . $GLOBALS['FORUM_DB']->get_table_prefix() . 'f_forums WHERE f_cache_num_posts>0'));
} else {
$forum_names_map = NULL;
}
if (!has_no_forum()) {
$max_rows = 0;
$topics = $GLOBALS['FORUM_DRIVER']->show_forum_topics($forum_ids, $limit, 0, $max_rows, '', true, $date_key, $hot == 1);
$out = new ocp_tempcode();
if (!is_null($topics)) {
global $M_SORT_KEY;
$M_SORT_KEY = $date_key;
usort($topics, 'multi_sort');
$topics = array_reverse($topics, false);
if (count($topics) < $limit && $hot == 1) {
$more_topics = $GLOBALS['FORUM_DRIVER']->show_forum_topics($forum_ids, $limit, 0, $max_rows, '', true, $date_key);
if (is_null($more_topics)) {
$more_topics = array();
}
$topics = array_merge($topics, $more_topics);
}
$done = 0;
$seen = array();
foreach ($topics as $topic) {
if (array_key_exists($topic['id'], $seen)) {
continue;
}
//.........这里部分代码省略.........
示例13: do_staff_member
/**
* The UI to view a staff member.
*
* @return tempcode The UI
*/
function do_staff_member()
{
require_code('obfuscate');
$username = get_param('id');
breadcrumb_set_parents(array(array('_SELF:_SELF:misc', do_lang_tempcode('STAFF_TITLE', escape_html(get_site_name())))));
$row_staff = $GLOBALS['FORUM_DRIVER']->pget_row($username);
if (is_null($row_staff)) {
warn_exit(do_lang_tempcode('MISSING_RESOURCE'));
}
$id = $GLOBALS['FORUM_DRIVER']->pname_id($row_staff);
$title = get_page_title('_STAFF', true, array(escape_html($username)));
$_real_name = get_ocp_cpf('fullname', $id);
if ($_real_name == '') {
$real_name = do_lang_tempcode('_UNKNOWN');
// Null should not happen, but sometimes things corrupt
} else {
$real_name = protect_from_escaping(escape_html($_real_name));
}
$_role = get_ocp_cpf('role', $id);
if ($_role == '') {
$role = do_lang_tempcode('_UNKNOWN');
// Null should not happen, but sometimes things corrupt
} else {
require_code('comcode_text');
$role = make_string_tempcode(apply_emoticons($_role));
}
$email_address = obfuscate_email_address($GLOBALS['FORUM_DRIVER']->pname_email($row_staff));
$name = $GLOBALS['FORUM_DRIVER']->pname_name($row_staff);
$profile_url = $GLOBALS['FORUM_DRIVER']->member_profile_url($id, false, true);
$all_link = build_url(array('page' => '_SELF', 'type' => 'misc'), '_SELF');
return do_template('STAFF_SCREEN', array('_GUID' => 'fd149466f16722fcbcef0fba5685a895', 'TITLE' => $title, 'REAL_NAME' => $real_name, 'ROLE' => $role, 'ADDRESS' => $email_address, 'NAME' => $name, 'MEMBER_ID' => strval($id), 'PROFILE_URL' => $profile_url, 'ALL_LINK' => $all_link));
}
示例14: absorb
/**
* The UI to absorb usergroup permissions.
*
* @return tempcode The UI
*/
function absorb()
{
require_lang('security');
$title = get_page_title('ABSORB_PERMISSIONS');
$GLOBALS['HELPER_PANEL_PIC'] = 'pagepics/privileges';
$GLOBALS['HELPER_PANEL_TUTORIAL'] = 'tut_permissions';
$groups_without = array();
$all_groups = $GLOBALS['FORUM_DRIVER']->get_usergroup_list(false, true);
$list1 = new ocp_tempcode();
$list2 = new ocp_tempcode();
$admin_groups = $GLOBALS['FORUM_DRIVER']->get_super_admin_groups();
$moderator_groups = $GLOBALS['FORUM_DRIVER']->get_moderator_groups();
foreach ($all_groups as $id => $name) {
if (in_array($id, $admin_groups)) {
continue;
}
$test = $GLOBALS['SITE_DB']->query_value_null_ok('gsp', 'group_id', array('group_id' => $id));
if (is_null($test)) {
$groups_without[$id] = $name;
}
$list1->attach(form_input_list_entry($id, is_null($test), $name));
$list2->attach(form_input_list_entry($id, !is_null($test) && !in_array($id, $moderator_groups), $name));
}
$__groups_without = escape_html(implode(', ', $groups_without));
if ($__groups_without == '') {
$_groups_without = do_lang_tempcode('NONE_EM');
} else {
$_groups_without = protect_from_escaping($__groups_without);
}
$text = do_lang_tempcode('USERGROUPS_WITH_NO_PERMISSIONS', $_groups_without);
$submit_name = do_lang_tempcode('ABSORB_PERMISSIONS');
$post_url = build_url(array('page' => '_SELF', 'type' => '_absorb'), '_SELF');
require_code('form_templates');
$fields = new ocp_tempcode();
$fields->attach(form_input_list(do_lang_tempcode('FROM'), do_lang_tempcode('PERMISSIONS_FROM'), 'from', $list1));
$fields->attach(form_input_list(do_lang_tempcode('TO'), do_lang_tempcode('PERMISSIONS_TO'), 'to', $list2));
return do_template('FORM_SCREEN', array('_GUID' => '9e20011006a26b240fc898279338875c', 'SKIP_VALIDATION' => true, 'TITLE' => $title, 'HIDDEN' => '', 'FIELDS' => $fields, 'TEXT' => $text, 'SUBMIT_NAME' => $submit_name, 'URL' => $post_url));
}
示例15: nice_get_choose_table
/**
* Standard aed_module table function.
*
* @param array Details to go to build_url for link to the next screen.
* @return array A pair: The choose table, Whether re-ordering is supported from this screen.
*/
function nice_get_choose_table($url_map)
{
require_code('templates_results_table');
$current_ordering = get_param('sort', 'title ASC', true);
list($sortable, $sort_order) = array(substr($current_ordering, 0, strrpos($current_ordering, ' ')), substr($current_ordering, strrpos($current_ordering, ' ') + 1));
$sortables = array('title' => do_lang_tempcode('TITLE'));
if (db_has_subqueries($GLOBALS['SITE_DB']->connection_read)) {
$sortables['(SELECT COUNT(*) FROM ' . get_table_prefix() . 'newsletter n JOIN ' . get_table_prefix() . 'newsletter_subscribe s ON n.id=s.newsletter_id WHERE code_confirm=0)'] = do_lang_tempcode('COUNT_MEMBERS');
}
if (strtoupper($sort_order) != 'ASC' && strtoupper($sort_order) != 'DESC' || !array_key_exists($sortable, $sortables)) {
log_hack_attack_and_exit('ORDERBY_HACK');
}
global $NON_CANONICAL_PARAMS;
$NON_CANONICAL_PARAMS[] = 'sort';
$header_row = results_field_title(array(do_lang_tempcode('TITLE'), do_lang_tempcode('COUNT_MEMBERS'), do_lang_tempcode('ACTIONS')), $sortables, 'sort', $sortable . ' ' . $sort_order);
$fields = new ocp_tempcode();
require_code('form_templates');
list($rows, $max_rows) = $this->get_entry_rows(false, $current_ordering);
foreach ($rows as $row) {
$edit_link = build_url($url_map + array('id' => $row['id']), '_SELF');
$num_readers = $GLOBALS['SITE_DB']->query_value('newsletter n JOIN ' . get_table_prefix() . 'newsletter_subscribe s ON n.id=s.newsletter_id', 'COUNT(*)', array('code_confirm' => 0));
$fields->attach(results_entry(array(get_translated_text($row['title']), integer_format($num_readers), protect_from_escaping(hyperlink($edit_link, do_lang_tempcode('EDIT'), false, true, '#' . strval($row['id'])))), true));
}
return array(results_table(do_lang($this->menu_label), get_param_integer('start', 0), 'start', either_param_integer('max', 20), 'max', $max_rows, $header_row, $fields, $sortables, $sortable, $sort_order), false);
}