本文整理汇总了PHP中ocp_tempcode类的典型用法代码示例。如果您正苦于以下问题:PHP ocp_tempcode类的具体用法?PHP ocp_tempcode怎么用?PHP ocp_tempcode使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了ocp_tempcode类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: render_tab
/**
* Standard modular render function for profile tab hooks.
*
* @param MEMBER The ID of the member who is being viewed
* @param MEMBER The ID of the member who is doing the viewing
* @param boolean Whether to leave the tab contents NULL, if tis hook supports it, so that AJAX can load it later
* @return array A triple: The tab title, the tab contents, the suggested tab order
*/
function render_tab($member_id_of, $member_id_viewing, $leave_to_ajax_if_possible = false)
{
$title = do_lang_tempcode('MODULE_TRANS_NAME_warnings');
$order = 80;
if ($leave_to_ajax_if_possible) {
return array($title, NULL, $order);
}
require_lang('ocf');
require_css('ocf');
$warnings = new ocp_tempcode();
$rows = $GLOBALS['FORUM_DB']->query_select('f_warnings', array('*'), array('w_member_id' => $member_id_of, 'w_is_warning' => 1));
foreach ($rows as $row) {
$warning_by = $GLOBALS['FORUM_DRIVER']->member_profile_hyperlink($row['w_by']);
$date = get_timezoned_date($row['w_time']);
if ($row['w_explanation'] == '') {
$row['w_explanation'] = '?';
} else {
$row['w_explanation'] = str_replace(chr(10), ' ', $row['w_explanation']);
}
$row['w_explanation_orig'] = $row['w_explanation'];
if (strlen($row['w_explanation']) > 30) {
$row['w_explanation'] = substr($row['w_explanation'], 0, 27) . '...';
}
$explanation = hyperlink(build_url(array('page' => 'warnings', 'type' => '_ed', 'id' => $row['id'], 'redirect' => get_self_url(true)), get_module_zone('warnings')), $row['w_explanation'], false, true, $row['w_explanation_orig']);
$warnings->attach(paragraph(do_lang_tempcode('MEMBER_WARNING', $explanation, $warning_by, array(make_string_tempcode(escape_html($date)))), 'treyerhy34y'));
}
$content = do_template('OCF_MEMBER_PROFILE_WARNINGS', array('MEMBER_ID' => strval($member_id_of), 'WARNINGS' => $warnings));
return array($title, $content, $order);
}
示例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: get_page_warning_details
/**
* A page is not validated, so show a warning.
*
* @param ID_TEXT The zone the page is being loaded from
* @param ID_TEXT The codename of the page
* @param tempcode The edit URL (blank if no edit access)
* @return tempcode The warning
*/
function get_page_warning_details($zone, $codename, $edit_url)
{
$warning_details = new ocp_tempcode();
if (!has_specific_permission(get_member(), 'jump_to_unvalidated')) {
access_denied('SPECIFIC_PERMISSION', 'jump_to_unvalidated');
}
$uv_warning = do_lang_tempcode(get_param_integer('redirected', 0) == 1 ? 'UNVALIDATED_TEXT_NON_DIRECT' : 'UNVALIDATED_TEXT');
// Wear sun cream
if (!$edit_url->is_empty()) {
$menu_links = $GLOBALS['SITE_DB']->query('SELECT DISTINCT i_menu FROM ' . get_table_prefix() . 'menu_items WHERE ' . db_string_equal_to('i_url', $zone . ':' . $codename) . ' OR ' . db_string_equal_to('i_url', '_SEARCH:' . $codename));
if (count($menu_links) != 0) {
$menu_items_linking = new ocp_tempcode();
foreach ($menu_links as $menu_link) {
if (!$menu_items_linking->is_empty()) {
$menu_items_linking->attach(do_lang_tempcode('LIST_SEP'));
}
$menu_edit_url = build_url(array('page' => 'admin_menus', 'type' => 'edit', 'id' => $menu_link['i_menu']), get_module_zone('admin_menus'));
$menu_items_linking->attach(hyperlink($menu_edit_url, $menu_link['i_menu'], false, true));
}
$uv_warning = do_lang_tempcode('UNVALIDATED_TEXT_STAFF', $menu_items_linking);
}
}
$warning_details->attach(do_template('WARNING_TABLE', array('WARNING' => $uv_warning)));
return $warning_details;
}
示例4: do_netlink
/**
* Get a netlink block / direct to a netlink site.
*
* @param URLPATH The URL we grab our netlink from. If this is not blank, instead of getting a netlink block, we direct to a netlink site.
* @return tempcode The netlink block
*/
function do_netlink($redir_url = '')
{
header('Content-type: text/plain; charset=' . get_charset());
// If we are redirecting
if ($redir_url != '') {
if (strpos($redir_url, chr(10)) !== false || strpos($redir_url, chr(13)) !== false) {
log_hack_attack_and_exit('HEADER_SPLIT_HACK');
}
header('Location: ' . $redir_url);
exit;
}
// Ok we're displaying a netlink, which will be dumped right into the body of the reading site
// - this isn't actually a weburl that is actually displayed, its loaded by ocPortal and embedded-inline
// For all the names in our network
require_code('textfiles');
$lines = explode(chr(10), read_text_file('netlink', NULL, true));
if (count($lines) == 0) {
return new ocp_tempcode();
}
$content = new ocp_tempcode();
foreach ($lines as $line) {
$parts = explode('=', $line, 2);
if (count($parts) != 2) {
continue;
}
$name = rtrim($parts[0]);
$url = trim($parts[1]);
// Are we looking at the source site in the network?
$selected = strtolower($url) == strtolower(get_param('source', ''));
$content->attach(form_input_list_entry(base64_encode($url), $selected, $name));
}
return do_template('NETLINK', array('_GUID' => '180321222dc5dc99a231597c803f0726', 'CONTENT' => $content));
}
示例5: run
/**
* Standard modular run function.
*
* @return tempcode The result of execution.
*/
function run()
{
require_lang('leader_board');
require_code('points');
require_css('points');
$title = get_page_title('POINT_LEADERBOARD');
$start_date = intval(get_option('leaderboard_start_date'));
$weeks = $GLOBALS['SITE_DB']->query('SELECT DISTINCT date_and_time FROM ' . $GLOBALS['SITE_DB']->get_table_prefix() . 'leader_board WHERE date_and_time>=' . strval($start_date) . ' ORDER BY date_and_time DESC');
if (count($weeks) == 0) {
warn_exit(do_lang_tempcode('NO_ENTRIES'));
}
$first_week = $weeks[count($weeks) - 1]['date_and_time'];
$weeks = collapse_1d_complexity('date_and_time', $weeks);
$out = new ocp_tempcode();
foreach ($weeks as $week) {
$rows = collapse_2d_complexity('lb_member', 'lb_points', $GLOBALS['SITE_DB']->query_select('leader_board', array('lb_member', 'lb_points'), array('date_and_time' => $week)));
$week_tpl = new ocp_tempcode();
foreach ($rows as $member => $points) {
$points_url = build_url(array('page' => 'points', 'type' => 'member', 'id' => $member), get_module_zone('points'));
$profile_url = $GLOBALS['FORUM_DRIVER']->member_profile_url($member, false, true);
$name = $GLOBALS['FORUM_DRIVER']->get_username($member);
if (is_null($name)) {
$name = do_lang('UNKNOWN');
}
$week_tpl->attach(do_template('POINTS_LEADERBOARD_ROW', array('_GUID' => '6d323b4b5abea0e82a14cb4745c4af4f', 'POINTS_URL' => $points_url, 'PROFILE_URL' => $profile_url, 'POINTS' => integer_format($points), 'NAME' => $name, 'ID' => strval($member))));
}
$nice_week = intval(($week - $first_week) / (7 * 24 * 60 * 60) + 1);
$out->attach(do_template('POINTS_LEADERBOARD_WEEK', array('_GUID' => '3a0f71bf20f9098e5711e85cf25f6549', 'WEEK' => integer_format($nice_week), 'ROWS' => $week_tpl)));
}
return do_template('POINTS_LEADERBOARD_SCREEN', array('_GUID' => 'bab5f7b661435b83800532d3eebd0d54', 'TITLE' => $title, 'WEEKS' => $out));
}
示例6: action
/**
* Standard interface stage of pointstore item purchase.
*
* @return tempcode The UI
*/
function action()
{
$class = str_replace('hook_pointstore_', '', strtolower(get_class($this)));
if (get_option('is_on_' . $class . '_buy') == '0') {
return new ocp_tempcode();
}
$title = get_page_title('TOPIC_PINNING');
$cost = intval(get_option($class));
$next_url = build_url(array('page' => '_SELF', 'type' => 'action_done', 'id' => $class), '_SELF');
$points_left = available_points(get_member());
// Check points
if ($points_left < $cost && !has_specific_permission(get_member(), 'give_points_self')) {
return warn_screen($title, do_lang_tempcode('_CANT_AFFORD', integer_format($cost), integer_format($points_left)));
}
require_code('form_templates');
$fields = new ocp_tempcode();
if (get_forum_type() == 'ocf') {
$fields->attach(form_input_tree_list(do_lang_tempcode('FORUM_TOPIC'), '', 'select_topic_id', NULL, 'choose_forum_topic', array(), false));
$fields->attach(form_input_integer(do_lang_tempcode('ALT_FIELD', do_lang_tempcode('FORUM_TOPIC')), do_lang_tempcode('DESCRIPTION_FORUM_TOPIC_ID'), 'manual_topic_id', NULL, false));
} else {
$fields->attach(form_input_integer(do_lang_tempcode('FORUM_TOPIC'), do_lang_tempcode('ENTER_TOPIC_ID_MANUALLY'), 'manual_topic_id', NULL, false));
}
$text = do_lang_tempcode('PIN_TOPIC_A', integer_format($cost), integer_format($points_left - $cost));
return do_template('FORM_SCREEN', array('_GUID' => '8cabf882d5cbe4d354cc6efbcf92ebf9', 'TITLE' => $title, 'TEXT' => $text, 'URL' => $next_url, 'FIELDS' => $fields, 'HIDDEN' => '', 'SUBMIT_NAME' => do_lang_tempcode('PURCHASE'), 'JAVASCRIPT' => 'standardAlternateFields(\'select_topic_id\',\'manual_topic_id\');'));
}
示例7: _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;
}
示例8: run
/**
* Standard modular run function.
*
* @param array A map of parameters.
* @return tempcode The result of execution.
*/
function run($map)
{
require_lang('news');
$categories = $GLOBALS['SITE_DB']->query_select('news_categories', array('*'), array('nc_owner' => NULL));
$content = new ocp_tempcode();
$categories2 = array();
foreach ($categories as $category) {
if (has_category_access(get_member(), 'news', strval($category['id']))) {
$join = ' LEFT JOIN ' . get_table_prefix() . 'news_category_entries d ON d.news_entry=p.id';
$count = $GLOBALS['SITE_DB']->query_value_null_ok_full('SELECT COUNT(*) FROM ' . get_table_prefix() . 'news p' . $join . ' WHERE validated=1 AND (news_entry_category=' . strval($category['id']) . ' OR news_category=' . strval($category['id']) . ') ORDER BY date_and_time DESC');
if ($count > 0) {
$category['_nc_title'] = get_translated_text($category['nc_title']);
$categories2[] = $category;
}
}
}
if (count($categories2) == 0) {
global $M_SORT_KEY;
$M_SORT_KEY = '_nc_title';
usort($categories2, 'multi_sort');
foreach ($categories as $category) {
if (has_category_access(get_member(), 'news', strval($category['id']))) {
$categories2[] = $category;
}
}
}
foreach ($categories2 as $category) {
$url = build_url(array('page' => 'news', 'type' => 'misc', 'id' => $category['id']), get_module_zone('news'));
$name = $category['_nc_title'];
$content->attach(do_template('BLOCK_SIDE_NEWS_CATEGORIES_CATEGORY', array('_GUID' => 'fee49cac370ec00fc59d2e9c66b6255a', 'URL' => $url, 'NAME' => $name, 'COUNT' => integer_format($count))));
}
return do_template('BLOCK_SIDE_NEWS_CATEGORIES', array('_GUID' => 'b47a0047247096373e5aa626348c4ebb', 'CONTENT' => $content, 'PRE' => '', 'POST' => ''));
}
示例9: run
/**
* Standard modular run function.
*
* @param array A map of parameters.
* @return tempcode The result of execution.
*/
function run($map)
{
unset($map);
require_lang('custom_comcode');
$tags = array();
$wmap = array('tag_enabled' => 1);
if (!has_specific_permission(get_member(), 'comcode_dangerous')) {
$wmap['tag_dangerous_tag'] = 0;
}
$tags = array_merge($tags, $GLOBALS['SITE_DB']->query_select('custom_comcode', array('tag_title', 'tag_description', 'tag_example', 'tag_parameters', 'tag_replace', 'tag_tag', 'tag_dangerous_tag', 'tag_block_tag', 'tag_textual_tag'), $wmap));
if (isset($GLOBALS['FORUM_DB']) && $GLOBALS['FORUM_DB']->connection_write != $GLOBALS['SITE_DB']->connection_write && get_forum_type() == 'ocf') {
$tags = array_merge($tags, $GLOBALS['FORUM_DB']->query_select('custom_comcode', array('tag_title', 'tag_description', 'tag_example', 'tag_parameters', 'tag_replace', 'tag_tag', 'tag_dangerous_tag', 'tag_block_tag', 'tag_textual_tag'), $wmap));
}
// From Comcode hooks
$hooks = find_all_hooks('systems', 'comcode');
foreach (array_keys($hooks) as $hook) {
require_code('hooks/systems/comcode/' . filter_naughty_harsh($hook));
$object = object_factory('Hook_comcode_' . filter_naughty_harsh($hook), true);
$tags[] = $object->get_tag();
}
if (!array_key_exists(0, $tags)) {
return paragraph(do_lang_tempcode('NONE_EM'), '', 'nothing_here');
}
$content = new ocp_tempcode();
foreach ($tags as $tag) {
$content->attach(do_template('CUSTOM_COMCODE_TAG_ROW', array('_GUID' => '28c257f5d0c596aa828fd9556b0df4a9', 'TITLE' => is_string($tag['tag_title']) ? $tag['tag_title'] : get_translated_text($tag['tag_title']), 'DESCRIPTION' => is_string($tag['tag_description']) ? $tag['tag_description'] : get_translated_text($tag['tag_description']), 'EXAMPLE' => $tag['tag_example'])));
}
return do_template('BLOCK_MAIN_CUSTOM_COMCODE_TAGS', array('_GUID' => 'b8d3436e6e5fe679ae9b0a368e607610', 'TAGS' => $content));
}
示例10: run
/**
* Standard modular run function for RSS hooks.
*
* @param string A list of categories we accept from
* @param TIME Cutoff time, before which we do not show results from
* @param string Prefix that represents the template set we use
* @set RSS_ ATOM_
* @param string The standard format of date to use for the syndication type represented in the prefix
* @param integer The maximum number of entries to return, ordering by date
* @return ?array A pair: The main syndication section, and a title (NULL: error)
*/
function run($_filters, $cutoff, $prefix, $date_string, $max)
{
if (!addon_installed('news')) {
return NULL;
}
if (!has_actual_page_access(get_member(), 'news')) {
return NULL;
}
$filters_1 = ocfilter_to_sqlfragment($_filters, 'p.news_category', 'news_categories', NULL, 'p.news_category', '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)
$filters_2 = ocfilter_to_sqlfragment($_filters, 'd.news_entry_category', 'news_categories', NULL, 'd.news_category', '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)
$filters = '(' . $filters_1 . ' OR ' . $filters_2 . ')';
$rows = $GLOBALS['SITE_DB']->query('SELECT * FROM ' . $GLOBALS['SITE_DB']->get_table_prefix() . 'news p LEFT JOIN ' . get_table_prefix() . 'news_category_entries d ON d.news_entry=p.id WHERE date_and_time>' . strval($cutoff) . (!has_specific_permission(get_member(), 'see_unvalidated') ? ' AND validated=1 ' : '') . ' AND ' . $filters . (can_arbitrary_groupby() ? ' GROUP BY p.id' : '') . ' ORDER BY date_and_time DESC', $max);
$rows = remove_duplicate_rows($rows, 'id');
$_categories = $GLOBALS['SITE_DB']->query_select('news_categories', array('id', 'nc_title'), array('nc_owner' => NULL));
foreach ($_categories as $i => $_category) {
$_categories[$i]['text_original'] = get_translated_text($_category['nc_title']);
}
$categories = collapse_2d_complexity('id', 'text_original', $_categories);
$content = new ocp_tempcode();
foreach ($rows as $row) {
if (has_category_access(get_member(), 'news', strval($row['news_category']))) {
$id = strval($row['id']);
$author = $row['author'];
$news_date = date($date_string, $row['date_and_time']);
$edit_date = is_null($row['edit_date']) ? '' : date($date_string, $row['edit_date']);
$_title = get_translated_tempcode($row['title']);
$news_title = xmlentities($_title->evaluate());
$_summary = get_translated_tempcode($row['news']);
if ($_summary->is_empty()) {
$_summary = get_translated_tempcode($row['news_article']);
}
$summary = xmlentities($_summary->evaluate());
if (!is_null($row['news_article'])) {
$_news = get_translated_tempcode($row['news_article']);
if ($_news->is_empty()) {
$news = '';
} else {
$news = xmlentities($_news->evaluate());
}
} else {
$news = '';
}
if (!array_key_exists($row['news_category'], $categories)) {
$categories[$row['news_category']] = get_translated_text($GLOBALS['SITE_DB']->query_value('news_categories', 'nc_title', array('id' => $row['news_category'])));
}
$category = $categories[$row['news_category']];
$category_raw = strval($row['news_category']);
$view_url = build_url(array('page' => 'news', 'type' => 'view', 'id' => $row['id']), get_module_zone('news'), NULL, false, false, true);
if ($prefix == 'RSS_' && get_option('is_on_comments') == '1' && $row['allow_comments'] >= 1) {
$if_comments = do_template('RSS_ENTRY_COMMENTS', array('_GUID' => 'b4f25f5cf68304f8d402bb06851489d6', 'COMMENT_URL' => $view_url, 'ID' => strval($row['id'])));
} else {
$if_comments = new ocp_tempcode();
}
$content->attach(do_template($prefix . 'ENTRY', array('VIEW_URL' => $view_url, 'SUMMARY' => $summary, 'EDIT_DATE' => $edit_date, 'IF_COMMENTS' => $if_comments, 'TITLE' => $news_title, 'CATEGORY_RAW' => $category_raw, 'CATEGORY' => $category, 'AUTHOR' => $author, 'ID' => $id, 'NEWS' => $news, 'DATE' => $news_date)));
}
}
return array($content, do_lang('NEWS'));
}
示例11: action
/**
* Standard interface stage of pointstore item purchase.
*
* @return tempcode The UI
*/
function action()
{
require_code('database_action');
$class = str_replace('hook_pointstore_', '', strtolower(get_class($this)));
//if (get_option('is_on_'.$class.'_buy')=='0') return new ocp_tempcode();
$tablename_exists = $GLOBALS['SITE_DB']->table_exists('bank');
if (!$tablename_exists) {
$GLOBALS['SITE_DB']->create_table('bank', array('id' => '*AUTO', 'user_id' => 'INTEGER', 'amount' => 'INTEGER', 'divident' => 'INTEGER', 'add_time' => '?TIME'));
}
$_bank_dividend = get_option('bank_divident', true);
if (is_null($_bank_dividend)) {
//add option and default value
add_config_option('BANK_DIVIDEND', 'bank_divident', 'integer', 'return \'40\';', 'POINTSTORE', 'BANKING');
// TODO: Fix spelling
// IDEA: Make 30 days a config option too, or even have multiple products?
// IDEA: Send email saying bank returned money?
// IDEA: Have the bank do marketing to people? http://ocportal.com/forum/topicview/misc/addons/ocbank_4.htm?redirected=1#post_87711
$bank_dividend = 4;
} else {
$bank_dividend = intval($_bank_dividend);
}
$title = get_page_title('BANKING');
$points_left = available_points(get_member());
$next_url = build_url(array('page' => '_SELF', 'type' => 'action_done', 'id' => $class), '_SELF');
// Check points
if ($points_left < 0 && !has_specific_permission(get_member(), 'give_points_self')) {
return warn_screen($title, do_lang_tempcode('_CANT_AFFORD_BANK'));
}
require_code('form_templates');
$fields = new ocp_tempcode();
$fields->attach(form_input_integer(do_lang_tempcode('AMOUNT'), do_lang_tempcode('DESCRIPTION_BANK_AMOUNT', integer_format($points_left)), 'amount', $points_left, true));
$text = do_lang_tempcode('BANK_A', integer_format($points_left));
return do_template('FORM_SCREEN', array('_GUID' => 'ae703225db618f2bc938290fbae4d6d8', 'TITLE' => $title, 'TEXT' => $text, 'URL' => $next_url, 'FIELDS' => $fields, 'HIDDEN' => '', 'SUBMIT_NAME' => do_lang_tempcode('PROCEED')));
}
示例12: run
/**
* Standard modular run function for newsletter hooks.
*
* @param TIME The time that the entries found must be newer than
* @param LANGUAGE_NAME The language the entries found must be in
* @param string Category filter to apply
* @param BINARY Whether to use full article instead of summary
* @return array Tuple of result details
*/
function run($cutoff_time, $lang, $filter, $in_full = 1)
{
if (!addon_installed('news')) {
return array();
}
require_lang('news');
$new = new ocp_tempcode();
require_code('ocfiltering');
$or_list = ocfilter_to_sqlfragment($filter, 'news_category');
$or_list_2 = ocfilter_to_sqlfragment($filter, 'news_entry_category');
$rows = $GLOBALS['SITE_DB']->query('SELECT title,news,news_article,id,date_and_time,submitter FROM ' . get_table_prefix() . 'news LEFT JOIN ' . get_table_prefix() . 'news_category_entries ON news_entry=id WHERE validated=1 AND date_and_time>' . strval((int) $cutoff_time) . ' AND ((' . $or_list . ') OR (' . $or_list_2 . ')) ORDER BY date_and_time DESC', 300);
if (count($rows) == 300) {
return array();
}
$rows = remove_duplicate_rows($rows, 'id');
foreach ($rows as $row) {
$_url = build_url(array('page' => 'news', 'type' => 'view', 'id' => $row['id']), get_module_zone('news'), NULL, false, false, true);
$url = $_url->evaluate();
$name = get_translated_text($row['title'], NULL, $lang);
$description = get_translated_text($row[$in_full == 1 ? 'news_article' : 'news'], NULL, $lang);
if ($description == '') {
$description = get_translated_text($row[$in_full == 1 ? 'news' : 'news_article'], NULL, $lang);
}
$member_id = is_guest($row['submitter']) ? NULL : strval($row['submitter']);
$new->attach(do_template('NEWSLETTER_NEW_RESOURCE_FCOMCODE', array('_GUID' => '4eaf5ec00db1f0b89cef5120c2486521', 'MEMBER_ID' => $member_id, 'URL' => $url, 'NAME' => $name, 'DESCRIPTION' => $description)));
}
return array($new, do_lang('NEWS', '', '', '', $lang));
}
示例13: run
/**
* Standard modular run function.
*
* @return tempcode Results
*/
function run()
{
$out = new ocp_tempcode();
$tables = $GLOBALS['SITE_DB']->query_select('db_meta', array('DISTINCT m_table'));
if (count($GLOBALS['SITE_DB']->connection_write) > 4) {
$GLOBALS['SITE_DB']->connection_write = call_user_func_array(array($GLOBALS['SITE_DB']->static_ob, 'db_get_connection'), $GLOBALS['SITE_DB']->connection_write);
_general_db_init();
}
list($db, $db_name) = $GLOBALS['SITE_DB']->connection_write;
mysql_select_db($db_name, $db);
foreach ($tables as $table) {
if ($table['m_table'] == 'sessions') {
continue;
}
// HEAP, so can't be repaired
$table = get_table_prefix() . $table['m_table'];
// Check/Repair
$result = mysql_query('CHECK TABLE ' . $table . ' FAST', $db);
echo mysql_error($db);
mysql_data_seek($result, mysql_num_rows($result) - 1);
$status_row = mysql_fetch_assoc($result);
if ($status_row['Msg_type'] != 'status') {
$out->attach(paragraph(do_lang_tempcode('TABLE_ERROR', escape_html($table), escape_html($status_row['Msg_type']), array(escape_html($status_row['Msg_text']))), 'dfsdgdsgfgd'));
$result2 = mysql_query('REPAIR TABLE ' . $table, $db);
mysql_data_seek($result2, mysql_num_rows($result2) - 1);
$status_row_2 = mysql_fetch_assoc($result2);
$out->attach(paragraph(do_lang_tempcode('TABLE_FIXED', escape_html($table), escape_html($status_row_2['Msg_type']), array(escape_html($status_row_2['Msg_text']))), 'dfsdfgdst4'));
}
// Optimise
mysql_unbuffered_query('OPTIMIZE TABLE ' . $table, $db);
}
return $out;
}
示例14: run
/**
* Standard modular run function for RSS hooks.
*
* @param string A list of categories we accept from
* @param TIME Cutoff time, before which we do not show results from
* @param string Prefix that represents the template set we use
* @set RSS_ ATOM_
* @param string The standard format of date to use for the syndication type represented in the prefix
* @param integer The maximum number of entries to return, ordering by date
* @return ?array A pair: The main syndication section, and a title (NULL: error)
*/
function run($_filters, $cutoff, $prefix, $date_string, $max)
{
if (!has_actual_page_access(get_member(), 'members')) {
return NULL;
}
$rows = $GLOBALS['FORUM_DB']->query('SELECT * FROM ' . $GLOBALS['SITE_DB']->get_table_prefix() . 'f_members p WHERE m_join_time>' . strval($cutoff) . (!has_specific_permission(get_member(), 'see_unvalidated') ? ' AND m_validated=1 AND m_validated_email_confirm_code=\'\' ' : '') . ' ORDER BY m_join_time DESC', $max);
$categories = $GLOBALS['FORUM_DRIVER']->get_usergroup_list(true);
$content = new ocp_tempcode();
foreach ($rows as $row) {
$id = strval($row['id']);
$author = '';
$news_date = date($date_string, $row['m_join_time']);
$edit_date = '';
$news_title = xmlentities($row['m_username']);
$summary = '';
$news = '';
$category = array_key_exists($row['m_primary_group'], $categories) ? $categories[$row['m_primary_group']] : '';
$category_raw = strval($row['m_primary_group']);
$view_url = build_url(array('page' => 'members', 'type' => 'view', 'id' => $row['id']), get_module_zone('members'), NULL, false, false, true);
$if_comments = new ocp_tempcode();
$content->attach(do_template($prefix . 'ENTRY', array('VIEW_URL' => $view_url, 'SUMMARY' => $summary, 'EDIT_DATE' => $edit_date, 'IF_COMMENTS' => $if_comments, 'TITLE' => $news_title, 'CATEGORY_RAW' => $category_raw, 'CATEGORY' => $category, 'AUTHOR' => $author, 'ID' => $id, 'NEWS' => $news, 'DATE' => $news_date)));
}
require_lang('ocf');
return array($content, do_lang('MEMBERS'));
}
示例15: _build_keep_form_fields
/**
* Get hidden fields for a form representing 'keep_x'. If we are having a GET form instead of a POST form, we need to do this. This function also encodes the page name, as we'll always want that.
*
* @param ID_TEXT The page for the form to go to (blank: don't attach)
* @param boolean Whether to keep all elements of the current URL represented in this form (rather than just the keep_ fields, and page)
* @param ?array A list of parameters to exclude (NULL: don't exclude any)
* @return tempcode The builtup hidden form fields
*/
function _build_keep_form_fields($page = '', $keep_all = false, $exclude = NULL)
{
if (is_null($exclude)) {
$exclude = array();
}
if ($page == '_SELF') {
$page = get_page_name();
}
$out = new ocp_tempcode();
if (count($_GET) > 0) {
foreach ($_GET as $key => $val) {
if (!is_string($val)) {
continue;
}
if (get_magic_quotes_gpc()) {
$val = stripslashes($val);
}
if ((substr($key, 0, 5) == 'keep_' || $keep_all) && !in_array($key, $exclude) && $key != 'page' && !skippable_keep($key, $val)) {
$out->attach(form_input_hidden($key, $val));
}
}
}
if ($page != '') {
$out->attach(form_input_hidden('page', $page));
}
return $out;
}