Project

General

Profile

Feature proposal #2445 ยป 2445.patch

krileon, 21 March 2011 17:46

View differences:

administrator/components/com_comprofiler/plugin.foundation.php
$msg = $this->_evaluateIfs( $msg );
$msg = $this->_evaluateCbTags( $msg );
$msg = $this->_evaluateCbFields( $msg );
if ( is_object( $row ) ) {
// old legacy modes:
$array = get_object_vars( $row );
foreach( $array AS $k => $v ) {
if( ( ! is_object( $v ) ) && ( ! is_array( $v ) ) ) {
if ( ! ( ( strtolower( $k ) == "password" ) && ( strlen($v) >= 32 ) ) ) {
/* do not translate content ! :
$vTranslated = ( $translateLanguage ? getLangDefinition( $v ) : $v );
if ( is_array( $htmlspecialchars ) ) {
$vTranslated = call_user_func_array( $htmlspecialchars, array( $vTranslated ) );
}
$msg = cbstr_ireplace("[".$k."]", $htmlspecialchars === true ? htmlspecialchars( $vTranslated ) : $vTranslated, $msg );
*/
if ( is_array( $htmlspecialchars ) ) {
$v = call_user_func_array( $htmlspecialchars, array( $v ) );
}
$msg = cbstr_ireplace("[".$k."]", $htmlspecialchars === true ? htmlspecialchars( $v ) : $v, $msg );
}
}
}
}
foreach( $extraStrings AS $k => $v) {
if( ( ! is_object( $v ) ) && ( ! is_array( $v ) ) ) {
/* do not translate content ! :
......
return preg_replace_callback( $regex, array( $this, '_evaluateIfs' ), $input );
}
function _evaluateCbFields( $input ) {
$regex = '#\[([\w-]+)\]#';
if ( is_array( $input ) ) {
if ( ( $this !== null ) && is_object( $this->_cbuser ) && isset( $this->_cbuser->id ) ) {
$val = $this->getField( $input[1], null, 'php' );
if ( is_array( $val ) || isset( $this->_cbuser->$input[1] ) ) {
if ( is_array( $val ) ) {
$val = array_shift( $val );
}
if ( ! $val ) {
$val = $this->_cbuser->get( $input[1] );
}
if( ( ! is_object( $val ) ) && ( ! is_array( $val ) ) ) {
if ( ! ( ( strtolower( $input[1] ) == 'password' ) && ( strlen( $val ) >= 32 ) ) ) {
return $val;
}
}
} else {
return '[' . $input[1] . ']';
}
} else {
return '[' . $input[1] . ']';
}
}
return preg_replace_callback( $regex, array( $this, '_evaluateCbFields' ), $input );
}
function _evaluateCbTags( $input ) {
global $_CB_framework;
......
switch ( $type ) {
case 'userdata':
return $user->_cbuser->get( $input[2] );
$val = $user->getField( $input[2], null, 'php' );
if ( is_array( $val ) ) {
$val = array_shift( $val );
}
if ( ! $val ) {
$val = $user->_cbuser->get( $input[2] );
}
return $val;
break;
case 'userfield':
case 'usertab':
    (1-1/1)