Kilka bledow
#1
Napisany 16 marzec 2009 - 22:05
1. Po zmianie daty na polska mam wszedzie date ok tylko na dole forum wyswietla mi sie np "Aktualny czas: %PM, %16 %908 %2009 - %20:%Mar" jakie moze byc rozwiazanie...
2. Dodawanie avatarow cos nie bardzo dziala nie mozna dodac z naszego kompa avatara a chmody mam ustawione na 777 na plikach do tego potrzebnych...
3. W ACP w zakladce admin mam taki blad:
Warning: require_once(/home/codcity/public_html/skin_acp/IPB2_Standard/acp_skin_html/cp_skin_index.php) [function.require-once]: failed to open stream: Nie ma takiego pliku ani katalogu in /home/codcity/public_html/sources/ipsclass.php on line 1776
a w plikach w kilku wersjach niestety nie posiadam takiego pliku. Te 3 bledy potrzebuje naprawic jak najszybciej... jak bys ktos mogl mi pomoc to bardzo prosze.
IPSBeyond - Support IP.Board, Modyfikacje IP.Board, Skiny IP.Board
#2
Napisany 17 marzec 2009 - 07:46
ad 2. czy w acp -> Tools & setings -> general configuration masz podaną poprawną ścieżkę do katalogu ?? czy na serwerze masz prawa zapisu w /tmp ?
ad 1. poszukam dokładnie tego miejsca w którym wyświetlany jest ten czas i zobaczymy, musi być jakiś błąd tam i dlatego nie działa
co do ad 1. co masz w linii 220-225 w pliku sources/classes/class_display.php ??
Dawid Baruch - Portfolio Webmastera, IPB, php, grafika, sql, skiny IPB, mody IP.Board
IP.Board NEWS
Licencje IP.Board
#3
Napisany 17 marzec 2009 - 23:00
//-----------------------------------------
if ( $this->ipsclass->vars['gl_show'] and $this->ipsclass->vars['gl_title'] )
{
if ( $this->ipsclass->vars['gl_link'] == "" AND $this->ipsclass->vars['gl_title'] )
{
$this->ipsclass->vars['gl_link'] = $this->ipsclass->base_url."act=boardrules";
to jest moje 220-225
IPSBeyond - Support IP.Board, Modyfikacje IP.Board, Skiny IP.Board
#4
Napisany 18 marzec 2009 - 05:49
Dawid Baruch - Portfolio Webmastera, IPB, php, grafika, sql, skiny IPB, mody IP.Board
IP.Board NEWS
Licencje IP.Board
#5
Napisany 19 marzec 2009 - 13:16
<?php
/*
+--------------------------------------------------------------------------
| Invision Power Board
| =============================================
| by Matthew Mecham
| © 2001 - 2006 Invision Power Services, Inc.
|
| =============================================
|
|
+---------------------------------------------------------------------------
| > $Date: 2007-12-17 18:07:20 -0500 (Mon, 17 Dec 2007) $
| > $Revision: 1149 $
| > $Author: bfarber $
+---------------------------------------------------------------------------
|
| > DISPLAY CLASS
| > Module written by Matt Mecham
| > Date started: 26th January 2004
|
| > Module Version Number: 1.0.0
| > DBA Checked: Wed 19 May 2004
+--------------------------------------------------------------------------
*/
if ( ! defined( 'IN_IPB' ) )
{
print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded all the relevant files.";
exit();
}
class display {
# Global
var $ipsclass;
var $to_print = "";
var $output = "";
var $macros = "";
//-----------------------------------------
// CONSTRUCTOR
//-----------------------------------------
function display()
{
}
//-----------------------------------------
// Appends the parsed HTML to our class var
//-----------------------------------------
function add_output($to_add)
{
$this->to_print .= $to_add;
//return 'true' on success
return true;
}
/*-------------------------------------------------------------------------*/
//
// Parses all the information and prints it.
//
/*-------------------------------------------------------------------------*/
function do_output($output_array)
{
global $Debug;
//-----------------------------------------
// Global
//-----------------------------------------
$components_links = "";
//-----------------------------------------
// UNPACK MACROS
//-----------------------------------------
$this->_unpack_macros();
//-----------------------------------------
// END TIMER
//-----------------------------------------
$this->ex_time = sprintf( "%.4f",$Debug->endTimer() );
//-----------------------------------------
// SQL DEBUG?
//-----------------------------------------
$this->_check_debug();
$stats = $this->_show_debug();
//-----------------------------------------
// Stop E_ALL moaning...
//-----------------------------------------
$this->ipsclass->cache['systemvars']['task_next_run'] = isset( $this->ipsclass->cache['systemvars']['task_next_run'] ) ? $this->ipsclass->cache['systemvars']['task_next_run'] : 0;
//-----------------------------------------
// NAVIGATION
//-----------------------------------------
$nav = $this->ipsclass->compiled_templates['skin_global']->start_nav();
$nav .= "<a href='{$this->ipsclass->base_url}act=idx'>{$this->ipsclass->vars['board_name']}</a>";
if ( empty($output_array['OVERRIDE']) )
{
if ( isset($output_array['NAV']) AND is_array( $output_array['NAV'] ) )
{
foreach ($output_array['NAV'] as $n)
{
if ($n)
{
$nav .= "<{F_NAV_SEP}>" . $n;
}
}
}
}
$nav .= $this->ipsclass->compiled_templates['skin_global']->end_nav();
//-----------------------------------------
// CSS
//-----------------------------------------
$css = $this->_get_css();
//-----------------------------------------
// REMOVAL OF THIS WITHOUT PURCHASING COPYRIGHT REMOVAL WILL VIOLATE THE LICENCE YOU AGREED
// TO WHEN DOWNLOADING THIS PRODUCT. THIS COULD MEAN REMOVAL OF YOUR BOARD AND EVEN
// CRIMINAL CHARGES
//-----------------------------------------
$version = ( isset( $this->ipsclass->vars['ipb_display_version'] ) AND $this->ipsclass->vars['ipb_display_version'] != 0 ) ? $this->ipsclass->version : '';
if ($this->ipsclass->vars['ipb_copy_number'] && $this->ipsclass->vars['ips_cp_purchase'])
{
$copyright = "";
}
else if ( TRIAL_VERSION )
{
$copyright = "<!-- Copyright Information -->
<div align='center' style='background-color:#FFF;color:#000;font-size:11px;width:auto;'>
Powered by: Invision Power Board (Free Trial)
{$version} © ".date("Y")." Invision Power Services, Inc.
<br /><strong>Get your free trial here!</strong>
</div>
<!-- / Copyright -->";
}
else
{
$copyright = "<!-- Copyright Information -->
<div align='center' class='copyright'>
Powered By IP.Board
{$version} © ".date("Y")." IPS, Inc.
";
if ( $this->ipsclass->vars['ipb_reg_show'] and $this->ipsclass->vars['ipb_reg_name'] )
{
$copyright .= "<div>Licensed to: ". $this->ipsclass->vars['ipb_reg_name']."</div>";
}
$copyright .= "</div>\n\t\t<!-- / Copyright -->";
}
//-----------------------------------------
// Must be called before board_header
//-----------------------------------------
$this->ipsclass->member['new_msg'] = isset($this->ipsclass->member['new_msg']) ? intval($this->ipsclass->member['new_msg']) : 0;
$this->ipsclass->member['msg_total'] = isset($this->ipsclass->member['msg_total']) ? $this->ipsclass->member['msg_total'] : 0;
if ( ($this->ipsclass->member['g_max_messages'] > 0) and ($this->ipsclass->member['msg_total'] >= $this->ipsclass->member['g_max_messages']) )
{
$msg_data['TEXT'] = $this->ipsclass->lang['msg_full'];
}
else
{
$msg_data['TEXT'] = sprintf( $this->ipsclass->lang['msg_new'], $this->ipsclass->member['new_msg']);
}
//-----------------------------------------
// Components link
//-----------------------------------------
if ( is_array( $this->ipsclass->cache['components'] ) and count( $this->ipsclass->cache['components'] ) )
{
# As of IPB 2.2, we use float:right which reverses the order of the elements
$_tmp = array_reverse( $this->ipsclass->cache['components'] );
foreach( $_tmp as $data )
{
if ( $data['com_url_title'] AND $data['com_url_uri'] )
{
$data['com_url_uri'] = str_replace( '{ipb.base_url}' , $this->ipsclass->base_url , $data['com_url_uri'] );
$data['com_url_title'] = preg_replace_callback( '#{ipb.lang\[[\'"](.+?)[\'"]\]}#i', array( &$this, '_return_lang_var' ), $data['com_url_title'] );
$components_links .= $this->ipsclass->compiled_templates['skin_global']->global_board_header_component_link( $data['com_url_uri'],$data['com_url_title'], $data );
}
}
}
//-----------------------------------------
// Do it
//-----------------------------------------
$this_header = $this->ipsclass->compiled_templates['skin_global']->global_board_header( $components_links );
$this_footer = $this->ipsclass->compiled_templates['skin_global']->global_board_footer( $this->ipsclass->get_date( time(), 'SHORT', 1 ) );
//-----------------------------------------
// Show rules link?
//-----------------------------------------
if ( $this->ipsclass->vars['gl_show'] and $this->ipsclass->vars['gl_title'] )
{
if ( $this->ipsclass->vars['gl_link'] == "" AND $this->ipsclass->vars['gl_title'] )
{
$this->ipsclass->vars['gl_link'] = $this->ipsclass->base_url."act=boardrules";
}
$this_header = str_replace( "<!--IBF.RULES-->", $this->ipsclass->compiled_templates['skin_global']->rules_link($this->ipsclass->vars['gl_link'], $this->ipsclass->vars['gl_title']), $this_header );
}
//-----------------------------------------
// Build the members bar
//-----------------------------------------
$output_array['MEMBER_BAR'] = $this->ipsclass->compiled_templates['skin_global']->member_bar($msg_data);
//-----------------------------------------
// Board offline?
//-----------------------------------------
if ($this->ipsclass->vars['board_offline'] == 1)
{
$output_array['TITLE'] = $this->ipsclass->lang['warn_offline']." ".$output_array['TITLE'];
}
//-----------------------------------------
// Showing skin jump?
//-----------------------------------------
if ( $this->ipsclass->vars['allow_skins'] and $this->ipsclass->member['id'] > 0 )
{
$skin_jump_options = $this->_build_skin_list();
if( $skin_jump_options )
{
$skin_jump = $this->ipsclass->compiled_templates['skin_global']->global_skin_chooser( $skin_jump_options );
}
else
{
$skin_jump = "";
}
}
else
{
$skin_jump = "";
}
//-----------------------------------------
// Showing skin jump?
//-----------------------------------------
if ( $this->ipsclass->member['id'] > 0 )
{
$lang_jump = $this->ipsclass->compiled_templates['skin_global']->global_lang_chooser( $this->_build_language_list() );
}
else
{
$lang_jump = "";
}
//-----------------------------------------
// Show quick stats?
//-----------------------------------------
$gzip_status = $this->ipsclass->vars['disable_gzip'] == 1 ? $this->ipsclass->lang['gzip_off'] : $this->ipsclass->lang['gzip_on'];
if ( ! $this->ipsclass->server_load )
{
$this->ipsclass->server_load = '--';
}
//-----------------------------------------
// Basics
//-----------------------------------------
if( strstr( strtolower(PHP_OS), 'win' ) )
{
$this->ipsclass->server_load = $this->ipsclass->server_load . '%';
}
if ( $this->ipsclass->member['id'] and $this->ipsclass->vars['debug_level'] )
{
$quickstats = $this->ipsclass->compiled_templates['skin_global']->global_quick_stats($this->ex_time, $gzip_status, $this->ipsclass->server_load, $this->ipsclass->DB->get_query_cnt() );
}
else
{
$quickstats = "";
}
//-----------------------------------------
// Add in task image?
//-----------------------------------------
if ( time() >= $this->ipsclass->cache['systemvars']['task_next_run'] )
{
$this->to_print .= "<!--TASK--><img src='{$this->ipsclass->base_url}act=task' border='0' height='1' width='1' alt='' /><!--ETASK-->";
}
//-----------------------------------------
// Parse EXEC commands in wrapper only
// If we moved this below the block of str_replace
// we'd get exec commands parsed in HTML templates
// too... Do we want that? Not for now...
//-----------------------------------------
if ( stristr( $this->ipsclass->skin['_wrapper'], '<!--exec.' ) )
{
$this->_parse_exec_tags();
}
$output_array['JS'] = (isset($output_array['JS']) AND !is_numeric($output_array['JS'])) ? $output_array['JS'] : '';
$this->ipsclass->skin['_wrapper'] = str_replace( "<% CSS %>" , $css , $this->ipsclass->skin['_wrapper']);
$this->ipsclass->skin['_wrapper'] = str_replace( "<% JAVASCRIPT %>" , $output_array['JS'] , $this->ipsclass->skin['_wrapper']);
$this->ipsclass->skin['_wrapper'] = str_replace( "<% TITLE %>" , $output_array['TITLE'] , $this->ipsclass->skin['_wrapper']);
$this->ipsclass->skin['_wrapper'] = str_replace( "<% BOARD %>" , $this->to_print , $this->ipsclass->skin['_wrapper']);
$this->ipsclass->skin['_wrapper'] = str_replace( "<% STATS %>" , $stats , $this->ipsclass->skin['_wrapper']);
$this->ipsclass->skin['_wrapper'] = str_replace( "<% GENERATOR %>" , $this->_get_rss_export() , $this->ipsclass->skin['_wrapper']);
$this->ipsclass->skin['_wrapper'] = str_replace( "<% COPYRIGHT %>" , $copyright , $this->ipsclass->skin['_wrapper']);
$this->ipsclass->skin['_wrapper'] = str_replace( "<% BOARD HEADER %>" , $this_header , $this->ipsclass->skin['_wrapper']);
$this->ipsclass->skin['_wrapper'] = str_replace( "<% BOARD FOOTER %>" , $this_footer , $this->ipsclass->skin['_wrapper']);
$this->ipsclass->skin['_wrapper'] = str_replace( "<% NAVIGATION %>" , $nav , $this->ipsclass->skin['_wrapper']);
$this->ipsclass->skin['_wrapper'] = str_replace( "<% SKINCHOOSER %>" , $skin_jump , $this->ipsclass->skin['_wrapper']);
$this->ipsclass->skin['_wrapper'] = str_replace( "<% LANGCHOOSER %>" , "" , $this->ipsclass->skin['_wrapper']);
$this->ipsclass->skin['_wrapper'] = str_replace( "<% QUICKSTATS %>" , $quickstats , $this->ipsclass->skin['_wrapper']);
$this->ipsclass->skin['_wrapper'] = str_replace( "<% LOFIVERSION %>" , $this->_get_lofi_link() , $this->ipsclass->skin['_wrapper']);
$this->ipsclass->skin['_wrapper'] = str_replace( "<% SYNDICATION %>" , $this->_get_synd_link() , $this->ipsclass->skin['_wrapper']);
$this->ipsclass->skin['_wrapper'] = str_replace( "<% CHARSET %>" , $this->ipsclass->vars['gb_char_set'], $this->ipsclass->skin['_wrapper']);
if ( empty($output_array['OVERRIDE']) )
{
$this->ipsclass->skin['_wrapper'] = str_replace( "<% MEMBER BAR %>", $output_array['MEMBER_BAR'], $this->ipsclass->skin['_wrapper']);
}
else
{
$this->ipsclass->skin['_wrapper'] = str_replace( "<% MEMBER BAR %>", $this->ipsclass->compiled_templates['skin_global']->member_bar_disabled(), $this->ipsclass->skin['_wrapper']);
}
//-----------------------------------------
// Do we have a PM show?
//-----------------------------------------
if ( isset($this->ipsclass->member['show_popup']) AND $this->ipsclass->member['show_popup'] AND ! $this->ipsclass->member['members_disable_pm'] )
{
$this->ipsclass->DB->simple_construct( array( 'update' => 'members', 'set' => 'show_popup=0', 'where' => 'id='.$this->ipsclass->member['id'] ) );
$this->ipsclass->DB->simple_shutdown_exec();
if ( $this->ipsclass->input['act'] != 'Msg' AND (!$this->ipsclass->vars['board_offline'] OR $ipsclass->member['g_access_offline']) )
{
$this->ipsclass->skin['_wrapper'] = str_replace( '<!--IBF.NEWPMBOX-->', $this->ipsclass->get_new_pm_notification(), $this->ipsclass->skin['_wrapper'] );
}
}
//-----------------------------------------
// Get the macros and replace them
//-----------------------------------------
if ( is_array( $this->ipsclass->skin['_macros'] ) )
{
foreach( $this->ipsclass->skin['_macros'] as $row )
{
if ( $row['macro_value'] != "" )
{
$this->ipsclass->skin['_wrapper'] = str_replace( "<{".$row['macro_value']."}>", $row['macro_replace'], $this->ipsclass->skin['_wrapper'] );
}
}
}
$this->ipsclass->skin['_wrapper'] = str_replace( "<#IMG_DIR#>", $this->ipsclass->skin['_imagedir'], $this->ipsclass->skin['_wrapper'] );
$this->ipsclass->skin['_wrapper'] = str_replace( "<#EMO_DIR#>", $this->ipsclass->skin['_emodir'] , $this->ipsclass->skin['_wrapper'] );
//-----------------------------------------
// Images on another server? uncomment and alter below
//-----------------------------------------
if ( $this->ipsclass->vars['ipb_img_url'] )
{
$this->ipsclass->skin['_wrapper'] = preg_replace( "#img\s+?src=([\"'])style_(images|avatars|emoticons)(.+?)[\"'](.+?)?".">#is", "img src=\\1".$this->ipsclass->vars['ipb_img_url']."style_\\2\\3\\1\\4>", $this->ipsclass->skin['_wrapper'] );
}
//-----------------------------------------
// Stop one from removing cookie protection
//-----------------------------------------
$this->ipsclass->skin['_wrapper'] = preg_replace( "#htmldocument\.prototype#is", "HTMLDocument_prototype", $this->ipsclass->skin['_wrapper'] );
$this->_finish();
print $this->ipsclass->skin['_wrapper'];
//-----------------------------------------
// Clean up...
//-----------------------------------------
unset( $this->ipsclass->skin['_wrapper'], $output_array, $this->to_print );
//-----------------------------------------
// Memory usage
//-----------------------------------------
if ( IPS_MEMORY_DEBUG_MODE AND defined( 'IPB_MEMORY_START' ) )
{
if ( is_array( $this->ipsclass->_memory_debug ) )
{
$memory .= "<br />\n<div class='tableborder'>\n<div class='subtitle'>MEMORY USAGE</div><div class='row1' style='padding:6px'>\n";
$memory .= "<table cellpadding='4' cellspacing='0' border='0' width='100%'>\n";
$_c = 0;
foreach( $this->ipsclass->_memory_debug as $usage )
{
$_col = ( $_c % 2 ) ? '#eee' : '#ddd';
$_c++;
if ( $usage[1] > 500 * 1024 )
{
$_col .= ";color:#D00000";
}
else if ( $usage[1] < 10 * 1024 )
{
$_col .= ";color:darkgreen";
}
else if ( $usage[1] < 100 * 1024 )
{
$_col .= ";color:darkorange";
}
$memory .= "<tr><td width='60%' style='background-color:{$_col}' align='left'>{$usage[0]}</td><td style='background-color:{$_col}' align='left'><strong>".$this->ipsclass->size_format( $usage[1] )."</strong></td></tr>";
}
$memory .= "</table></div></div>";
}
$end = memory_get_usage();
$peak_end = function_exists('memory_get_peak_usage') ? memory_get_peak_usage() : memory_get_usage();
$_used = $end - IPB_MEMORY_START;
$peak_used = $peak_end - IPB_MEMORY_START;
print $memory;
print "Total Memory Used: " . $this->ipsclass->size_format( $_used ) . " (Peak:".$this->ipsclass->size_format( $peak_used ).")";
}
exit;
}
/*-------------------------------------------------------------------------*/
//
// print the headers
//
/*-------------------------------------------------------------------------*/
function do_headers()
{
if ( $this->ipsclass->vars['print_headers'] )
{
$this->ipsclass->vars['gb_char_set'] = $this->ipsclass->vars['gb_char_set'] ? $this->ipsclass->vars['gb_char_set'] : 'iso-8859-1';
header("HTTP/1.0 200 OK");
header("HTTP/1.1 200 OK");
header( "Content-type: text/html;charset={$this->ipsclass->vars['gb_char_set']}" );
if ( $this->ipsclass->vars['nocache'] )
{
header("Cache-Control: no-cache, must-revalidate, max-age=0");
//header("Expires:" . gmdate("D, d M Y H:i:s") . " GMT");
header("Expires: 0");
header("Pragma: no-cache");
}
}
}
/*-------------------------------------------------------------------------*/
//
// print a pure redirect screen
//
/*-------------------------------------------------------------------------*/
function redirect_screen($text="", $url="", $override=0)
{
//-----------------------------------------
// Make sure global skin is loaded
//-----------------------------------------
if ( !isset($this->ipsclass->compiled_templates['skin_global']) OR !is_object($this->ipsclass->compiled_templates['skin_global']) )
{
$this->ipsclass->load_template('skin_global');
}
if ( isset($this->ipsclass->input['debug']) AND $this->ipsclass->input['debug'] )
{
flush();
exit();
}
//-----------------------------------------
// $ibforums not initialized yet?
//-----------------------------------------
if ( $override != 1 )
{
if ( $this->ipsclass->base_url )
{
$url = $this->ipsclass->base_url.$url;
}
else
{
$url = "{$this->ipsclass->vars['board_url']}/index.{$this->ipsclass->vars['php_ext']}?".$url;
}
}
//-----------------------------------------
// Feck off first?
//-----------------------------------------
if ( $this->ipsclass->vars['ipb_remove_redirect_pages'] == 1 )
{
$this->ipsclass->boink_it( $url );
}
$this->ipsclass->lang['stand_by'] = stripslashes($this->ipsclass->lang['stand_by']);
//-----------------------------------------
// CSS
//-----------------------------------------
$css = $this->_get_css();
//-----------------------------------------
// Fix up URLs
//-----------------------------------------
//$url = preg_replace( "#&(?!amp;)#", "&" , $url );
//$url = preg_replace( '/#(?!\d)/' , '#', $url );
//-----------------------------------------
// Get template
//-----------------------------------------
$html = $this->ipsclass->compiled_templates['skin_global']->Redirect( ucfirst($text), $url, $css);
//-----------------------------------------
// Get and parse macros
//-----------------------------------------
$this->_unpack_macros();
foreach( $this->ipsclass->skin['_macros'] as $row )
{
if ($row['macro_value'] != "")
{
$html = str_replace( "<{".$row['macro_value']."}>", $row['macro_replace'], $html );
}
}
$html = str_replace( "<% CHARSET %>" , $this->ipsclass->vars['gb_char_set'], $html );
$html = str_replace( "<#IMG_DIR#>" , $this->ipsclass->skin['_imagedir'] , $html );
$this->_finish();
echo ($html);
exit;
}
/*-------------------------------------------------------------------------*/
//
// print a minimalist screen suitable for small pop up windows
//
/*-------------------------------------------------------------------------*/
function pop_up_window($title = 'Invision Power Board', $text = "" )
{
$this->_check_debug();
//-----------------------------------------
// CSS
//-----------------------------------------
$css = $this->_get_css();
//-----------------------------------------
// Get template
//-----------------------------------------
$html = $this->ipsclass->compiled_templates['skin_global']->pop_up_window($title, $css, $text);
//-----------------------------------------
// Get and parse macros
//-----------------------------------------
$this->_unpack_macros();
foreach( $this->ipsclass->skin['_macros'] as $row )
{
if ( $row['macro_value'] != "" )
{
$html = str_replace( "<{".$row['macro_value']."}>", $row['macro_replace'], $html );
}
}
$html = str_replace( "<% CHARSET %>" , $this->ipsclass->vars['gb_char_set'], $html );
$html = str_replace( "<#IMG_DIR#>" , $this->ipsclass->skin['_imagedir'] , $html );
$html = str_replace( "<#EMO_DIR#>" , $this->ipsclass->skin['_emodir'] , $html );
$html = str_replace( '<{__body_extra__}>', '', $html );
//-----------------------------------------
// Images on another server? uncomment and alter below
//-----------------------------------------
if ( $this->ipsclass->vars['ipb_img_url'] )
{
$html = preg_replace( "#img\s+?src=[\"']style_(images|avatars|emoticons)(.+?)[\"'](.+?)?".">#is", "img src=\"".$this->ipsclass->vars['ipb_img_url']."style_\\1\\2\"\\3>", $html );
}
//-----------------------------------------
// Stop one from removing cookie protection
//-----------------------------------------
$html = preg_replace( "#htmldocument\.prototype#is", "HTMLDocument_prototype", $html );
$this->_finish();
echo ($html);
exit;
}
/*-------------------------------------------------------------------------*/
// Parse EXEC tags
/*-------------------------------------------------------------------------*/
/**
* Parses exec tags in the wrapper
* Nicked from IP.Dynamic.
*/
function _parse_exec_tags()
{
preg_match_all( "#<\!--exec\.(file|url)=(?:[\"'])?(.+?)(?:[\"'])?-->#is", $this->ipsclass->skin['_wrapper'], $match );
for ($i=0; $i < count($match[0]); $i++)
{
$method = strtolower(trim( $match[1][$i] ));
$uri = trim( $match[2][$i] );
//-----------------------------------------
// PARSE: URL
//-----------------------------------------
if ( $method == 'url' AND IPB_ACP_ALLOW_EXEC_URL )
{
//-----------------------------------------
// Buffer...
//-----------------------------------------
@ob_start();
include( $uri );
$data = @ob_get_contents();
@ob_end_clean();
}
//-----------------------------------------
// PARSE: LOCAL FILE
//-----------------------------------------
else
{
if ( file_exists( $uri ) AND ! preg_match( "#http(s)?://#si", $uri ) )
{
//-----------------------------------------
// Buffer...
//-----------------------------------------
@ob_start();
include( $uri );
$data = @ob_get_contents();
@ob_end_clean();
}
}
$this->ipsclass->skin['_wrapper'] = str_replace( $match[0][$i], "<!--included content-->\n".$data."\n<!--/ included content-->", $this->ipsclass->skin['_wrapper'] );
unset( $data );
}
}
/*-------------------------------------------------------------------------*/
// Show Syndication Links
/*-------------------------------------------------------------------------*/
function _get_synd_link()
{
//-----------------------------------------
// INIT
//-----------------------------------------
$content = "";
//-----------------------------------------
// Got any?
//-----------------------------------------
if ( ( ! is_array( $this->ipsclass->cache['rss_export'] ) OR ! count( $this->ipsclass->cache['rss_export'] ) ) AND ( ! is_array( $this->ipsclass->cache['rss_calendar'] ) OR ! count( $this->ipsclass->cache['rss_calendar'] ) ))
{
return;
}
//-----------------------------------------
// Build
//-----------------------------------------
if ( is_array( $this->ipsclass->cache['rss_export'] ) and count( $this->ipsclass->cache['rss_export'] ) )
{
foreach( $this->ipsclass->cache['rss_export'] as $data )
{
$data['title'] = str_replace( '"', '\"', $data['title'] );
$content .= $this->ipsclass->compiled_templates['skin_global']->global_footer_synd_link( $data ) . "\n";
}
}
//-----------------------------------------
// Build
//-----------------------------------------
if ( is_array( $this->ipsclass->cache['rss_calendar'] ) and count( $this->ipsclass->cache['rss_calendar'] ) )
{
foreach( $this->ipsclass->cache['rss_calendar'] as $data )
{
$data['title'] = $this->ipsclass->lang['rss_calendar'].' '.$data['title'];
$content .= $this->ipsclass->compiled_templates['skin_global']->global_footer_synd_link( $data ) . "\n";
}
}
//-----------------------------------------
// Clean up content
//-----------------------------------------
$content = preg_replace( "#,(\s+)?$#s", "", $content );
//-----------------------------------------
// Return
//-----------------------------------------
return $this->ipsclass->compiled_templates['skin_global']->global_footer_synd_wrapper( $content );
}
/*-------------------------------------------------------------------------*/
// Show RSS export links
/*-------------------------------------------------------------------------*/
function _get_rss_export()
{
//-----------------------------------------
// INIT
//-----------------------------------------
$content = "";
//-----------------------------------------
// Got any?
//-----------------------------------------
if ( ( ! is_array( $this->ipsclass->cache['rss_export'] ) OR ! count( $this->ipsclass->cache['rss_export'] ) ) AND ( ! is_array( $this->ipsclass->cache['rss_calendar'] ) OR ! count( $this->ipsclass->cache['rss_calendar'] ) ))
{
return;
}
//-----------------------------------------
// Build
//-----------------------------------------
if ( is_array( $this->ipsclass->cache['rss_export'] ) and count( $this->ipsclass->cache['rss_export'] ) )
{
foreach( $this->ipsclass->cache['rss_export'] as $data )
{
$data['title'] = str_replace( '"', '"', $data['title'] );
$content .= $this->ipsclass->compiled_templates['skin_global']->global_rss_link( $data ) . "\n";
}
}
//-----------------------------------------
// Build
//-----------------------------------------
if ( is_array( $this->ipsclass->cache['rss_calendar'] ) and count( $this->ipsclass->cache['rss_calendar'] ) )
{
foreach( $this->ipsclass->cache['rss_calendar'] as $data )
{
$data['title'] = $this->ipsclass->lang['rss_calendar'] . ' ' . str_replace( '"', '"', $data['title'] );
$content .= $this->ipsclass->compiled_templates['skin_global']->global_rss_link( $data ) . "\n";
}
}
//-----------------------------------------
// Return
//-----------------------------------------
return $content;
}
/*-------------------------------------------------------------------------*/
// Show lo-fi link
/*-------------------------------------------------------------------------*/
function _get_lofi_link()
{
$link = "";
$char = '/';
if ( substr(PHP_OS, 0, 3) == 'WIN' OR strstr( php_sapi_name(), 'cgi') OR php_sapi_name() == 'apache2filter' )
{
$char = '?';
}
if ( $this->ipsclass->input['act'] == 'st' )
{
$link = $char.'t'.$this->ipsclass->input['t'].'.html';
}
else if ( $this->ipsclass->input['act'] == 'sf' )
{
$link = $char.'f'.$this->ipsclass->input['f'].'.html';
}
return $link;
}
/*-------------------------------------------------------------------------*/
// Build Languages List
/*-------------------------------------------------------------------------*/
function _build_language_list()
{
$lang_list = "";
//-----------------------------------------
// Roots
//-----------------------------------------
foreach( $this->ipsclass->cache['languages'] as $data )
{
if ( $this->ipsclass->lang_id == $data['ldir'] )
{
$selected = ' selected="selected"';
}
else
{
$selected = "";
}
$lang_list .= "\n<option value='{$data['ldir']}'{$selected}>{$data['lname']}</option>";
}
return $lang_list;
}
/*-------------------------------------------------------------------------*/
// Build Skin List
/*-------------------------------------------------------------------------*/
function _build_skin_list()
{
$skin_list = "";
//-----------------------------------------
// Roots
//-----------------------------------------
foreach( $this->ipsclass->cache['skin_id_cache'] as $id => $data )
{
$skin_sets[ $data['set_parent'] ]['_children'][] = $id;
if ( $data['set_parent'] < 1 and $id > 1 )
{
if ( $data['set_hidden'] and ! $this->ipsclass->member['g_access_cp'] )
{
continue;
}
$star = $data['set_hidden'] ? ' *' : '';
if ( isset($this->ipsclass->skin['_setid']) AND $this->ipsclass->skin['_setid'] == $id )
{
$selected = ' selected="selected"';
}
else
{
$selected = "";
}
$skin_list .= "\n<option value='$id'{$selected}>{$data['set_name']}{$star}</option><!--CHILDREN:{$id}-->";
}
}
//-----------------------------------------
// Kids...
//-----------------------------------------
foreach( $skin_sets as $id => $data )
{
if ( is_array( $data['_children'] ) and count( $data['_children'] ) > 0 )
{
$html = "";
foreach( $data['_children'] as $cid )
{
if ( $this->ipsclass->cache['skin_id_cache'][ $cid ]['set_hidden'] and ! $this->ipsclass->member['g_access_cp'] )
{
continue;
}
$star = $this->ipsclass->cache['skin_id_cache'][ $cid ]['set_hidden'] ? ' *' : '';
if ( isset($this->ipsclass->skin['_setid']) AND $this->ipsclass->skin['_setid'] == $cid )
{
$selected = ' selected="selected"';
}
else
{
$selected = "";
}
$html .= "\n<option value='$cid'{$selected}>---- {$this->ipsclass->cache['skin_id_cache'][ $cid ]['set_name']}{$star}</option>";
}
$skin_list = str_replace( "<!--CHILDREN:{$id}-->", $html, $skin_list );
}
}
return $skin_list;
}
/*-------------------------------------------------------------------------*/
// unpack_macros
/*-------------------------------------------------------------------------*/
function _unpack_macros()
{
if ( ! is_array( $this->ipsclass->skin['_macros'] ) OR ! count( $this->ipsclass->skin['_macros'] ) )
{
$this->ipsclass->skin['_macros'] = unserialize( stripslashes($this->ipsclass->skin['_macro']) );
}
if ( LEGACY_MODE )
{
$this->macros =& $this->ipsclass->skin['_macros'];
}
}
/*-------------------------------------------------------------------------*/
// show_debug
/*-------------------------------------------------------------------------*/
function _show_debug()
{
$input = "";
$queries = "";
$sload = "";
$stats = "";
//-----------------------------------------
// Form & Get & Skin
//-----------------------------------------
if ($this->ipsclass->vars['debug_level'] >= 2)
{
$stats .= "<br />\n<div class='tableborder'>\n<div class='subtitle'>FORM and GET Input</div><div class='row1' style='padding:6px'>\n";
while( list($k, $v) = each($this->ipsclass->input) )
{
if ( in_array( strtolower( $k ), array( 'pass', 'password' ) ) )
{
$v = '*******';
}
$stats .= "<strong>$k</strong> = $v<br />\n";
}
$stats .= "</div>\n</div>";
$stats .= "<br />\n<div class='tableborder'>\n<div class='subtitle'>SKIN & TASK Info</div><div class='row1' style='padding:6px'>\n";
while( list($k, $v) = each($this->ipsclass->skin) )
{
if( is_array($v) )
{
continue;
}
if ( strlen($v) > 120 )
{
$v = substr( $v, 0, 120 ). '...';
}
$stats .= "<strong>$k</strong> = ".$this->ipsclass->txt_htmlspecialchars($v)."<br />\n";
}
//-----------------------------------------
// Stop E_ALL moaning...
//-----------------------------------------
$this->ipsclass->cache['systemvars']['task_next_run'] = isset( $this->ipsclass->cache['systemvars']['task_next_run'] ) ? $this->ipsclass->cache['systemvars']['task_next_run'] : 0;
$stats .= "<b>Next task</b> = ".$this->ipsclass->get_date( $this->ipsclass->cache['systemvars']['task_next_run'], 'LONG' )."\n<br /><b>Time now</b> = ".$this->ipsclass->get_date( time(), 'LONG' );
$stats .= "<br /><b>Timestamp Now</b> = ".time();
$stats .= "</div>\n</div>";
$stats .= "<br />\n<div class='tableborder'>\n<div class='subtitle'>Loaded PHP Templates</div><div class='row1' style='padding:6px'>\n";
$stats .= "<strong>".implode(", ",array_keys($this->ipsclass->compiled_templates))."</strong><br />\n";
$stats .= "<strong>".implode(", ",array_keys($this->ipsclass->loaded_templates))."</strong><br />\n";
$stats .= "</div>\n</div>";
}
//-----------------------------------------
// SQL
//-----------------------------------------
if ($this->ipsclass->vars['debug_level'] >= 3)
{
$stats .= "<br />\n<div class='tableborder' style='overflow:auto'>\n<div class='subtitle'>Queries Used</div><div class='row1' style='padding:6px'>";
foreach($this->ipsclass->DB->obj['cached_queries'] as $q)
{
$q = htmlspecialchars($q);
$q = preg_replace( "/^SELECT/i" , "<span class='red'>SELECT</span>" , $q );
$q = preg_replace( "/^UPDATE/i" , "<span class='blue'>UPDATE</span>" , $q );
$q = preg_replace( "/^DELETE/i" , "<span class='orange'>DELETE</span>", $q );
$q = preg_replace( "/^INSERT/i" , "<span class='green'>INSERT</span>" , $q );
$q = str_replace( "LEFT JOIN" , "<span class='red'>LEFT JOIN</span>" , $q );
$q = preg_replace( "/(".$this->ipsclass->vars['sql_tbl_prefix'].")(\S+?)([\s\.,]|$)/", "<span class='purple'>\\1\\2</span>\\3", $q );
$stats .= "$q<hr />\n";
}
if ( count( $this->ipsclass->DB->obj['shutdown_queries'] ) )
{
foreach($this->ipsclass->DB->obj['shutdown_queries'] as $q)
{
$q = htmlspecialchars($q);
$q = preg_replace( "/^SELECT/i" , "<span class='red'>SELECT</span>" , $q );
$q = preg_replace( "/^UPDATE/i" , "<span class='blue'>UPDATE</span>" , $q );
$q = preg_replace( "/^DELETE/i" , "<span class='orange'>DELETE</span>", $q );
$q = preg_replace( "/^INSERT/i" , "<span class='green'>INSERT</span>" , $q );
$q = str_replace( "LEFT JOIN" , "<span class='red'>LEFT JOIN</span>" , $q );
$q = preg_replace( "/(".$this->ipsclass->vars['sql_tbl_prefix'].")(\S+?)([\s\.,]|$)/", "<span class='purple'>\\1\\2</span>\\3", $q );
$stats .= "<div style='background:#DEDEDE'><b>SHUTDOWN:</b> $q</div><hr />\n";
}
}
$stats .= "</div>\n</div>";
}
if ( $stats )
{
$collapsed_ids = ','.$this->ipsclass->my_getcookie('collapseprefs').',';
$show['div_fo'] = '';
$show['div_fc'] = 'none';
if ( strstr( $collapsed_ids, ',debug,' ) )
{
$show['div_fo'] = 'none';
$show['div_fc'] = '';
}
$stats = "<div align='center' style='display:{$show['div_fc']}' id='fc_debug'>
<div class='row2' style='padding:8px;vertical-align:middle'><a href='java script:togglecategory(\"debug\", 0);'>Show Debug Information</a></div>
</div>
<div align='center' style='display:{$show['div_fo']}' id='fo_debug'>
<div class='row2' style='padding:8px;vertical-align:middle'><a href='java script:togglecategory(\"debug\", 1);'>Hide Debug Information</a></div>
<br />
<div class='tableborder' align='left'>
<div class='maintitle'>Debug Information</div>
<div style='padding:5px;background:#8394B2;'>$stats</div>
</div>
</div>";
}
return $stats;
}
/*-------------------------------------------------------------------------*/
// check_debug
/*-------------------------------------------------------------------------*/
function _check_debug()
{
if ($this->ipsclass->DB->obj['debug'])
{
flush();
print "<html><head><title>SQL Debugger</title><body bgcolor='white'><style type='text/css'> TABLE, TD, TR, BODY { font-family: verdana,arial, sans-serif;color:black;font-size:11px }</style>";
print "<h1 align='center'>SQL Total Time: {$this->ipsclass->DB->sql_time} for {$this->ipsclass->DB->query_count} queries</h1><br />".$this->ipsclass->DB->debug_html;
print "<br /><div align='center'><strong>Total SQL Time: {$this->ipsclass->DB->sql_time}</div></body></html>";
exit();
}
}
//*-------------------------------------------------------------------------*/
// get_css
/*-------------------------------------------------------------------------*/
function _get_css()
{
if ( $this->ipsclass->skin['_usecsscache'] and @file_exists( CACHE_PATH.'style_images/css_'. $this->ipsclass->skin['_csscacheid'] .'.css' ) )
{
$css = $this->ipsclass->compiled_templates['skin_global']->css_external($this->ipsclass->skin['_csscacheid']);
}
else
{
$css = $this->ipsclass->compiled_templates['skin_global']->css_inline( str_replace( "<#IMG_DIR#>", $this->ipsclass->skin['_imagedir'], $this->ipsclass->skin['_css'] ) );
}
return $css;
}
/*-------------------------------------------------------------------------*/
// finish
/*-------------------------------------------------------------------------*/
function _finish()
{
//-----------------------------------------
// Do shutdown
//-----------------------------------------
if ( ! USE_SHUTDOWN )
{
$this->ipsclass->my_deconstructor();
$this->ipsclass->DB->close_db();
}
//-----------------------------------------
// Start GZIP compression
//-----------------------------------------
if ($this->ipsclass->vars['disable_gzip'] != 1 )
{
$buffer = "";
if ( count( ob_list_handlers() ) )
{
$buffer = ob_get_contents();
ob_end_clean();
}
@ob_start('ob_gzhandler');
print $buffer;
}
//-----------------------------------------
// Print, plop and part
//-----------------------------------------
$this->do_headers();
}
/*-------------------------------------------------------------------------*/
// Bleh.
/*-------------------------------------------------------------------------*/
function _return_lang_var( $matches=array() )
{
return $this->ipsclass->lang[ $matches[1] ];
}
} // END class
?>
IPSBeyond - Support IP.Board, Modyfikacje IP.Board, Skiny IP.Board
#6
Napisany 19 marzec 2009 - 17:14
$this_footer = $this->ipsclass->compiled_templates['skin_global']->global_board_footer( $this->ipsclass->get_date( time(), 'SHORT', 1 ) );
i zamień na:
$this_footer = $this->ipsclass->compiled_templates['skin_global']->global_board_footer( strftime( 'SHORT', time() ) );
i powinno działać
Dawid Baruch - Portfolio Webmastera, IPB, php, grafika, sql, skiny IPB, mody IP.Board
IP.Board NEWS
Licencje IP.Board
#7
Napisany 19 marzec 2009 - 21:38
IPSBeyond - Support IP.Board, Modyfikacje IP.Board, Skiny IP.Board
#8
Napisany 20 marzec 2009 - 05:43
%A, %d %B %Y - %H:%M
Dawid Baruch - Portfolio Webmastera, IPB, php, grafika, sql, skiny IPB, mody IP.Board
IP.Board NEWS
Licencje IP.Board
#9
Napisany 20 marzec 2009 - 11:23
Takie cos pisze mi w temacie jak cytuje dany temat
i wyslij mi ten plik z ACP
Edytowany przez MitTro, 20 marzec 2009 - 11:25.
IPSBeyond - Support IP.Board, Modyfikacje IP.Board, Skiny IP.Board
#10
Napisany 20 marzec 2009 - 16:29
jeśli chodzi o ten błąd z datą to spróbuj czegoś takiego
otwórz /sources/ipsclass.php
znajdź:
return gmdate($this->time_options[$method], ($date + $this->offset) );
i zamień na:
return strftime( $this->time_options[$method], ($date + $this->offset) );
ten kod występuje 3 razy i zamień go 3 razy
co do błędu skinu w acp to zaraz lookne
Dawid Baruch - Portfolio Webmastera, IPB, php, grafika, sql, skiny IPB, mody IP.Board
IP.Board NEWS
Licencje IP.Board
#11
Napisany 20 grudzień 2010 - 19:55
Dawid Baruch - Portfolio Webmastera, IPB, php, grafika, sql, skiny IPB, mody IP.Board
IP.Board NEWS
Licencje IP.Board
0 użytkowników czyta ten temat
0 użytkowników, 0 gości, 0 anonimowych użytkowników




Ten temat jest zablokowany















