本文整理汇总了PHP中url_is_local函数的典型用法代码示例。如果您正苦于以下问题:PHP url_is_local函数的具体用法?PHP url_is_local怎么用?PHP url_is_local使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了url_is_local函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。
示例1: run
/**
* Standard modular run function.
*
* @return tempcode Results
*/
function run()
{
$dbs_bak = $GLOBALS['NO_DB_SCOPE_CHECK'];
$GLOBALS['NO_DB_SCOPE_CHECK'] = true;
// Find known paths
$known_urls = array();
$urlpaths = $GLOBALS['SITE_DB']->query_select('db_meta', array('m_name', 'm_table'), array('m_type' => 'URLPATH'));
$base_url = get_custom_base_url();
foreach ($urlpaths as $urlpath) {
$ofs = $GLOBALS['SITE_DB']->query_select($urlpath['m_table'], array($urlpath['m_name']));
foreach ($ofs as $of) {
$url = $of[$urlpath['m_name']];
if (url_is_local($url)) {
$known_urls[rawurldecode($url)] = 1;
} else {
if (substr($url, 0, strlen($base_url)) == $base_url) {
$known_urls[substr($url, strlen($base_url) + 1)] = 1;
}
}
}
}
$all_files = $this->do_dir('uploads');
$orphaned = array();
foreach ($all_files as $file) {
if (!array_key_exists($file, $known_urls)) {
$orphaned[] = array('URL' => get_custom_base_url() . '/' . str_replace('%2F', '/', rawurlencode($file)));
}
}
$GLOBALS['NO_DB_SCOPE_CHECK'] = $dbs_bak;
return do_template('CLEANUP_ORPHANED_UPLOADS', array('_GUID' => '21049d738f67554cff0891d343c02ad3', 'FOUND' => $orphaned));
}
开发者ID:erico-deh,项目名称:ocPortal,代码行数:36,代码来源:orphaned_uploads.php
示例2: run
/**
* Standard modular run function for award hooks. Renders a content box for an award/randomisation.
*
* @param array The database row for the content
* @param ID_TEXT The zone to display in
* @return tempcode Results
*/
function run($row, $zone)
{
$url = build_url(array('page' => 'news', 'type' => 'view', 'id' => $row['id']), $zone);
$title = get_translated_tempcode($row['title']);
$title_plain = get_translated_text($row['title']);
$news_cat_rows = $GLOBALS['SITE_DB']->query_select('news_categories', array('nc_title', 'nc_img'), array('id' => $row['news_category']), '', 1);
if (!array_key_exists(0, $news_cat_rows)) {
warn_exit(do_lang_tempcode('MISSING_RESOURCE'));
}
$news_cat_row = $news_cat_rows[0];
$category = get_translated_text($news_cat_row['nc_title']);
$img = find_theme_image($news_cat_row['nc_img']);
if ($row['news_image'] != '') {
$img = $row['news_image'];
if (url_is_local($img)) {
$img = get_base_url() . '/' . $img;
}
}
$news = get_translated_tempcode($row['news']);
if ($news->is_empty()) {
$news = get_translated_tempcode($row['news_article']);
$truncate = true;
} else {
$truncate = false;
}
$author_url = addon_installed('authors') ? build_url(array('page' => 'authors', 'type' => 'misc', 'id' => $row['author']), get_module_zone('authors')) : new ocp_tempcode();
$author = $row['author'];
require_css('news');
$seo_bits = seo_meta_get_for('news', strval($row['id']));
$map = array('_GUID' => 'jd89f893jlkj9832gr3uyg2u', 'TAGS' => get_loaded_tags('news', explode(',', $seo_bits[0])), 'TRUNCATE' => $truncate, 'AUTHOR' => $author, 'BLOG' => false, 'AUTHOR_URL' => $author_url, 'CATEGORY' => $category, 'IMG' => $img, 'NEWS' => $news, 'ID' => strval($row['id']), 'SUBMITTER' => strval($row['submitter']), 'DATE' => get_timezoned_date($row['date_and_time']), 'DATE_RAW' => strval($row['date_and_time']), 'FULL_URL' => $url, 'NEWS_TITLE' => $title, 'NEWS_TITLE_PLAIN' => $title_plain);
if (get_option('is_on_comments') == '1' && !has_no_forum() && $row['allow_comments'] >= 1) {
$map['COMMENT_COUNT'] = '1';
}
return put_in_standard_box(do_template('NEWS_PIECE_SUMMARY', $map));
}
开发者ID:erico-deh,项目名称:ocPortal,代码行数:42,代码来源:news.php
示例3: render_field_value
/**
* Convert a field value to something renderable.
*
* @param array The field details
* @param mixed The raw value
* @param integer Position in fieldset
* @param ?array List of fields the output is being limited to (NULL: N/A)
* @return mixed Rendered field (tempcode or string)
*/
function render_field_value($field, $ev, $i, $only_fields)
{
if (is_object($ev)) {
return $ev;
}
if ($ev == '') {
return '';
}
require_code('galleries');
require_code('galleries2');
require_code('transcoding');
$ev = transcode_video($ev, 'catalogue_efv_short', 'cv_value', NULL, NULL, NULL);
$thumb_url = create_video_thumb($ev);
if (substr($ev, 0, strlen(get_custom_base_url() . '/')) == get_custom_base_url() . '/') {
$ev = substr($ev, strlen(get_custom_base_url() . '/'));
}
if (url_is_local($ev)) {
$width = 600;
$height = 400;
$length = 0;
} else {
list($width, $height, $length) = get_video_details(get_custom_file_base() . '/' . rawurldecode($ev), basename($ev));
}
return show_gallery_media($ev, $thumb_url, $width, $height, $length);
}
开发者ID:erico-deh,项目名称:ocPortal,代码行数:34,代码来源:video.php
示例4: run
/**
* Standard modular run function for preview hooks.
*
* @return array A pair: The preview, the updated post Comcode
*/
function run()
{
require_code('uploads');
$urls = get_url('', 'file', 'uploads/iotds', 0, OCP_UPLOAD_IMAGE, true, '', 'file2');
if ($urls[0] == '') {
if (!is_null(post_param_integer('id', NULL))) {
$rows = $GLOBALS['SITE_DB']->query_select('iotds', array('url', 'thumb_url'), array('id' => post_param_integer('id')), '', 1);
$urls = $rows[0];
$url = $urls['url'];
$thumb_url = $urls['thumb_url'];
} else {
warn_exit(do_lang_tempcode('IMPROPERLY_FILLED_IN_UPLOAD'));
}
} else {
$url = $urls[0];
$thumb_url = $urls[1];
}
$caption = comcode_to_tempcode(post_param('caption', ''));
$title = comcode_to_tempcode(post_param('title', ''));
require_code('images');
$thumb = do_image_thumb(url_is_local($thumb_url) ? get_custom_base_url() . '/' . $thumb_url : $thumb_url, $caption, true);
$url = url_is_local($url) ? get_custom_base_url() . '/' . $url : $url;
$preview = do_template('IOTD', array('ID' => '', 'IMAGE_URL' => $url, 'SUBMITTER' => strval(get_member()), 'VIEW_URL' => $url, 'IMAGE' => $thumb, 'CAPTION' => $title));
return array($preview, NULL);
}
开发者ID:erico-deh,项目名称:ocPortal,代码行数:30,代码来源:iotd.php
示例5: render_field_value
/**
* Convert a field value to something renderable.
*
* @param array The field details
* @param mixed The raw value
* @param integer Position in fieldset
* @param ?array List of fields the output is being limited to (NULL: N/A)
* @return mixed Rendered field (tempcode or string)
*/
function render_field_value($field, $ev, $i, $only_fields)
{
if (is_object($ev)) {
return $ev;
}
if ($ev == '') {
return '';
}
$img_url = $ev;
if (url_is_local($img_url)) {
$img_url = get_custom_base_url() . '/' . $img_url;
}
if (get_option('is_on_gd') == '0' || !function_exists('imagetypes')) {
$img_thumb_url = $img_url;
} else {
$new_name = url_to_filename($ev);
require_code('images');
if (!is_saveable_image($new_name)) {
$new_name .= '.png';
}
$file_thumb = get_custom_file_base() . '/uploads/auto_thumbs/' . $new_name;
if (!file_exists($file_thumb)) {
convert_image($img_url, $file_thumb, -1, -1, intval(get_option('thumb_width')), false);
}
$img_thumb_url = get_custom_base_url() . '/uploads/auto_thumbs/' . rawurlencode($new_name);
}
if (!array_key_exists('c_name', $field)) {
$field['c_name'] = 'other';
}
$tpl_set = $field['c_name'];
$GLOBALS['META_DATA'] += array('image' => $img_url);
return do_template('CATALOGUE_' . $tpl_set . '_ENTRY_FIELD_PICTURE', array('I' => is_null($only_fields) ? '-1' : strval($i), 'CATALOGUE' => $field['c_name'], 'URL' => $img_url, 'THUMB_URL' => $img_thumb_url), NULL, false, 'CATALOGUE_DEFAULT_ENTRY_FIELD_PICTURE');
}
开发者ID:erico-deh,项目名称:ocPortal,代码行数:42,代码来源:picture.php
示例6: get_file_size
/**
* Get a formatted-string filesize for the specified file. It is formatted as such: x Mb/Kb/Bytes (or unknown). It is assumed that the file exists.
*
* @param URLPATH The URL that the file size of is being worked out for. Should be local.
* @return string The formatted-string file size
*/
function get_file_size($url)
{
if (substr($url, 0, strlen(get_base_url())) == get_base_url()) {
$url = substr($url, strlen(get_base_url()));
}
if (!url_is_local($url)) {
return do_lang('UNKNOWN');
}
$_full = rawurldecode($url);
$_full = get_file_base() . '/' . $_full;
$file_size_bytes = filesize($_full);
return clean_file_size($file_size_bytes);
}
开发者ID:erico-deh,项目名称:ocPortal,代码行数:19,代码来源:files.php
示例7: run
/**
* Standard modular run function.
*
* @param array A map of parameters.
* @return tempcode The result of execution.
*/
function run($map)
{
require_lang('iotds');
require_css('iotds');
$mode = array_key_exists('param', $map) ? $map['param'] : 'current';
$zone = array_key_exists('zone', $map) ? $map['zone'] : get_module_zone('iotds');
if (has_actual_page_access(NULL, 'cms_iotds', NULL, NULL) && has_submit_permission('mid', get_member(), get_ip_address(), 'cms_iotds')) {
$submit_url = build_url(array('page' => 'cms_iotds', 'type' => 'ad', 'redirect' => SELF_REDIRECT), get_module_zone('cms_iotds'));
} else {
$submit_url = new ocp_tempcode();
}
if ($mode == 'current') {
$iotd = $GLOBALS['SITE_DB']->query_select('iotd', array('*'), array('is_current' => 1), 'ORDER BY id DESC', 1);
} elseif (is_numeric($mode)) {
$iotd = $GLOBALS['SITE_DB']->query_select('iotd', array('*'), array('id' => intval($mode)), '', 1);
if (!array_key_exists(0, $iotd)) {
return do_template('BLOCK_NO_ENTRIES', array('HIGH' => true, 'TITLE' => do_lang_tempcode('IOTD'), 'MESSAGE' => do_lang_tempcode('NO_ENTRIES'), 'ADD_NAME' => do_lang_tempcode('ADD_IOTD'), 'SUBMIT_URL' => $submit_url));
}
} else {
$cnt = $GLOBALS['SITE_DB']->query_value('iotd', 'COUNT(*)', array('used' => 1));
if ($cnt == 0) {
return do_template('BLOCK_NO_ENTRIES', array('HIGH' => true, 'TITLE' => do_lang_tempcode('IOTD'), 'MESSAGE' => do_lang_tempcode('NO_ENTRIES'), 'ADD_NAME' => do_lang_tempcode('ADD_IOTD'), 'SUBMIT_URL' => $submit_url));
}
$at = mt_rand(0, $cnt - 1);
$iotd = $GLOBALS['SITE_DB']->query_select('iotd', array('*'), array('used' => 1), '', 1, $at);
}
if (!array_key_exists(0, $iotd)) {
return do_template('BLOCK_NO_ENTRIES', array('_GUID' => '62baa388e068d4334f7a6c6093ead56a', 'HIGH' => true, 'TITLE' => do_lang_tempcode('IOTD'), 'MESSAGE' => do_lang_tempcode('NO_ENTRIES'), 'ADD_NAME' => do_lang_tempcode('ADD_IOTD'), 'SUBMIT_URL' => $submit_url));
}
$myrow = $iotd[0];
$image_url = $myrow['url'];
if (url_is_local($image_url)) {
$image_url = get_custom_base_url() . '/' . $image_url;
}
$view_url = build_url(array('page' => 'iotds', 'wide' => 1, 'type' => 'view', 'id' => $myrow['id']), $zone);
require_code('images');
$thumb_url = ensure_thumbnail($myrow['url'], $myrow['thumb_url'], 'iotds', 'iotd', $myrow['id']);
$caption = get_translated_tempcode($myrow['i_title']);
$image = do_image_thumb($thumb_url, do_lang('IOTD'));
$archive_url = build_url(array('page' => 'iotds', 'type' => 'misc'), $zone);
$tpl = do_template('IOTD', array('_GUID' => 'ca9c4b4941c12c15f7bdfe4cb57cd266', 'ID' => strval($myrow['id']), 'IMAGE_URL' => $image_url, 'SUBMITTER' => strval($myrow['submitter']), 'VIEW_URL' => $view_url, 'CAPTION' => $caption, 'IMAGE' => $image));
$map2 = array('_GUID' => 'd710da3675a1775867168ae37db02ad4', 'CURRENT' => $mode == 'current', 'FULL_URL' => $view_url, 'ID' => strval($myrow['id']), 'CONTENT' => $tpl, 'ARCHIVE_URL' => $archive_url, 'SUBMIT_URL' => $submit_url);
if (get_option('is_on_comments') == '1' && get_forum_type() != 'none' && $myrow['allow_comments'] >= 1) {
$map2['COMMENT_COUNT'] = '1';
}
return do_template('BLOCK_MAIN_IOTD', $map2);
}
开发者ID:erico-deh,项目名称:ocPortal,代码行数:53,代码来源:main_iotd.php
示例8: incoming_uploads_script
/**
* Function to process the file upload process
*/
function incoming_uploads_script()
{
$image_url_sub_for = get_param('image_url_sub_for', NULL);
if ($image_url_sub_for !== NULL) {
require_code('files');
if (!url_is_local($image_url_sub_for) || strpos($image_url_sub_for, '/incoming/') !== false) {
$url_to = 'uploads/website_specific/' . md5(uniqid('', true)) . '.png';
} else {
$url_to = dirname($image_url_sub_for) . '/' . md5(uniqid('', true)) . '.png';
}
$write_to_file = fopen($url_to, 'wb');
http_download_file(either_param('imageurl'), NULL, true, false, 'ocPortal', NULL, NULL, NULL, NULL, NULL, $write_to_file);
fclose($write_to_file);
$GLOBALS['SITE_DB']->query_insert('image_url_sub_for', array('url_from' => $image_url_sub_for, 'url_to' => $url_to, 'member_id' => get_member(), 'expire' => time() + 60 * 60 * 24));
exit;
}
non_overrided__incoming_uploads_script();
}
开发者ID:erico-deh,项目名称:ocPortal,代码行数:21,代码来源:incoming_uploads.php
示例9: run
/**
* Standard modular run function for preview hooks.
*
* @return array A pair: The preview, the updated post Comcode
*/
function run()
{
require_code('uploads');
$urls = get_url('', 'file', 'safe_mode_temp', 0, OCP_UPLOAD_IMAGE, false);
if ($urls[0] == '') {
if (!is_null(post_param_integer('id', NULL))) {
$rows = $GLOBALS['SITE_DB']->query_select('calendar_types', array('t_logo'), array('id' => post_param_integer('id')), '', 1);
$urls = $rows[0];
$url = find_theme_image($urls['t_logo']);
} elseif (!is_null(post_param('theme_img_code', NULL))) {
$url = find_theme_image(post_param('theme_img_code'));
} else {
warn_exit(do_lang_tempcode('IMPROPERLY_FILLED_IN_UPLOAD'));
}
} else {
$url = $urls[0];
}
require_code('images');
$preview = do_image_thumb(url_is_local($url) ? get_custom_base_url() . '/' . $url : $url, post_param('title'), true);
return array($preview, NULL);
}
开发者ID:erico-deh,项目名称:ocPortal,代码行数:26,代码来源:calendar_type.php
示例10: run
/**
* Standard modular run function.
*
* @param array A map of parameters.
* @return tempcode The result of execution.
*/
function run($map)
{
require_lang('newsletter');
require_lang('javascript');
$newsletter_id = array_key_exists('param', $map) ? intval($map['param']) : db_get_first_id();
$_newsletter_title = $GLOBALS['SITE_DB']->query_value_null_ok('newsletters', 'title', array('id' => $newsletter_id));
if (is_null($_newsletter_title)) {
return paragraph(do_lang_tempcode('MISSING_RESOURCE'));
}
$newsletter_title = get_translated_text($_newsletter_title);
$address = post_param('address' . strval($newsletter_id), '');
if ($address != '') {
require_code('newsletter');
require_code('type_validation');
if (!is_valid_email_address($address)) {
$msg = do_template('INLINE_WIP_MESSAGE', array('MESSAGE' => do_lang_tempcode('INVALID_EMAIL_ADDRESS')));
return do_template('BLOCK_MAIN_NEWSLETTER_SIGNUP', array('URL' => get_self_url(), 'MSG' => $msg));
}
if (!array_key_exists('path', $map)) {
$map['path'] = 'uploads/website_specific/signup.txt';
}
require_code('character_sets');
$password = basic_newsletter_join($address, 4, NULL, !file_exists(get_custom_file_base() . '/' . $map['path']), $newsletter_id, post_param('firstname' . strval($newsletter_id), ''), post_param('lastname' . strval($newsletter_id), ''));
if ($password == '') {
return do_template('INLINE_WIP_MESSAGE', array('MESSAGE' => do_lang_tempcode('NEWSLETTER_THIS_ALSO')));
}
if ($password == do_lang('NA')) {
$manage_url = build_url(array('page' => 'newsletter', 'email' => $address), get_module_zone('newsletter'));
return do_template('INLINE_WIP_MESSAGE', array('MESSAGE' => do_lang_tempcode('ALREADY_EMAIL_ADDRESS', escape_html($manage_url->evaluate()))));
}
require_code('mail');
if (file_exists(get_custom_file_base() . '/' . $map['path'])) {
$url = (url_is_local($map['path']) ? get_custom_base_url() . '/' : '') . $map['path'];
mail_wrap(array_key_exists('subject', $map) ? $map['subject'] : do_lang('WELCOME'), convert_to_internal_encoding(http_download_file($url)), array($address), array_key_exists('to', $map) ? $map['to'] : '', '', '', 3, NULL, false, NULL, true);
}
return do_template('BLOCK_MAIN_NEWSLETTER_SIGNUP_DONE', array('_GUID' => '9953c83685df4970de8f23fcd5dd15bb', 'NEWSLETTER_TITLE' => $newsletter_title, 'NID' => strval($newsletter_id), 'PASSWORD' => $password));
} else {
return do_template('BLOCK_MAIN_NEWSLETTER_SIGNUP', array('NEWSLETTER_TITLE' => $newsletter_title, 'NID' => strval($newsletter_id), 'URL' => get_self_url()));
}
}
开发者ID:erico-deh,项目名称:ocPortal,代码行数:46,代码来源:main_newsletter_signup.php
示例11: run
/**
* Standard modular run function for realtime-rain hooks.
*
* @param TIME Start of time range.
* @param TIME End of time range.
* @return array A list of template parameter sets for rendering a 'drop'.
*/
function run($from, $to)
{
$drops = array();
if (has_actual_page_access(get_member(), 'admin_banners')) {
$rows = $GLOBALS['SITE_DB']->query('SELECT b.name,img_url,c_ip_address,c_member_id AS member_id,c_date_and_time AS timestamp FROM ' . $GLOBALS['SITE_DB']->get_table_prefix() . 'banner_clicks c LEFT JOIN ' . $GLOBALS['SITE_DB']->get_table_prefix() . 'banners b ON b.name=c.c_banner_id WHERE c_date_and_time BETWEEN ' . strval($from) . ' AND ' . strval($to));
require_lang('banners');
foreach ($rows as $row) {
$timestamp = $row['timestamp'];
$member_id = $row['member_id'];
$image = is_guest($member_id) ? rain_get_country_image($row['c_ip_address']) : $GLOBALS['FORUM_DRIVER']->get_member_avatar_url($member_id);
require_code('images');
if (is_image($row['img_url'])) {
$image = $row['img_url'];
}
if (url_is_local($image)) {
$image = get_custom_base_url() . '/' . $image;
}
$drops[] = rain_get_special_icons($row['c_ip_address'], $timestamp) + array('TYPE' => 'banners', 'FROM_MEMBER_ID' => strval($member_id), 'TO_MEMBER_ID' => NULL, 'TITLE' => do_lang('BANNER_CLICKED'), 'IMAGE' => $image, 'TIMESTAMP' => strval($timestamp), 'RELATIVE_TIMESTAMP' => strval($timestamp - $from), 'TICKER_TEXT' => NULL, 'URL' => NULL, 'IS_POSITIVE' => true, 'IS_NEGATIVE' => false, 'FROM_ID' => 'member_' . strval($member_id), 'TO_ID' => NULL, 'GROUP_ID' => 'banner_' . $row['name']);
}
}
return $drops;
}
开发者ID:erico-deh,项目名称:ocPortal,代码行数:29,代码来源:banners.php
示例12: get_download_bandwidth
/**
* Get the currently used download bandwidth.
*
* @return integer The currently used download bandwidth (forever)
*/
function get_download_bandwidth()
{
$value = intval(get_value_newer_than('download_bandwidth', time() - 60 * 60 * 24));
if ($value == 0) {
$total = $GLOBALS['SITE_DB']->query_value_null_ok('download_downloads', 'COUNT(*)', array('validated' => 1));
if ($total > 200) {
$value = $GLOBALS['SITE_DB']->query_value_null_ok('download_downloads', 'SUM(file_size*num_downloads)', array('validated' => 1));
} else {
$value = 0;
$rows = $GLOBALS['SITE_DB']->query_select('download_downloads', array('url', 'num_downloads'), array('validated' => 1));
foreach ($rows as $myrow) {
if (url_is_local($myrow['url'])) {
$file = get_custom_file_base() . '/' . rawurldecode($myrow['url']);
if (file_exists($file)) {
$value += filesize($file) * $myrow['num_downloads'];
}
}
}
set_value('download_bandwidth', strval($value));
}
}
return $value;
}
开发者ID:erico-deh,项目名称:ocPortal,代码行数:28,代码来源:downloads_stats.php
示例13: run
/**
* Standard modular run function for preview hooks.
*
* @return array A pair: The preview, the updated post Comcode
*/
function run()
{
require_code('uploads');
$cat = post_param('cat');
$urls = get_url('url', 'file', 'uploads/galleries' . (get_value('use_gallery_subdirs') == '1' ? '/' . $cat : ''), 0, OCP_UPLOAD_IMAGE, true, '', 'file2');
if ($urls[0] == '') {
if (!is_null(post_param_integer('id', NULL))) {
$rows = $GLOBALS['SITE_DB']->query_select('images', array('url', 'thumb_url'), array('id' => post_param_integer('id')), '', 1);
$urls = $rows[0];
$url = $urls['url'];
$thumb_url = $urls['thumb_url'];
} else {
warn_exit(do_lang_tempcode('IMPROPERLY_FILLED_IN_UPLOAD'));
}
} else {
$url = $urls[0];
$thumb_url = $urls[1];
}
require_code('images');
$thumb = do_image_thumb(url_is_local($thumb_url) ? get_custom_base_url() . '/' . $thumb_url : $thumb_url, post_param('comments'), true);
$preview = hyperlink(url_is_local($url) ? get_custom_base_url() . '/' . $url : $url, $thumb);
return array($preview, NULL);
}
开发者ID:erico-deh,项目名称:ocPortal,代码行数:28,代码来源:image.php
示例14: _delete_attachment
/**
* Delete the specified attachment
*
* @param AUTO_LINK The attachment ID to delete
* @param object The database connection to use
* @set ocp forum
*/
function _delete_attachment($id, $connection)
{
$connection->query_delete('attachment_refs', array('a_id' => $id));
// Get attachment details
$_attachment_info = $connection->query_select('attachments', array('a_url', 'a_thumb_url'), array('id' => $id), '', 1);
if (!array_key_exists(0, $_attachment_info)) {
return;
}
// Already gone
$attachment_info = $_attachment_info[0];
// Delete url and thumb_url if local
if (url_is_local($attachment_info['a_url']) && substr($attachment_info['a_url'], 0, 19) == 'uploads/attachments') {
$url = rawurldecode($attachment_info['a_url']);
@unlink(get_custom_file_base() . '/' . $url);
sync_file($url);
if ($attachment_info['a_thumb_url'] != '' && strpos($attachment_info['a_thumb_url'], 'uploads/filedump/') === false) {
$thumb_url = rawurldecode($attachment_info['a_thumb_url']);
@unlink(get_custom_file_base() . '/' . $thumb_url);
sync_file($thumb_url);
}
}
// Delete attachment
$connection->query_delete('attachments', array('id' => $id), '', 1);
}
开发者ID:erico-deh,项目名称:ocPortal,代码行数:31,代码来源:attachments3.php
示例15: load_html_page
/**
* Get the contents of an HTML page.
* HTML isn't great... no dynamicness/reconfigurability at all.
* We prefer comcode with [html]HTML goes here[/html] usage
*
* @param PATH The relative (to ocPortals base directory) path to the HTML page
* @param ?PATH The file base to load from (NULL: standard)
* @return string The page
*/
function load_html_page($string, $file_base = NULL)
{
if (is_null($file_base)) {
$file_base = get_file_base();
}
global $PAGE_STRING;
if (is_null($PAGE_STRING)) {
$PAGE_STRING = $string;
}
$html = file_get_contents($file_base . '/' . $string, FILE_TEXT);
// Post-processing
if (strpos($html, '<html') !== false) {
$matches = array();
// Fix links to anything in same dir, by assuming either uploads/website_specific or an ocP page in same zone
$link_attributes = array('src', 'href', 'action', 'data', 'codebase');
foreach ($link_attributes as $attribute) {
$num_matches = preg_match_all('#<[^<>]* ' . $attribute . '="([^&"]+\\.[^&"\\.]+)"[^<>]*>#mis', $html, $matches);
for ($i = 0; $i < $num_matches; $i++) {
$old_link = $matches[1][$i];
$zone = '_SELF';
if ($old_link[0] == '/') {
$old_link = substr($old_link, 1);
$zone = '';
}
$possible_zone = str_replace('/', '_', dirname($old_link));
if ($possible_zone == '.') {
$possible_zone = '';
}
if ($possible_zone != '' && $possible_zone != get_zone_name() && file_exists(get_file_base() . '/' . $possible_zone)) {
$zone = $possible_zone;
}
if (substr($old_link, -4) == '.htm') {
$_new_link = build_url(array('page' => basename(substr($old_link, 0, strlen($old_link) - 4))), $zone);
$new_link = $_new_link->evaluate();
} elseif (substr($old_link, -5) == '.html') {
$_new_link = build_url(array('page' => basename(substr($old_link, 0, strlen($old_link) - 5))), $zone);
$new_link = $_new_link->evaluate();
} else {
$new_link = $old_link;
if (url_is_local($old_link)) {
if (is_file(get_custom_file_base() . '/' . dirname($string) . '/' . $old_link)) {
$new_link = get_custom_base_url() . '/' . dirname($string) . '/' . $old_link;
} else {
$new_link = get_custom_base_url() . '/uploads/website_specific/' . $old_link;
}
}
}
$html = str_replace(' ' . $attribute . '="' . $old_link . '"', ' ' . $attribute . '="' . $new_link . '"', $html);
}
}
// Extract script, style, and link elements from head
if (preg_match('#<\\s*head[^<>]*>(.*)<\\s*/\\s*head\\s*>#mis', $html, $matches) != 0) {
global $EXTRA_HEAD;
$head = $matches[1];
$head_patterns = array('#<\\s*script.*<\\s*/\\s*script\\s*>#misU', '#<\\s*link[^<>]*>#misU', '#<\\s*style.*<\\s*/\\s*style\\s*>#misU');
foreach ($head_patterns as $pattern) {
$num_matches = preg_match_all($pattern, $head, $matches);
for ($i = 0; $i < $num_matches; $i++) {
$EXTRA_HEAD->attach($matches[0][$i]);
}
}
}
// Extra meta keywords and description, and title
global $SEO_KEYWORDS, $SEO_DESCRIPTION, $SEO_TITLE;
if (preg_match('#<\\s*meta\\s+name\\s*=\\s*"keywords"\\s+content="([^"]*)"#mi', $html, $matches) != 0) {
$SEO_KEYWORDS = explode(',', @html_entity_decode(trim($matches[1]), ENT_QUOTES, get_charset()));
}
if (preg_match('#<\\s*meta\\s+name\\s*=\\s*"description"\\s+content="([^"]*)"#mi', $html, $matches) != 0) {
$SEO_DESCRIPTION = @html_entity_decode(trim($matches[1]), ENT_QUOTES, get_charset());
}
if (preg_match('#<\\s*title\\s*>([^<>]*)<\\s*/\\s*title\\s*>#mis', $html, $matches) != 0) {
$SEO_TITLE = @html_entity_decode(trim($matches[1]), ENT_QUOTES, get_charset());
}
// Extract body
if (preg_match('#<\\s*body[^>]*>(.*)<\\s*/\\s*body\\s*>#mis', $html, $matches) != 0) {
$html = $matches[1];
} else {
$html = '';
}
}
return $html;
}
开发者ID:erico-deh,项目名称:ocPortal,代码行数:91,代码来源:site_html_pages.php
示例16: find_emoticons
/**
* Get a map between smiley codes and templates representing the HTML-image-code for this smiley. The smilies present of course depend on the forum involved.
*
* @return array The map
*/
function find_emoticons()
{
global $EMOTICON_CACHE;
if (!is_null($EMOTICON_CACHE)) {
return $EMOTICON_CACHE;
}
$rows = $this->connection->query_select('smileys', array('*'));
$EMOTICON_CACHE = array();
foreach ($rows as $myrow) {
$src = $myrow['smfile'];
$smfolder = $myrow['smfolder'];
if (url_is_local($src)) {
$src = $this->get_emo_dir() . $smfolder . '/' . $src;
}
$EMOTICON_CACHE[$myrow['smcode']] = array('EMOTICON_IMG_CODE_DIR', $src, $myrow['smcode']);
}
uksort($EMOTICON_CACHE, 'strlen_sort');
$EMOTICON_CACHE = array_reverse($EMOTICON_CACHE);
return $EMOTICON_CACHE;
}
开发者ID:erico-deh,项目名称:ocPortal,代码行数:25,代码来源:aef.php
示例17: render_attachment
/**
* Get tempcode for a Comcode rich-media attachment.
*
* @param ID_TEXT The attachment tag
* @set attachment attachment_safe attachment2
* @param array A map of the attributes (name=>val) for the tag
* @param array A map of the attachment properties (name=>val) for the attachment
* @param string A special identifier to mark where the resultant tempcode is going to end up (e.g. the ID of a post)
* @param MEMBER The member who is responsible for this Comcode
* @param boolean Whether to check as arbitrary admin
* @param object The database connection to use
* @param ?array A list of words to highlight (NULL: none)
* @param ?MEMBER The member we are running on behalf of, with respect to how attachments are handled; we may use this members attachments that are already within this post, and our new attachments will be handed to this member (NULL: member evaluating)
* @param boolean Whether to parse so as to create something that would fit inside a semihtml tag. It means we generate HTML, with Comcode written into it where the tag could never be reverse-converted (e.g. a block).
* @return tempcode The tempcode for the attachment
*/
function render_attachment($tag, $attributes, $attachment, $pass_id, $source_member, $as_admin, $connection, $highlight_bits = NULL, $on_behalf_of_member = NULL, $semiparse_mode = false)
{
require_code('comcode_renderer');
$extension = get_file_extension($attachment['a_original_filename']);
require_code('mime_types');
$mime_type = get_mime_type($extension);
$attachment['CLEAN_SIZE'] = clean_file_size($attachment['a_file_size']);
$attachment['MIME_TYPE'] = $mime_type;
$attachment['PASS_ID'] = intval($pass_id) < 0 ? strval(mt_rand(0, 10000)) : $pass_id;
$attachment['SCRIPT'] = find_script('attachment');
$attachment['RAND'] = strval(mt_rand(0, 32000));
if ($connection->connection_write != $GLOBALS['SITE_DB']->connection_write) {
$attachment['SUP_PARAMS'] = '&forum_db=1';
$attachment['FORUM_DB_BIN'] = '1';
} else {
$attachment['SUP_PARAMS'] = '';
$attachment['FORUM_DB_BIN'] = '';
}
$type = trim(array_key_exists('type', $attributes) ? $attributes['type'] : 'auto');
$attachment['id'] = strval($attachment['id']);
$attachment['a_member_id'] = strval($attachment['a_member_id']);
$attachment['a_file_size'] = strval($attachment['a_file_size']);
$attachment['a_last_downloaded_time'] = is_null($attachment['a_last_downloaded_time']) ? '' : strval($attachment['a_last_downloaded_time']);
$attachment['a_add_time'] = strval($attachment['a_add_time']);
$attachment['a_num_downloads'] = integer_format($attachment['a_num_downloads']);
require_code('images');
$attachment['a_width'] = array_key_exists('width', $attributes) ? strval(intval($attributes['width'])) : '';
$attachment['a_height'] = array_key_exists('height', $attributes) ? strval(intval($attributes['height'])) : '';
if ($attachment['a_width'] == '' || $attachment['a_height'] == '') {
if (addon_installed('galleries') && is_video($attachment['a_original_filename']) && url_is_local($attachment['a_url'])) {
require_code('galleries2');
$vid_details = get_video_details(get_custom_file_base() . '/' . rawurldecode($attachment['a_url']), $attachment['a_original_filename'], true);
if ($vid_details !== false) {
list($_width, $_height, ) = $vid_details;
if ($attachment['a_width'] == '') {
$attachment['a_width'] = strval($_width);
}
if ($attachment['a_height'] == '') {
$attachment['a_height'] = strval($_height);
}
}
}
if ($attachment['a_width'] == '' || $attachment['a_height'] == '') {
if ($attachment['a_width'] == '') {
$attachment['a_width'] = '240';
}
if ($attachment['a_height'] == '') {
$attachment['a_height'] = '216';
}
}
}
$attachment['a_align'] = array_key_exists('align', $attributes) ? $attributes['align'] : 'left';
if (!array_key_exists('a_description', $attachment)) {
if (array_key_exists('description', $attributes)) {
$attachment['description'] = $attributes['description'];
}
if (!array_key_exists('description', $attachment)) {
$attachment['description'] = '';
}
$attachment['a_description'] = is_object($attachment['description']) ? $attachment['description'] : comcode_to_tempcode($attachment['description'], $source_member, $as_admin, 60, NULL, $connection, false, false, false, false, false, NULL, $on_behalf_of_member);
} else {
$attachment['a_description'] = comcode_to_tempcode($attachment['a_description'], $source_member, $as_admin, 60, NULL, $connection, false, false, false, false, false, NULL, $on_behalf_of_member);
}
$attachment['a_type'] = $type;
$attachment['a_thumb'] = array_key_exists('thumb', $attributes) ? $attributes['thumb'] : '1';
if ($attachment['a_thumb'] != '0') {
$attachment['a_thumb'] = '1';
}
$attachment['a_thumb_url'] = array_key_exists('thumb_url', $attributes) ? $attributes['thumb_url'] : $attachment['a_thumb_url'];
switch ($type) {
case 'email':
require_code('mail');
global $EMAIL_ATTACHMENTS;
if (url_is_local($attachment['a_url'])) {
$attachment['a_url'] = get_custom_base_url() . '/' . $attachment['a_url'];
}
$EMAIL_ATTACHMENTS[$attachment['a_url']] = $attachment['a_original_filename'];
$temp_tpl = new ocp_tempcode();
break;
case 'code':
$url = $attachment['a_url'];
if (url_is_local($url)) {
$url = get_custom_base_url() . '/' . $url;
}
//.........这里部分代码省略.........
开发者ID:erico-deh,项目名称:ocPortal,代码行数:101,代码来源:attachments.php
示例18: show_video
/**
* The UI to show a video.
*
* @param ?string Alternate category name to use (NULL: use standard one). This is useful if you are overriding this code to show images in virtual galleries.
* @param ?tempcode Breadcrumbs (NULL: derive in this function).
* @return tempcode The UI
*/
function show_video($category_name = NULL, $tree = NULL)
{
$id = get_param_integer('id');
if (get_param_integer('ajax', 0) == 1) {
header('Content-type: text/xml');
}
list($sort, $sort_backwards, $sql_suffix_images, $sql_suffix_videos) = $this->get_sort_order();
if (addon_installed('awards')) {
require_code('awards');
$awards = find_awards_for('video', strval($id));
} else {
$awards = array();
}
// Pic up some info
$rows = $GLOBALS['SITE_DB']->query_select('videos', array('*'), array('id' => $id), '', 1);
if (!array_key_exists(0, $rows)) {
return warn_screen(get_page_title('ERROR_OCCURRED'), do_lang_tempcode('MISSING_RESOURCE'));
}
$myrow = $rows[0];
$url = $myrow['url'];
if (url_is_local($url)) {
$url = get_custom_base_url() . '/' . $url;
}
$cat = $myrow['cat'];
$GLOBALS['FEED_URL'] = find_script('backend') . '?mode=galleries&filter=' . urlencode($cat);
if (get_value('no_individual_gallery_view') === '1' && $GLOBALS['SITE_DB']->query_value('galleries', 'flow_mode_interface', array('name' => $cat)) == '1') {
require_code('site2');
assign_refresh(build_url(array('page' => '_SELF', 'type' => 'misc', 'id' => $cat, 'probe_id' => $id, 'probe_type' => 'video'), '_SELF'), 0.0);
}
$true_category_name = get_translated_text($GLOBALS['SITE_DB']->query_value('galleries', 'fullname', array('name' => $cat)));
if (is_null($category_name)) {
$category_name = $true_category_name;
}
if (get_param_integer('slideshow', 0) == 1) {
$title = get_page_title('VIEW_SLIDESHOW', true, array(escape_html($category_name)));
global $EXTRA_HEAD;
$EXTRA_HEAD->attach('<meta name="robots" content="noindex" />');
// XHTMLXHTML
} else {
$title = get_page_title(get_translated_text($myrow['title']) == '' ? 'VIEW_VIDEO' : '_VIEW_VIDEO', true, array(escape_html(get_translated_text($myrow['title']))), NULL, $awards);
}
$root = get_param('root', 'root');
seo_meta_load_for('video', strval($id));
$thumb_url = $myrow['thumb_url'];
if (url_is_local($thumb_url)) {
$thumb_url = get_custom_base_url() . '/' . $thumb_url;
}
if (!has_category_access(get_member(), 'galleries', $cat)) {
access_denied('CATEGORY_ACCESS');
}
// Views
if (get_db_type() != 'xml') {
$myrow['video_views']++;
$GLOBALS['SITE_DB']->query_update('videos', array('video_views' => $myrow['video_views']), array('id' => $id), '', 1, NULL, false, true);
}
list($rating_details, $comment_details, $trackback_details) = embed_feedback_systems('videos', strval($id), $myrow['allow_rating'], $myrow['allow_comments'], $myrow['allow_trackbacks'], $myrow['validated'], $myrow['submitter'], build_url(array('page' => '_SELF', 'type' => 'video', 'id' => $id), '_SELF', NULL, false, false, true), get_translated_text($myrow['title']) == '' ? do_lang('VIEW_VIDEO_IN', $true_category_name) : get_translated_text($myrow['title']), get_value('comment_forum__videos'));
// Validation
if ($myrow['validated'] == 0) {
if (!has_specific_permission(get_member(), 'jump_to_unvalidated')) {
access_denied('SPECIFIC_PERMISSION', 'jump_to_unvalidated');
}
$warning_details = do_template('WARNING_TABLE', array('_GUID' => 'b32faacba974e648a67e5e91ffd3d8e5', 'WARNING' => do_lang_tempcode(get_param_integer('redirected', 0) == 1 ? 'UNVALIDATED_TEXT_NON_DIRECT' : 'UNVALIDATED_TEXT')));
} else {
$warning_details = new ocp_tempcode();
}
// Comments
$comments = get_translated_tempcode($myrow['comments']);
if (has_actual_page_access(NULL, 'cms_galleries', NULL, NULL) && has_edit_permission('mid', get_member(), $myrow['submitter'], 'cms_galleries', array('galleries', $cat))) {
$edit_url = build_url(array('page' => 'cms_galleries', 'type' => '_ev', 'id' => $id), get_module_zone('cms_galleries'));
} else {
$edit_url = new ocp_tempcode();
}
$add_date = get_timezoned_date($myrow['add_date']);
$edit_date = is_null($myrow['edit_date']) ? '' : get_timezoned_date($myrow['edit_date']);
// Video HTML
$video = show_gallery_medi
|
请发表评论