static function pubcallOperator($sArg, $sValue, $sLang, $asOperatorArgs = array()) { switch ($sArg) { case "firstwords": $sReturn = AnwXml::xmlGetUntranslatedTxt($sValue, false); $nFirstWordsLength = self::FIRSTWORDS_LENGTH; if (isset($asOperatorArgs[0]) && intval($asOperatorArgs[0]) > 0) { $nFirstWordsLength = intval($asOperatorArgs[0]); } if (strlen($sReturn) > self::FIRSTWORDS_LENGTH) { $sReturn = AnwUtils::firstWords($sValue, $nFirstWordsLength) . '...'; } return $sReturn; break; case "date": $sReturn = Anwi18n::date($sValue, $sLang); return $sReturn; break; case "datetime": $sReturn = Anwi18n::dateTime($sValue, $sLang); return $sReturn; break; case "year": $sReturn = AnwUtils::date("Y", $sValue); return $sReturn; break; case "monthyear": $sReturn = AnwUtils::date("M Y", $sValue); return $sReturn; break; case "count": $sReturn = count($sValue); return $sReturn; break; case "len": $sReturn = strlen(trim($sValue)); return $sReturn; break; case "skipuntr": $sReturn = AnwUtils::renderUntr($sValue); return $sReturn; break; // numeric maths // numeric maths case "add": case "sub": case "mul": case "div": case "pow": if (isset($asOperatorArgs[0])) { $nNumber = intval($asOperatorArgs[0]); } switch ($sArg) { case "add": $sReturn = intval($sValue) + $nNumber; break; case "sub": $sReturn = intval($sValue) - $nNumber; break; case "mul": $sReturn = intval($sValue) * $nNumber; break; case "div": $sReturn = intval($sValue) / $nNumber; break; case "pow": $sReturn = intval($sValue) ^ $nNumber; break; } return $sReturn; break; default: $sReturn = AnwPlugins::vhook('contentclass_pubcalloperator_default', $sValue, $sArg); return $sReturn; break; } }