Düzeltme 1.0.9 #004
Using bbcode click with images, don't work, for fix it, please do this :
Ned to replace all function click_pass in includes/abbcode.php
includes/abbcode.php ( Aç )
function click_pass( $var1, $var2 ) (Bunu Bul)
return '[click' . ( ($var1) ? '=' . $var1 : '' ) . ']' . $var2 . '[/click]';
} (Bu kodun bitimine kadar seç)
Bununla Değiştir.
- Kod: Tümünü seç
function click_pass( $var1, $var2 )
{
global $db, $user, $phpbb_root_path, $phpEx;
$var1 = str_replace("\r\n", "\n", str_replace('\"', '"', trim($var1)));
$var2 = str_replace("\r\n", "\n", str_replace('\"', '"', trim($var2)));
$url = ($var1) ? $var1 : $var2;
if ($var1 && !$var2)
{
$var2 = $var1;
}
if (!$url)
{
return '[click' . ( ($var1) ? '=' . $var1 : '' ) . ']' . $var2 . '[/click]';
}
$valid = false;
$url = str_replace(' ', '%20', $url);
// Checking urls
if (preg_match('#^' . get_preg_expression('url') . '$#i', $url) ||
preg_match('#^' . get_preg_expression('www_url') . '$#i', $url) ||
preg_match('#^' . preg_quote(generate_board_url(), '#') . get_preg_expression('relative_url') . '$#i', $url))
{
$valid = true;
$data = array(
'url' => str_replace( array( ':', '.' ), array( ':', '.' ), addslashes( $url ) ) ,
);
}
// Checking image urls/src
if ( preg_match("#<img((.*?))\/>#si", $url) )
{
// Fix for thumbnail
if ( !preg_match("#gb_imageset#si", $url) )
{
$valid = true;
}
$url = str_replace('%20 ', ' ', $var2);
$data = array(
'url' => preg_replace('#<img src="(.*?)"((.*?))\/>#si', '$1', $var2 ),
);
}
if ( $valid )
{
$sql = 'SELECT id, clicks FROM ' . CLICKS_TABLE . ' WHERE ' . $db->sql_build_array( 'SELECT', $data );
$result = $db->sql_query($sql);
if( $row = $db->sql_fetchrow( $result ) )
{
$clicks_id = $row['id'];
$clicks_val= $row['clicks'];
}
else
{
$sql = 'INSERT INTO ' . CLICKS_TABLE . ' ' . $db->sql_build_array( 'INSERT', $data );
$db->sql_query($sql);
$clicks_id = $db->sql_nextid();
$clicks_val= '0';
}
$user->add_lang('mods/abbcode');
// Link to ABBC3 simple redirect page
$redirect = append_sid("{$phpbb_root_path}includes/functions_abbcode.$phpEx", "mode=click&id=$clicks_id");
return '<a href="' . $redirect . '" onclick="window.open(this.href); return false;" onkeypress="window.open(this.href); return false;" >' . ( ($var1) ? $var2 : $url ) . '</a> ' . sprintf( ( ( $clicks_val == 1 ) ? $user->lang['ABBC3_CLICK_TIME'] : $user->lang['ABBC3_CLICK_TIMES'] ), $clicks_val );
}
return '[click' . ( ($var1) ? '=' . $var1 : '' ) . ']' . $var2 . '[/click]';
}