issue 2119. supporting php 5.4.

git-svn-id: http://xe-core.googlecode.com/svn/branches/maserati@12682 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
flyskyko 2013-02-04 08:30:39 +00:00
parent 005768c71e
commit 669c9a5948
14 changed files with 768 additions and 492 deletions

View file

@ -1,5 +1,7 @@
<?php
if(!defined('__XE__')) exit();
if(!defined('__XE__'))
exit();
/**
* @file image_name.addon.php
@ -9,16 +11,21 @@ if(!defined('__XE__')) exit();
* Find member_srl in the part with <div class="member_MemberSerialNumber"> .... </div>
* Check if ther is image name and image mark. Then change it.
*/
/**
* Just before displaying, change image name/ image mark
*/
if($called_position != "before_display_content" || Context::get('act')=='dispPageAdminContentModify') return;
if($called_position != "before_display_content" || Context::get('act') == 'dispPageAdminContentModify')
{
return;
}
// Include a file having functions to replace member image name/mark
require_once('./addons/member_extra_info/member_extra_info.lib.php');
// 1. Find a part <div class="member_MemberSerialNumber"> content </div> in the output document, change it to image name/mark by using MemberController::transImageName()
$temp_output = preg_replace_callback('!<(div|span|a)([^\>]*)member_([0-9]+)([^\>]*)>(.*?)\<\/(div|span|a)\>!is', 'memberTransImageName', $output);
if($temp_output) $output = $temp_output;
if($temp_output)
{
$output = $temp_output;
}
unset($temp_output);
/* End of file member_extra_info.addon.php */

View file

@ -1,16 +1,23 @@
<?php
/**
* @brief If member_srl exists in the div or span, replace to image name or nick image for each member_srl
**/
* */
function memberTransImageName($matches)
{
// If member_srl < 0, then return text only in the body
$member_srl = $matches[3];
if($member_srl<0) return $matches[5];
if($member_srl < 0)
{
return $matches[5];
}
// If member_srl=o(not a member), return the entire body
if(!$member_srl) return $matches[0];
if(!$member_srl)
{
return $matches[0];
}
$oMemberModel = &getModel('member');
$oMemberModel = getModel('member');
$nick_name = $matches[5];
// If pre-defined data in the global variablesm return it
@ -19,13 +26,25 @@ function memberTransImageName($matches)
$GLOBALS['_transImageNameList'][$member_srl]->cached = true;
$image_name_file = sprintf('files/member_extra_info/image_name/%s%d.gif', getNumberingPath($member_srl), $member_srl);
$image_mark_file = sprintf('files/member_extra_info/image_mark/%s%d.gif', getNumberingPath($member_srl), $member_srl);
if(file_exists($image_name_file)) $GLOBALS['_transImageNameList'][$member_srl]->image_name_file = $image_name_file;
else $image_name_file = '';
if(file_exists($image_mark_file)) $GLOBALS['_transImageNameList'][$member_srl]->image_mark_file = $image_mark_file;
else $image_mark_file = '';
if(file_exists($image_name_file))
{
$GLOBALS['_transImageNameList'][$member_srl]->image_name_file = $image_name_file;
}
else
{
$image_name_file = '';
}
if(file_exists($image_mark_file))
{
$GLOBALS['_transImageNameList'][$member_srl]->image_mark_file = $image_mark_file;
}
else
{
$image_mark_file = '';
}
$site_module_info = Context::get('site_module_info');
$group_image = $oMemberModel->getGroupImageMark($member_srl,$site_module_info->site_srl);
$group_image = $oMemberModel->getGroupImageMark($member_srl, $site_module_info->site_srl);
$GLOBALS['_transImageNameList'][$member_srl]->group_image = $group_image;
}
else
@ -35,20 +54,33 @@ function memberTransImageName($matches)
$image_mark_file = $GLOBALS['_transImageNameList'][$member_srl]->image_mark_file;
}
// If image name and mark doesn't exist, set the original information
if(!$image_name_file && !$image_mark_file && !$group_image) return $matches[0];
if(!$image_name_file && !$image_mark_file && !$group_image)
{
return $matches[0];
}
// check member_config
$config = $oMemberModel->getMemberConfig();
if($config->image_name == 'Y' && $image_name_file) $nick_name = sprintf('<img src="%s%s" alt="id: %s" title="id: %s" style="border:0;vertical-align:middle;margin-right:3px" />', Context::getRequestUri(),$image_name_file, strip_tags($nick_name), strip_tags($nick_name));
if($config->image_mark == 'Y' && $image_mark_file) $nick_name = sprintf('<img src="%s%s" alt="id: %s" title="id : %s" style="border:0;vertical-align:middle;margin-right:3px"/>%s', Context::getRequestUri(),$image_mark_file, strip_tags($nick_name), strip_tags($nick_name), $nick_name);
if($config->image_name == 'Y' && $image_name_file)
{
$nick_name = sprintf('<img src="%s%s" alt="id: %s" title="id: %s" style="border:0;vertical-align:middle;margin-right:3px" />', Context::getRequestUri(), $image_name_file, strip_tags($nick_name), strip_tags($nick_name));
}
if($config->image_mark == 'Y' && $image_mark_file)
{
$nick_name = sprintf('<img src="%s%s" alt="id: %s" title="id : %s" style="border:0;vertical-align:middle;margin-right:3px"/>%s', Context::getRequestUri(), $image_mark_file, strip_tags($nick_name), strip_tags($nick_name), $nick_name);
}
if($group_image) $nick_name = sprintf('<img src="%s" style="border:0;max-height:16px;vertical-align:middle;margin-right:3px" alt="%s" title="%s" />%s', $group_image->src, $group_image->title, $group_image->description, $nick_name);
if($group_image)
{
$nick_name = sprintf('<img src="%s" style="border:0;max-height:16px;vertical-align:middle;margin-right:3px" alt="%s" title="%s" />%s', $group_image->src, $group_image->title, $group_image->description, $nick_name);
}
$orig_text = preg_replace('/'.preg_quote($matches[5],'/').'<\/'.$matches[6].'>$/', '', $matches[0]);
return $orig_text.$nick_name.'</'.$matches[6].'>';
$orig_text = preg_replace('/' . preg_quote($matches[5], '/') . '<\/' . $matches[6] . '>$/', '', $matches[0]);
return $orig_text . $nick_name . '</' . $matches[6] . '>';
}
/* End of file member_extra_info.lib.php */
/* Location: ./addons/member_extra_info/member_extra_info.lib.php */