本文整理汇总了PHP中_ml_substr函数的典型用法代码示例。如果您正苦于以下问题:PHP _ml_substr函数的具体用法?PHP _ml_substr怎么用?PHP _ml_substr使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了_ml_substr函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: output
function output($mode)
{
global $application;
loadCoreFile('html_form.php');
$this->_prefix = _ml_strtolower($mode);
$this->_Prefix = _ml_strtoupper($mode[0]) . _ml_substr($this->_prefix, 1);
$this->_PREFIX = _ml_strtoupper($mode);
$this->_messageResources =& Subscriptions::getMessageResources();
$this->_tmplFiller = new TmplFiller(dirname(dirname(__FILE__)) . '/templates_az/');
$this->initFormData();
$result = '';
//$action = modApiFunc('Request', 'getValueByKey', 'asc_action');
$action = @$this->POST['asc_action'];
$has_errors = sizeof($this->ErrorsArray) > 0;
$stage = modApiFunc('Request', 'getValueByKey', 'stage');
if (empty($stage)) {
$result = $this->outputAskEmails();
} elseif ($stage == 'confirm') {
$result = $this->outputAskConfirmation();
} elseif ($stage == 'finish') {
// @ show errors if were
modApiFunc("application", "closeChild_UpdateParent");
}
return $result;
}
示例2: output
/**
*
*/
function output()
{
global $application;
ob_start();
phpinfo(1);
$content = ob_get_contents();
ob_end_clean();
$flag = true;
while ($flag) {
$pos = _ml_strpos($content, "\n");
$line = _ml_substr($content, 0, $pos);
$content = _ml_substr($content, $pos + 1);
if (_ml_strpos($line, "System")) {
$line = _ml_substr($line, 0, _ml_strrpos($line, "<"));
$line = _ml_substr($line, 0, _ml_strrpos($line, "<"));
$line = _ml_substr($line, _ml_strrpos($line, ">") + 1);
$flag = false;
}
}
$OS = $line;
$request = new Request();
$request->setView('PHPInfo');
$link = $request->getURL();
global $db_link;
$template_contents = array("ProductVersion" => PRODUCT_VERSION_NUMBER, "ProductVersionType" => PRODUCT_VERSION_TYPE, "ProductReleaseDate" => PRODUCT_VERSION_DATE, "CoreVersion" => CORE_VERSION, "ModulesList" => $this->outputModules(), "phpVersion" => PHP_VERSION, "MySQLVersion" => mysqli_get_server_info($db_link), "ServerOS" => $OS, "WebServerVersion" => $_SERVER["SERVER_SOFTWARE"], "PHPInfoLink" => $link);
$this->_Template_Contents = $template_contents;
$application->registerAttributes($this->_Template_Contents);
return modApiFunc('TmplFiller', 'fill', "tools/server_info/", "container.tpl.html", array());
}
示例3: updateDataInDB
function updateDataInDB($data)
{
foreach ($data as $key => $val) {
if (_ml_substr($key, 0, 3) == "hf_") {
modApiFunc("Location", "updateState", $val, isset($data["ci_" . $val]) ? $data["ci_" . $val] : NULL, isset($data["cb_" . $val]) ? "true" : "false", isset($data["default_state"]) && $data["default_state"] == $val ? "true" : "false");
}
}
}
示例4: onAction
function onAction()
{
global $application;
$eid = $_POST["entity_id"];
$pe = $_POST["parent_entity"];
unset($_POST["entity_id"], $_POST["parent_entity"]);
$data = array("parent_entity" => $pe, "entity_id" => $eid, "option_name" => $_POST["NewOption"]["OptionName"], "display_name" => $_POST["NewOption"]["DisplayName"], "display_descr" => $_POST["NewOption"]["DisplayDescr"], "option_type" => $_POST["NewOption"]["OptionType"], "show_type" => $_POST["NewOption"]["ShowType"][$_POST["NewOption"]["OptionType"]]);
if ($data["option_type"] == "SS") {
$data["discard_avail"] = _ml_substr($_POST["NewOption"]["DiscardAvail"], 0, 1);
if ($data["discard_avail"] == 'Y') {
$data["discard_value"] = $_POST["NewOption"]["DiscardValue"];
}
}
if ($data["option_type"] == "UF") {
$data["discard_avail"] = _ml_substr($_POST["NewOption"]["DiscardAvail"], 0, 1);
}
if ($data["option_type"] == "CI" and in_array($data["show_type"], array('CBSI', 'CBTA'))) {
$data["checkbox_text"] = $_POST["NewOption"]["CheckBoxText"];
}
if (!in_array($data["option_type"], array("CI", "UF"))) {
$data["use_for_it"] = _ml_substr($_POST["NewOption"]["UseForIT"], 0, 1);
} else {
$data["use_for_it"] = 'N';
}
$check_result = modApiFunc("Product_Options", "checkDataFor", "addOptionToEntity", $data);
if ($pe == "product" and !modApiFunc("Catalog", "isCorrectProductId", $data["entity_id"])) {
$check_result[] = "E_INVALID_PRODUCT_ID";
}
if (!empty($check_result)) {
modApiFunc("Session", "set", "Errors", $check_result);
$request = new Request();
$request->setKey("parent_entity", $pe);
$request->setKey("entity_id", $eid);
$request->setView('PO_AddOption');
$application->redirect($request);
} else {
$add_result = modApiFunc("Product_Options", "addOptionToEntity", $data);
if ($add_result == false) {
modApiFunc("Session", "set", "SessionPost", $_POST);
modApiFunc("Session", "set", "ResultMessage", "MSG_OPTION_NOT_ADDED");
$request = new Request();
$request->setKey("parent_entity", $pe);
$request->setKey("entity_id", $eid);
$request->setView('PO_AddOption');
$application->redirect($request);
} else {
modApiFunc("Session", "set", "ResultMessage", "MSG_OPTION_ADDED");
$request = new Request();
$request->setKey("option_id", $add_result);
$request->setView('PO_EditOption');
$application->redirect($request);
}
}
}
示例5: cut_uuid_suffix
static function cut_uuid_suffix($text, $style)
{
// . CCInfo .
// : getValidatedDataStructure PersonInfoVariantID, .
$uuid_pattern = UUIDUtils::getRegexpPattern($style);
$matches = array();
if (preg_match($uuid_pattern, $text, $matches)) {
$text = _ml_substr($text, 0, _ml_strlen($text) - UUIDUtils::getLength($style));
} else {
}
return $text;
}
示例6: outputBackupFilesList
/**
*
*/
function outputBackupFilesList()
{
if (_ml_strtoupper(_ml_substr(PHP_OS, 0, 3)) === 'WIN') {
$retval = modApiFunc('TmplFiller', 'fill', "tools/backup/", "item_win_os.tpl.html", array());
return $retval;
}
global $application;
$retval = "";
$directory = $application->getAppIni('PATH_SYSTEM_DIR') . "backup/";
$n = 0;
$backup_list = array();
if ($dir = dir($directory)) {
while ($file = $dir->read()) {
if (_ml_substr($file, _ml_strrpos($file, '.') + 1) == "abi") {
$backup_file_name = _ml_substr($file, 0, _ml_strrpos($file, '.'));
if (file_exists($directory . $backup_file_name . ".tar.gz")) {
$backup_info = _parse_ini_file($directory . $backup_file_name . ".abi");
if (isset($backup_info["asc_version"]) && $backup_info["asc_version"] == PRODUCT_VERSION_NUMBER) {
$request = new Request();
$request->setView('Downdoad');
$request->setKey('directory', 'backup');
$request->setKey('file', $backup_file_name . ".tar.gz");
$DownloadLink = $request->getURL();
$request = new Request();
$request->setView('AdminBackup');
$request->setAction('BackupDeleteAction');
$request->setKey('file', $backup_file_name);
$DeleteFormAction = $request->getURL();
$this->_Template_Contents = array('BackupFileName' => $backup_file_name, 'DownloadLink' => $DownloadLink, 'InfoLink' => "", 'BackupFileDate' => modApiFunc("Localization", "timestamp_date_format", $backup_info['backup_date']) . " " . modApiFunc("Localization", "timestamp_time_format", $backup_info['backup_date']), 'BackupFileSize' => modApiFunc("Localization", "num_format", $backup_info['backup_file_size'] / 1024) . " Kb", 'N' => $n);
$backup_list[] = $this->_Template_Contents;
$n++;
}
}
}
}
$dir->close();
}
for ($i = sizeof($backup_list) - 1; $i >= 0; $i--) {
$this->_Template_Contents = $backup_list[$i];
$application->registerAttributes($this->_Template_Contents);
$retval .= modApiFunc('TmplFiller', 'fill', "tools/backup/", "item.tpl.html", array());
}
if ($n == 0) {
$retval .= modApiFunc('TmplFiller', 'fill', "tools/backup/", "item_na.tpl.html", array());
}
$retval .= modApiFunc('TmplFiller', 'fill', "tools/backup/", "item_empty.tpl.html", array());
return $retval;
}
示例7: outputCategoriesPaths
function outputCategoriesPaths($cats)
{
$js_code = 'var categories_paths = new Array();' . "\n";
$last_parents_on_levels = array();
for ($i = 0; $i < count($cats); $i++) {
$cat = $cats[$i];
$cpath = '';
if (isset($last_parents_on_levels[$cat['level'] - 1])) {
$cpath = $last_parents_on_levels[$cat['level'] - 1]['path'];
}
$cpath .= '/' . $cat['name'];
$last_parents_on_levels[$cat['level']] = array('id' => $cat['id'], 'path' => $cpath);
$js_code .= 'categories_paths[' . $cat['id'] . '] = \'' . addslashes(_ml_substr($cpath, 1)) . '\';' . "\n";
}
return $js_code;
}
示例8: prepareHtaccessCode
function prepareHtaccessCode($arr_err_code)
{
global $application;
loadCoreFile('URI.class.php');
$uriObj = new URI($application->getAppIni('HTTP_URL'));
$url_dir = $uriObj->getPart('dir') . (_ml_substr($uriObj->getPart('dir'), -1) != '/' ? '/' : '');
$hta_content = ERRDOC_BLOCK_IDENT_BEGIN . "\n";
/* ignore list htaccess code - starts */
$hta_content .= str_replace('%files_to_ignore%', FILES_TO_IGNORE, file_get_contents(dirname(__FILE__) . '/includes/errdoc_ignore_list_block_first_strings'));
foreach ($arr_err_code as $error_code => $error_page) {
$hta_content .= str_replace('%error_code%', $error_code, file_get_contents(dirname(__FILE__) . '/includes/errdoc_block_for_ignore_list'));
}
$hta_content .= file_get_contents(dirname(__FILE__) . '/includes/errdoc_ignore_list_block_last_strings');
/* ignore list htaccess code - ends */
foreach ($arr_err_code as $error_code => $error_page) {
$hta_content .= str_replace(array('%error_code%', '%url_dir%', '%error_code_file%'), array($error_code, $url_dir, $error_page), file_get_contents(dirname(__FILE__) . '/includes/errdoc_block_for_all_files'));
}
$hta_content .= ERRDOC_BLOCK_IDENT_END;
return $hta_content;
}
示例9: is_valid_credit_card_number
function is_valid_credit_card_number($cc_number, $cc_type)
{
$cc_number = trim($cc_number);
switch ($cc_type) {
case "Visa":
$valid = preg_match("/^4[0-9]{12}([0-9]{3})?\$/", $cc_number);
if (!$valid) {
return array('error_code_full' => 'CCNUM_ERR_002', 'error_code_short' => 'CCNUM_ERR_002');
}
break;
case "MasterCard":
$valid = preg_match("/^5[1-5][0-9]{14}\$/", $cc_number);
if (!$valid) {
return array('error_code_full' => 'CCNUM_ERR_003', 'error_code_short' => 'CCNUM_ERR_003');
}
break;
case "Discover":
$valid = preg_match("/^6011[0-9]{12}\$/", $cc_number);
if (!$valid) {
return array('error_code_full' => 'CCNUM_ERR_004', 'error_code_short' => 'CCNUM_ERR_004');
}
break;
case "Amex":
$valid = preg_match("/^3[47][0-9]{13}\$/", $cc_number);
if (!$valid) {
return array('error_code_full' => 'CCNUM_ERR_005', 'error_code_short' => 'CCNUM_ERR_005');
}
break;
case "Maestro":
$MaestroRules = array("490302,490309,18,1", "490335,490339,18,1", "491101,491102,16,1", "491174,491182,18,1", "493600,493699,19,1", "564182,564182,16,2", "633300,633300,16,0", "633301,633301,19,1", "633302,633349,16,0", "675900,675900,16,0", "675901,675901,19,1", "675902,675904,16,0", "675905,675905,19,1", "675906,675917,16,0", "675918,675918,19,1", "675919,675937,16,0", "675938,675940,18,1", "675941,675949,16,0", "675950,675962,19,1", "675963,675997,16,0", "675998,675998,19,1", "675999,675999,16,0");
$valid = $this->is_valid_debit_card_number($cc_number, $MaestroRules);
if (!$valid) {
return array('error_code_full' => 'CCNUM_ERR_007', 'error_code_short' => 'CCNUM_ERR_007');
}
break;
case "Solo":
$SoloRules = array("633450,633453,16,0", "633454,633457,16,0", "633458,633460,16,0", "633461,633461,18,1", "633462,633472,16,0", "633473,633473,18,1", "633474,633475,16,0", "633476,633476,19,1", "633477,633477,16,0", "633478,633478,18,1", "633479,633480,16,0", "633481,633481,19,1", "633482,633489,16,0", "633490,633493,16,1", "633494,633494,18,1", "633495,633497,16,2", "633498,633498,19,1", "633499,633499,18,1", "676700,676700,16,0", "676701,676701,19,1", "676702,676702,16,0", "676703,676703,18,1", "676704,676704,16,0", "676705,676705,19,1", "676706,676707,16,2", "676708,676711,16,0", "676712,676715,16,0", "676716,676717,16,0", "676718,676718,19,1", "676719,676739,16,0", "676740,676740,18,1", "676741,676749,16,0", "676750,676762,19,1", "676763,676769,16,0", "676770,676770,19,1", "676771,676773,16,0", "676774,676774,18,1", "676775,676778,16,0", "676779,676779,18,1", "676780,676781,16,0", "676782,676782,18,1", "676783,676794,16,0", "676795,676795,18,1", "676796,676797,16,0", "676798,676798,19,1", "676799,676799,16,0");
$valid = $this->is_valid_debit_card_number($cc_number, $SoloRules);
if (!$valid) {
return array('error_code_full' => 'CCNUM_ERR_008', 'error_code_short' => 'CCNUM_ERR_008');
}
break;
default:
$list = modApiFunc("Configuration", "getCreditCardSettings");
if (array_key_exists($cc_type, $list)) {
// .
// .
return true;
} else {
return array('error_code_full' => 'CCTYPE_ERR_002', 'error_code_short' => 'CCTYPE_ERR_002');
}
}
$cc_number = _ml_strrev($cc_number);
$numSum = 0;
for ($i = 0; $i < _ml_strlen($cc_number); $i++) {
$currentNum = _ml_substr($cc_number, $i, 1);
// Double every second digit
if ($i % 2 == 1) {
$currentNum *= 2;
}
// Add digits of 2-digit numbers together
if ($currentNum > 9) {
$firstNum = $currentNum % 10;
$secondNum = ($currentNum - $firstNum) / 10;
$currentNum = $firstNum + $secondNum;
}
$numSum += $currentNum;
}
if (!($numSum % 10 == 0)) {
return array('error_code_full' => 'CCNUM_ERR_006', 'error_code_short' => 'CCNUM_ERR_006');
} else {
return true;
}
}
示例10: getCZSiteHTTPSURL
function getCZSiteHTTPSURL($SiteURL)
{
global $application;
// - HTTPS AVACTIS' .
// - HTTP AVACTIS' .
// SiteURL . SiteHTTPSURL.
$AZ_AVACTIS_ROOT_HTTP_URL = $application->getAppIni("HTTP_URL_CONFIG.PHP");
$AZ_AVACTIS_ROOT_HTTPS_URL = $application->getAppIni("HTTPS_URL");
$url_cz = parse_url($SiteURL);
$url_core = parse_url($AZ_AVACTIS_ROOT_HTTP_URL);
$p_cz = explode("/", $url_cz['path']);
$p_core = explode("/", $url_core['path']);
foreach ($p_cz as $i => $p) {
if (isset($p_core[$i]) && $p_cz[$i] == $p_core[$i] && !isset($p_cz[$i - 1])) {
unset($p_cz[$i]);
unset($p_core[$i]);
}
}
$Path_CZ = implode("/", $p_cz);
$Path_Core = implode("/", $p_core);
$cz_https_url = preg_replace("/" . addcslashes($Path_Core, "/") . "/i", "", $AZ_AVACTIS_ROOT_HTTPS_URL);
$cz_https_url .= $Path_CZ;
if (_ml_strcasecmp("https://", _ml_substr($AZ_AVACTIS_ROOT_HTTPS_URL, 0, _ml_strlen("https://"))) !== 0) {
return NULL;
} else {
return $cz_https_url;
}
}
示例11: getTag
/**
* @ describe the function ProductList->getTag.
*/
function getTag($tag)
{
global $application;
$value = null;
$CatID = modApiFunc('CProductListFilter', 'getCurrentCategoryId');
$moveto_category_full_path = modApiFunc("Catalog", "getCategoryFullPath", modApiFunc("Catalog", "getMoveToCategoryID"));
switch ($tag) {
case 'HiddenArrayViewState':
$value = $this->outputViewState();
break;
case 'asc_action':
$value = $this->outputAction();
break;
case 'Items':
$value = $this->outputSubcategoriesList(modApiFunc("Catalog", "getMoveToCategoryID"));
break;
case 'New_Path':
$value = $this->outputLocationBreadcrumb($moveto_category_full_path, true);
break;
case 'New_Path_Breadcrumb':
$value = $this->outputNewLocation($moveto_category_full_path);
break;
case 'Move_Href':
$value = $this->outputMoveHref();
break;
case 'Move_Object':
$value = $this->outputMoveObject();
break;
case 'Move_Subject':
$value = $this->outputMoveSubject();
break;
case 'Breadcrumb':
$obj =& $application->getInstance('Breadcrumb');
$value = $obj->output(false);
break;
case 'Button':
$value = $this->outputButton();
break;
default:
if (_ml_strpos($tag, 'Category') === 0) {
$tag = _ml_substr($tag, _ml_strlen('Category'));
}
if ($this->_Current_Category->isTagExists($tag)) {
$value = $this->_Current_Category->getCategoryTagValue($tag);
}
break;
}
return $value;
}
示例12: getTag
function getTag($tag)
{
global $application;
$value = null;
//$CatID = $this->_Current_Category->getCategoryTagValue('ID');
switch ($tag) {
case 'CategoryProducts':
$value = $this->_Current_Category->getCategoryTagValue('productsnumber_non_recursively');
break;
case 'CategoryProductsRec':
$value = $this->_Current_Category->getCategoryTagValue('productsnumberrecursively_all_product_links');
break;
case 'FeaturedProducts':
$value = $this->outputFeaturedProducts();
break;
case 'BestsellersProducts':
$value = $this->outputBestsellersProducts();
break;
default:
if (is_object($this->_Current_Category) && $this->_Current_Category->isTagExists($tag)) {
$value = $this->_Current_Category->getCategoryTagValue($tag);
} else {
if (_ml_strpos($tag, 'Category') === 0) {
$tag = _ml_substr($tag, _ml_strlen('Category'));
if (is_object($this->_Current_Category) && $this->_Current_Category->isTagExists($tag)) {
$value = $this->_Current_Category->getCategoryTagValue($tag);
}
}
}
break;
}
return $value;
}
示例13: isFileFromDirectoryOrSubdirectories
function isFileFromDirectoryOrSubdirectories($dir_path, $file_path)
{
$d = realpath($dir_path);
$f = realpath($file_path);
return _ml_substr($f, 0, _ml_strlen($d)) == $d;
}
示例14: genThumbnail
function genThumbnail($product_id, $original_image_path, $thumb_side = null, $subfolder = '')
{
if (!function_exists('gd_info')) {
return null;
}
$img_info = getimagesize($original_image_path);
if (!(imagetypes() & $this->__imageTypeToBit($img_info[2]))) {
return null;
}
$oimage = $this->getImageRes($original_image_path);
if ($oimage == null) {
return null;
}
$sets = $this->getSettings();
if ($thumb_side == null || intval($thumb_side) <= 0) {
$thumb_side = $sets['THUMB_SIDE'];
} else {
$thum_side = intval($thumb_side);
}
list($dst_x, $dst_y) = $this->convertSizes($img_info[0], $img_info[1], $thumb_side);
$dst_image = imagecreatetruecolor($dst_x, $dst_y);
imagecolortransparent($dst_image, imagecolorallocatealpha($dst_image, 0, 0, 0, 127));
imagealphablending($dst_image, false);
imagesavealpha($dst_image, true);
imagecopyresampled($dst_image, $oimage, 0, 0, 0, 0, $dst_x, $dst_y, $img_info[0], $img_info[1]);
global $application;
$large_image_path_parts = pathinfo($original_image_path);
$large_image_basename = $large_image_path_parts['basename'];
$large_image_ext = $large_image_path_parts['extension'];
$large_image_basename_without_ext = _ml_substr($large_image_basename, 0, -1 * _ml_strlen("." . $large_image_ext));
$thumb_basename = "thumb_" . $large_image_basename_without_ext . "." . $large_image_ext;
$new_image_path = $application->getUploadImageName($thumb_basename, $subfolder);
if ($large_image_ext == 'png' && imagepng($dst_image, $new_image_path)) {
return $new_image_path;
}
if (imagejpeg($dst_image, $new_image_path, $application->getAppIni('JPEG_THUMBNAIL_QUALITY'))) {
return $new_image_path;
} else {
return null;
}
}
示例15: getTag
/**
* @ describe the function ProductList->getTag.
*/
function getTag($tag)
{
global $application;
$value = "";
$CatID = $this->getCategoryID();
$full_path_arr = modApiFunc('Catalog', 'getCategoryFullPath', $CatID);
loadCoreFile('html_form.php');
$HtmlForm = new HtmlForm();
switch ($tag) {
case 'HiddenArrayViewState':
$value = $this->outputViewState();
break;
case 'asc_action':
$value = $this->outputAction();
break;
case 'Items':
if ($CatID != NULL) {
$value = $this->outputListItems($CatID);
}
break;
case 'HiddenFieldAction':
$value = $HtmlForm->genHiddenField('asc_action', $this->outputAction());
break;
case 'HiddenFieldCatsId':
$value = $HtmlForm->genHiddenField('CatsId', implode("|", $this->CatsId));
break;
case 'HiddenFieldProdsId':
$value = $HtmlForm->genHiddenField('ProdsId', implode("|", $this->ProdsId));
break;
case 'Category_Path':
$value = $this->outputLocationBreadcrumb($full_path_arr, false);
break;
case 'Delete_Warning':
$value = $this->outputDeleteWarning(prepareHTMLDisplay($full_path_arr[sizeof($full_path_arr) - 1]['name']));
break;
case 'DeleteCatHref':
$value = $this->outputDeleteHref();
break;
case 'Delete_Object':
$value = $this->outputDeleteObject();
break;
case 'Delete_Subject':
$value = $this->outputDeleteSubject();
break;
case 'Category_Full_Name':
$value = $this->_Current_Category->getCategoryTagValue('Category_Full_Name');
break;
case 'ProductDelMessage':
$cats_ids = $this->_Current_Product->getCategoriesIDs();
if (count($cats_ids) == 1 || modApiFunc('Session', 'is_set', 'SearchProductFormFilter')) {
$value = getMsg('CTL', 'MSG_REAL_PRODUCT_DEL');
} else {
unset($cats_ids[array_search($CatID, $cats_ids)]);
$strings = array();
foreach ($cats_ids as $cat_id) {
$full_path = modApiFunc('Catalog', 'getCategoryFullPath', $cat_id);
$names = array();
foreach ($full_path as $pci) {
$names[] = $pci['name'];
}
$strings[] = implode("/", $names);
}
$value = getMsg('CTL', 'MSG_LINK_PRODUCT_DEL', implode("<br>", $strings));
}
break;
default:
if (_ml_strpos($tag, 'Category') === 0) {
$stag = _ml_substr($tag, _ml_strlen('Category'));
if (is_object($this->_Current_Category) && $this->_Current_Category->isTagExists($tag)) {
$value = $this->_Current_Category->getCategoryTagValue($tag);
break;
}
}
if (_ml_strpos($tag, 'Product') === 0) {
$stag = _ml_substr($tag, _ml_strlen('Product'));
if (is_object($this->_Current_Product) && $this->_Current_Product->isTagExists($stag)) {
$value = $this->_Current_Product->getProductTagValue($stag);
break;
}
}
if (is_object($this->_Current_Category) && $this->_Current_Category->isTagExists($tag)) {
$value = $this->_Current_Category->getCategoryTagValue($tag);
}
if (is_object($this->_Current_Product) && $this->_Current_Product->isTagExists($tag)) {
$value = $this->_Current_Product->getProductTagValue($tag);
}
break;
}
return $value;
}