/**
 *
 *
 * @file modifier.url_bold_html.php
 * @package plugins
 * @author liyudong@baidu.com
 * @date 2011-11-03 10:40
 */
function smarty_modifier_url_bold_html($string)
{
    $logArr['smarty_modifier'] = "modifier_url_bold_html";
    $status = 0;
    $logArr['string'] = $string;
    if (strlen($string) == 0) {
        $result = $string;
        return $result;
    }
    $prefix = $GLOBALS['DISPLAY']['BOLD_PREFIX'];
    $suffix = $GLOBALS['DISPLAY']['BOLD_SUFFIX'];
    $logArr['prefix'] = $prefix;
    $logArr['suffix'] = $suffix;
    $result = hilight_url_bold_html($string, $prefix, $suffix);
    if (false === $result) {
        $result = $string;
        $status = -1;
        $logArr['result'] = $result;
        CLog::warning("fail to call hilight_url_bold_html", $status, $logArr, 1);
        return $result;
    }
    $logArr['result'] = $result;
    CLog::debug("success to call url_bold_html modifier", $status, $logArr, 1);
    return $result;
}
示例#2
0
/**
 *
 *
 * @file modifier.format_int.php
 * @package plugins
 * @author liyudong@baidu.com
 * @date 2011-11-03 10:47
 */
function smarty_modifier_format_int($number)
{
    $logArr['smarty_modifier'] = "modifier_format_int";
    $status = 0;
    $number = sprintf("%F", $number);
    $logArr['number'] = $number;
    $size = strlen($number);
    for ($i = $size - 1, $j = 1; $i >= 0; $i--, $j++) {
        $word = substr($number, $i, 1);
        if ($word === ".") {
            $result = "";
            $j = 0;
            continue;
        }
        if ($i < 3) {
            $result = $word . $result;
        } else {
            $result = "0" . $result;
        }
        if ($j % 3 == 0 && $i != 0) {
            $result = "," . $result;
        }
    }
    $logArr['result'] = $result;
    CLog::debug("success to call format_int", $status, $logArr, 1);
    return $result;
}
示例#3
0
/**
 *
 *
 * @file modifier.url_limit.php
 * @package plugins
 * @author liyudong@baidu.com
 * @date 2011-11-03 10:40
 */
function smarty_modifier_url_limit($string, $length, $escaped = false)
{
    $logArr['smarty_modifier'] = "modifier_url_limit";
    $status = 0;
    $logArr['url'] = $string;
    $logArr['limit_len'] = $length;
    $logArr['escaped'] = $escaped;
    if (strlen($string) == 0) {
        $result = $string;
        return $result;
    }
    $result = trim(hilight_url_limit($string, $length, $escaped));
    $resultTmp = explode(" ", $result);
    $result = implode("", $resultTmp);
    if (false === $result) {
        $result = $string;
        $status = -1;
        $logArr['result'] = $result;
        CLog::warning("fail to call hilight_url_limit", $status, $logArr, 1);
        return $string;
    }
    $logArr['result'] = $result;
    CLog::debug("success to call url_limit", $status, $logArr, 1);
    return $result;
}
/**
 *
 *
 * @file modifier.limitlen.php
 * @package plugins
 * @author liyudong@baidu.com
 * @date 2011-11-03 10:51
 */
function smarty_modifier_string_display_len($string)
{
    $logArr['smarty_modifier'] = "modifier_string_display_len";
    $status = 0;
    $logArr['string'] = $string;
    if (strlen($string) == 0) {
        $result = 0;
        return $result;
    }
    $result = hilight_stringDisplayLen($string);
    $logArr['result'] = $result;
    CLog::debug("success to call limitlen", $status, $logArr, 1);
    return $result;
}
示例#5
0
/**
 *
 *
 * @file modifier.firstpart.php
 * @package plugins
 * @author liyudong@baidu.com
 * @date 2011-11-03 10:49
 */
function smarty_modifier_firstpart($string, $part)
{
    $logArr['smarty_modifier'] = "modifier_firstpart";
    $status = 0;
    $logArr['string'] = $string;
    $logArr['part'] = $part;
    $pos = strrpos($string, $part);
    $string_size = strlen($string);
    $part_size = strlen($part);
    $result = $string;
    if ($pos !== false && $string_size === $part_size + $pos) {
        $result = substr($string, 0, $string_size - $part_size);
    }
    $logArr['result'] = $result;
    CLog::debug("success to call firstpart", $status, $logArr, 1);
    return $result;
}
示例#6
0
/**
 *
 *
 * @file modifier.host.php
 * @package plugins
 * @author liyudong@baidu.com
 * @date 2011-11-03 10:47
 */
function smarty_modifier_host($string)
{
    /*
    $status = 0;
    $logArr['url'] = $string;
       
    $url = parse_url($string);
    $result = $url['host'];
    if( empty($result) ) {
        $length = strlen($string);
        $i = strpos($string, ':');
        $j = strpos($string, '/');
        if( $i > 0 && $j > 0 ) {
            $length = $i > $j ? $j : $i;
        }elseif($i > 0) {
            $length = $i;
        }elseif($j > 0) {
            $length = $j;
        }   
        $result = substr($string, 0, $length);
    }
    
    $logArr['result'] = $result;
    CLog::debug("success to call host", $status, $logArr, 1);
    return $result;
    */
    $logArr['smarty_modifier'] = "modifier_host";
    $status = 0;
    $logArr['url'] = $string;
    $host = $string;
    if (strncasecmp($host, "http://", 7) == 0) {
        $host = substr($host, 7);
    }
    $pos1 = strpos($host, '/');
    $pos2 = strpos($host, ':');
    $pos = $pos1 === false || $pos2 !== false && $pos2 < $pos1 ? $pos2 : $pos1;
    if ($pos === false) {
        $result = $host;
    } else {
        $result = substr($host, 0, $pos);
    }
    $logArr['result'] = $result;
    CLog::debug("success to call host", $status, $logArr, 1);
    return $result;
}
示例#7
0
/**
 *
 *
 * @file modifier.wbrlimit.php
 * @package plugins
 * @author lanrui@baidu.com
 * @date 2013-01-05 20:16
 */
function smarty_modifier_wbrlimit($string, $mb_len)
{
    //return $string;
    $logArr['smarty_modifier'] = "modifier_wbrlimit";
    $status = 0;
    $logArr['string'] = $string;
    $logArr['len'] = $mb_len;
    if (strlen($string) == 0) {
        $result = $string;
        return $result;
    }
    $cur_pos = 0;
    $cur_mb_len = 0;
    $result = "";
    $flag = 0;
    $string_len = strlen($string);
    while ($cur_pos < $string_len) {
        $start = strpos($string, 1, $cur_pos);
        if ($start !== false) {
            $substring = mb_substr($string, $cur_pos, $start - $cur_pos);
            if ($cur_mb_len + mb_strlen($substring) < $mb_len) {
                $cur_mb_len = $cur_mb_len + mb_strlen($substring);
                $result = $result . $substring;
                $cur_pos = $start + 1;
            } elseif (mb_strlen($substring) >= $mb_len) {
                //in case a single word is longer than a line's length
                $cur_mb_len = 0;
                $cur_pos = $start + 1;
                $result = $result . $substring . "<wbr>";
            } else {
                $result = $result . "<wbr>";
                $cur_mb_len = 0;
            }
        } else {
            $logArr['result'] = $result;
            CLog::debug("wbrlimit succeed", $status, $logArr, 1);
            break;
        }
    }
    return $result;
}
/**
 *
 * @param $strImgSrc unknown_type       	
 * @return boolean unknown data-src={%$ls.src%} data-b64-id={%$ls.imgkey%}>
 *         <img src={%$ls.src%}>
 *        
 */
function smarty_modifier_img_base64_render($strImgSrc)
{
    if (empty($strImgSrc)) {
        CLog::warning("fail to get img base64 src id, src null");
        return false;
    }
    $arrQueryInfo = CSmarty::getQueryInfo();
    $strPage = "";
    if (!isset($arrQueryInfo['base64']) || $arrQueryInfo['base64'] !== 'on') {
        $strPage = 'src="' . $strImgSrc . '"';
        return $strPage;
    }
    if (!isset($arrQueryInfo['base64_sids_for_plugin']) || empty($arrQueryInfo['base64_sids_for_plugin'][$strImgSrc])) {
        $strPage = 'src="' . $strImgSrc . '"';
        return $strPage;
    } else {
        $strPage = 'data-src="' . $strImgSrc . '" ' . 'data-b64-id="' . $arrQueryInfo['base64_sids_for_plugin'][$strImgSrc] . '"';
        CLog::debug("get img base64 src id OK");
        return $strPage;
    }
}
示例#9
0
/**
 *
 *
 * @file modifier.real.php
 * @package plugins
 * @author liyudong@baidu.com
 * @date 2011-11-03 10:47
 */
function smarty_modifier_real($string)
{
    $logArr['smarty_modifier'] = "modifier_real";
    $status = 0;
    $logArr['string'] = $string;
    if (strlen($string) == 0) {
        $result = $string;
        return $result;
    }
    $result = hilight_real($string);
    if (false == $result) {
        $result = $string;
        $status = -1;
        $logArr['result'] = $result;
        CLog::warning("fail to call hilight_real", $status, $logArr, 1);
        return $string;
    }
    $logArr['result'] = $result;
    CLog::debug("success to call real modifier", $status, $logArr, 1);
    return $result;
}
示例#10
0
/**
 *
 *
 * @file modifier.vui_escape.php
 * @package plugins
 * @author liyudong@baidu.com
 * @date 2011-11-03 10:51
 */
function smarty_modifier_vui_escape($string, $type = "html")
{
    $logArr['smarty_modifier'] = "modifier_vui_escape";
    $type = strtolower($type);
    $status = 0;
    $logArr['string'] = $string;
    $logArr['type'] = $type;
    if (strlen($string) == 0) {
        $result = $string;
        $status = -1;
        //CLog::warning("string is empty", $status, $logArr, 1);
        return $result;
    }
    switch ($type) {
        case "html":
            $type = ":h";
            break;
        case "javascript":
            $type = ":j";
            break;
        case "url":
            $type = ":u";
            break;
        default:
            $type = ":h";
            break;
    }
    $result = hilight_escape($string, ":[utf8]" . $type);
    if (false === $result) {
        $result = $string;
        $status = -1;
        $logArr['result'] = $result;
        CLog::warning("fail to call vui_escape", $status, $logArr, 1);
        return $result;
    }
    $logArr['result'] = $result;
    CLog::debug("success to call vui_escape", $status, $logArr, 1);
    return $result;
}
示例#11
0
/**
 *
 *
 * @file modifier.endwith.php
 * @package plugins
 * @author liyudong@baidu.com
 * @date 2011-11-03 10:49
 */
function smarty_modifier_endwith($string, $part)
{
    $logArr['smarty_modifier'] = "modifier_endwith";
    $status = 0;
    $logArr['string'] = $string;
    $logArr['part'] = $part;
    if (strlen($part) == 0) {
        $result = 1;
    } elseif (strlen($string) == 0) {
        $result = 0;
    } else {
        $pos = strrpos($string, $part);
        $string_size = strlen($string);
        $part_size = strlen($part);
        $result = 0;
        if ($pos !== false && $string_size === $part_size + $pos) {
            $result = 1;
        }
    }
    $logArr['result'] = $result;
    CLog::debug("success to call endwith", $status, $logArr, 1);
    return $result;
}
/**
 *
 * @param $strImgSrc unknown_type       	
 * @return string "data-b64-id"
 *        
 */
function smarty_modifier_img_base64_parser($strImgSrc)
{
    if (empty($strImgSrc)) {
        return '';
    }
    $arrQueryInfo = CSmarty::getQueryInfo();
    if (!isset($arrQueryInfo['base64']) || $arrQueryInfo['base64'] !== 'on') {
        return '';
    }
    if (!isset($arrQueryInfo['base64_left_exp']) || $arrQueryInfo['base64_left_exp'] !== 'on') {
        return '';
    }
    if (isset($arrQueryInfo['base64_img_sids_left']) && !empty($arrQueryInfo['base64_img_sids_left'][$strImgSrc])) {
        return $arrQueryInfo['base64_img_sids_left'][$strImgSrc];
        CLog::debug("get img base64 src id OK");
    } else {
        if (isset($arrQueryInfo['base64_img_sids']) && !empty($arrQueryInfo['base64_img_sids'][$strImgSrc])) {
            return $arrQueryInfo['base64_img_sids'][$strImgSrc];
            CLog::debug("get img base64 src id OK");
        }
    }
    return '';
}
/**
 *
 *
 * @file modifier.zhidaoXmlTrans.php
 * @package plugins
 * @author liyudong@baidu.com
 * @date 2011-11-03 10:47
 */
function smarty_modifier_zhidaoXmlTrans()
{
    $logArr['smarty_modifier'] = "modifier_zhidaoXmlTrans";
    /**
     * hilight info
     * @var array
     */
    $hilight_info = CSmarty::getHilightInfo();
    $hi_word = $hilight_info['hilightInfo']['hi_word'];
    $hi_off = $hilight_info['hilightInfo']['hi_off'];
    $hi_num = $hilight_info['hilightInfo']['hi_num'];
    $status = 0;
    if (isset($hi_off[0])) {
        $hi_off[0] = 0;
    }
    $result = hilight_zhidaoXmlTrans($hi_word, $hi_off, $hi_num);
    if (false == $result) {
        $status = -1;
        CLog::warning("fail to call hilight_zhidaoXmlTrans", $status, $logArr, 1);
        return false;
    }
    CLog::debug("success to call zhidaoXmlTrans modifier", $status, $logArr, 1);
    return $result;
}
示例#14
0
 public static function parse_image_conf($arrResultData, &$arrImgList, $arrImgConf)
 {
     $cnt = count($arrImgConf);
     $status = -1;
     if (1 === $cnt) {
         $paths = explode('.', $arrImgConf[0]);
         $paths_count = count($paths);
         switch ($paths_count) {
             /**
              *
              * @example : @enc : tplData
              */
             case 1:
                 $link = $arrResultData[$paths[0]];
                 if (!empty($link)) {
                     if (!is_array($link)) {
                         self::get_image_src($arrImgList, $link);
                     } else {
                         foreach ($link as $k => $v) {
                             self::get_image_src($arrImgList, $v);
                         }
                     }
                 } else {
                     $logArr['img'] = "data['resultData'][{$paths['0']}]";
                     CLog::debug("img src to get id is empty", $status, $logArr, 1);
                     return false;
                 }
                 break;
                 /**
                  *
                  * @example : @enc : tplData.loc
                  */
             /**
              *
              * @example : @enc : tplData.loc
              */
             case 2:
                 $link = $arrResultData[$paths[0]][$paths[1]];
                 if (!empty($link)) {
                     if (!is_array($link)) {
                         self::get_image_src($arrImgList, $link);
                     } else {
                         foreach ($link as $k => $v) {
                             self::get_image_src($arrImgList, $v);
                         }
                     }
                 } else {
                     $logArr['img'] = "data['resultData'][{$paths['0']}][{$paths['1']}]";
                     CLog::debug("img src to get id is empty", $status, $logArr, 1);
                     return false;
                 }
                 break;
                 /**
                  *
                  * @example : tplData.moreprice.link
                  */
             /**
              *
              * @example : tplData.moreprice.link
              */
             case 3:
                 $link = $arrResultData[$paths[0]][$paths[1]][$paths[2]];
                 if (!empty($link)) {
                     if (!is_array($link)) {
                         self::get_image_src($arrImgList, $link);
                     } else {
                         foreach ($link as $k => $v) {
                             self::get_image_src($arrImgList, $v);
                         }
                     }
                 } else {
                     $logArr['img'] = "data['resultData'][{$paths['0']}][{$paths['1']}][{$paths['2']}]";
                     CLog::debug("img src to get id is empty", $status, $logArr, 1);
                     return false;
                 }
                 break;
                 /**
                  *
                  * @example : tplData.moreprice.link.link
                  */
             /**
              *
              * @example : tplData.moreprice.link.link
              */
             case 4:
                 $link = $arrResultData[$paths[0]][$paths[1]][$paths[2]][$paths[3]];
                 if (!empty($link)) {
                     if (!is_array($link)) {
                         self::get_image_src($arrImgList, $link);
                     } else {
                         foreach ($link as $k => $v) {
                             self::get_image_src($arrImgList, $v);
                         }
                     }
                 } else {
                     $logArr['img'] = "data['resultData'][{$paths['0']}][{$paths['1']}][{$paths['2']}][{$paths['3']}][{$k}]";
                     CLog::debug("img src to get id is empty", $status, $logArr, 1);
                     return false;
                 }
                 break;
                 /**
                  *
                  * @example : tplData.moreprice.link.link.link
                  */
             /**
              *
              * @example : tplData.moreprice.link.link.link
              */
             case 5:
                 $link = $arrResultData[$paths[0]][$paths[1]][$paths[2]][$paths[3]][$paths[4]];
                 if (!empty($link)) {
                     if (!is_array($link)) {
                         self::get_image_src($arrImgList, $link);
                     } else {
                         foreach ($link as $k => $v) {
                             self::get_image_src($arrImgList, $v);
                         }
                     }
                 } else {
                     $logArr['img'] = "data['resultData'][{$paths['0']}][{$paths['1']}][{$paths['2']}][{$paths['3']}][{$paths['4']}]";
                     CLog::debug("img src to get id is empty", $status, $logArr, 1);
                     return false;
                 }
                 break;
         }
         return true;
     }
     if (2 === $cnt) {
         $paths_one = explode('.', $arrImgConf[0]);
         $paths_one_count = count($paths_one);
         $paths_two = explode('.', $arrImgConf[1]);
         $paths_two_count = count($paths_two);
         $total_count = $paths_one_count + $paths_two_count;
         switch ($total_count) {
             /**
              *
              * @example : tplData[].morebrand
              */
             case 2:
                 foreach ($arrResultData[$paths_one[0]] as $key => $value) {
                     $link = $arrResultData[$paths_one[0]][$key][$paths_two[0]];
                     if (!empty($link)) {
                         if (!is_array($link)) {
                             self::get_image_src($arrImgList, $link);
                         } else {
                             foreach ($link as $k => $v) {
                                 self::get_image_src($arrImgList, $v);
                             }
                         }
                     } else {
                         $logArr['img'] = "data['resultData'][{$paths_one['0']}][{$key}][{$paths_two['0']}]";
                         CLog::debug("img src to get id is empty", $status, $logArr, 1);
                         return false;
                     }
                 }
                 break;
             case 3:
                 /**
                  *
                  * @example : tplData[].morebrand.link
                  */
                 if (1 === $paths_one_count) {
                     foreach ($arrResultData[$paths_one[0]] as $key => $value) {
                         $link = $arrResultData[$paths_one[0]][$key][$paths_two[0]][$paths_two[1]];
                         if (!empty($link)) {
                             if (!is_array($link)) {
                                 self::get_image_src($arrImgList, $link);
                             } else {
                                 foreach ($link as $k => $v) {
                                     self::get_image_src($arrImgList, $v);
                                 }
                             }
                         } else {
                             $logArr['img'] = "data['resultData'][{$paths_one['0']}][{$key}][{$paths_two['0']}][{$paths_two['1']}]";
                             CLog::debug("img src to get id is empty", $status, $logArr, 1);
                             return false;
                         }
                     }
                     /**
                      *
                      * @example : tplData.morebrand[].link
                      */
                 } else {
                     foreach ($arrResultData[$paths_one[0]][$paths_one[1]] as $key => $value) {
                         $link = $arrResultData[$paths_one[0]][$paths_one[1]][$key][$paths_two[0]];
                         if (!empty($link)) {
                             if (!is_array($link)) {
                                 self::get_image_src($arrImgList, $link);
                             } else {
                                 foreach ($link as $k => $v) {
                                     self::get_image_src($arrImgList, $v);
                                 }
                             }
                         } else {
                             $logArr['img'] = "data['resultData'][{$paths_one['0']}][{$paths_one['1']}][{$key}][{$paths_two['0']}]";
                             CLog::debug("img src to get id is empty", $status, $logArr, 1);
                             return false;
                         }
                     }
                 }
                 break;
             case 4:
                 /**
                  *
                  * @example : tplData[].morebrand.link.sublink
                  */
                 if (1 === $paths_one_count) {
                     foreach ($arrResultData[$paths_one[0]] as $key => $value) {
                         $link = $arrResultData[$paths_one[0]][$key][$paths_two[0]][$paths_two[1]][$paths_two[2]];
                         if (!empty($link)) {
                             if (!is_array($link)) {
                                 self::get_image_src($arrImgList, $link);
                             } else {
                                 foreach ($link as $k => $v) {
                                     self::get_image_src($arrImgList, $v);
                                 }
                             }
                         } else {
                             $logArr['img'] = "data['resultData'][{$paths_one['0']}][{$key}][{$paths_two['0']}][{$paths_two['1']}][{$paths_two['2']}]";
                             CLog::debug("img src to get id is empty", $status, $logArr, 1);
                             return false;
                         }
                     }
                     /**
                      *
                      * @example : tplData.morebrand[].link.sublink
                      */
                 } else {
                     if (2 === $paths_one_count) {
                         foreach ($arrResultData[$paths_one[0]][$paths_one[1]] as $key => $value) {
                             if (!is_array($arrResultData[$paths_one[0]][$paths_one[1]]) || !is_array($arrResultData[$paths_one[0]][$paths_one[1]][$key]) || !is_array($arrResultData[$paths_one[0]][$paths_one[1]][$key][$paths_two[0]])) {
                                 continue;
                             }
                             $link = $arrResultData[$paths_one[0]][$paths_one[1]][$key][$paths_two[0]][$paths_two[1]];
                             if (!empty($link)) {
                                 if (!is_array($link)) {
                                     self::get_image_src($arrImgList, $link);
                                 } else {
                                     foreach ($link as $k => $v) {
                                         self::get_image_src($arrImgList, $v);
                                     }
                                 }
                             } else {
                                 $logArr['img'] = "data['resultData'][{$paths_one['0']}][{$paths_one['1']}][{$key}][{$paths_two['0']}][{$paths_two['1']}]";
                                 CLog::debug("img src to get id is empty", $status, $logArr, 1);
                                 return false;
                             }
                         }
                         /**
                          *
                          * @example : tplData.morebrand.link[].sublink
                          */
                     } else {
                         foreach ($arrResultData[$paths_one[0]][$paths_one[1]][$paths_one[2]] as $key => $value) {
                             $link = $arrResultData[$paths_one[0]][$paths_one[1]][$paths_one[2]][$key][$paths_two[0]];
                             if (!empty($link)) {
                                 if (!is_array($link)) {
                                     self::get_image_src($arrImgList, $link);
                                 } else {
                                     foreach ($link as $k => $v) {
                                         self::get_image_src($arrImgList, $v);
                                     }
                                 }
                             } else {
                                 $logArr['img'] = "data['resultData'][{$paths_one['0']}][{$paths_one['1']}][{$paths_one['2']}][{$key}][{$paths_two['0']}]";
                                 CLog::debug("img src to get id is empty", $status, $logArr, 1);
                                 return false;
                             }
                         }
                     }
                 }
                 break;
             case 5:
                 /**
                  *
                  * @example : tplData[].morebrand.link.sublink.subsublink
                  */
                 if (1 === $paths_one_count) {
                     foreach ($arrResultData[$paths_one[0]] as $key => $value) {
                         $link = $arrResultData[$paths_one[0]][$key][$paths_two[0]][$paths_two[1]][$paths_two[2]][$paths_two[3]];
                         if (!empty($link)) {
                             if (!is_array($link)) {
                                 self::get_image_src($arrImgList, $link);
                             } else {
                                 foreach ($link as $k => $v) {
                                     self::get_image_src($arrImgList, $v);
                                 }
                             }
                         } else {
                             $logArr['img'] = "data['resultData'][{$paths_one['0']}][{$key}][{$paths_two['0']}][{$paths_two['1']}][{$paths_two['2']}][{$paths_two['3']}]";
                             CLog::debug("img src to get id is empty", $status, $logArr, 1);
                             return false;
                         }
                     }
                     /**
                      *
                      * @example : tplData.morebrand[].link.sublink.subsublink
                      */
                 } else {
                     if (2 === $paths_one_count) {
                         foreach ($arrResultData[$paths_one[0]][$paths_one[1]] as $key => $value) {
                             $link = $arrResultData[$paths_one[0]][$paths_one[1]][$key][$paths_two[0]][$paths_two[1]][$paths_two[2]];
                             if (!empty($link)) {
                                 if (!is_array($link)) {
                                     self::get_image_src($arrImgList, $link);
                                 } else {
                                     foreach ($link as $k => $v) {
                                         self::get_image_src($arrImgList, $v);
                                     }
                                 }
                             } else {
                                 $logArr['img'] = "data['resultData'][{$paths_one['0']}][{$paths_one['1']}][{$key}][{$paths_two['0']}][{$paths_two['1']}][{$paths_two['2']}]";
                                 CLog::debug("img src to get id is empty", $status, $logArr, 1);
                                 return false;
                             }
                         }
                         /**
                          *
                          * @example : tplData.morebrand.link[].sublink.subsublink
                          */
                     } else {
                         if (3 === $paths_one_count) {
                             foreach ($arrResultData[$paths_one[0]][$paths_one[1]][$paths_one[2]] as $key => $value) {
                                 $link = $arrResultData[$paths_one[0]][$paths_one[1]][$paths_one[2]][$key][$paths_two[0]][$paths_two[1]];
                                 if (!empty($link)) {
                                     if (!is_array($link)) {
                                         self::get_image_src($arrImgList, $link);
                                     } else {
                                         foreach ($link as $k => $v) {
                                             self::get_image_src($arrImgList, $v);
                                         }
                                     }
                                 } else {
                                     $logArr['img'] = "data['resultData'][{$paths_one['0']}][{$paths_one['1']}][{$paths_one['2']}][{$key}][{$paths_two['0']}][{$paths_two['1']}]";
                                     CLog::debug("img src to get id is empty", $status, $logArr, 1);
                                     return false;
                                 }
                             }
                             /**
                              *
                              * @example : tplData.morebrand.link.sublink[].subsublink
                              */
                         } else {
                             foreach ($arrResultData[$paths_one[0]][$paths_one[1]][$paths_one[2]][$paths_one[3]] as $key => $value) {
                                 $link = $arrResultData[$paths_one[0]][$paths_one[1]][$paths_one[2]][$paths_one[3]][$key][$paths_two[0]];
                                 if (!empty($link)) {
                                     if (!is_array($link)) {
                                         self::get_image_src($arrImgList, $link);
                                     } else {
                                         foreach ($link as $k => $v) {
                                             self::get_image_src($arrImgList, $v);
                                         }
                                     }
                                 } else {
                                     $logArr['img'] = "data['resultData'][{$paths_one['0']}][{$paths_one['1']}][{$paths_one['2']}][{$paths_one['3']}][{$key}][{$paths_two['0']}]";
                                     CLog::debug("img src to get id is empty", $status, $logArr, 1);
                                     return false;
                                 }
                             }
                         }
                     }
                 }
                 break;
         }
         return true;
     }
     if (3 === $cnt) {
         $paths_one = explode('.', $arrImgConf[0]);
         $paths_one_count = count($paths_one);
         $paths_two = explode('.', $arrImgConf[1]);
         $paths_two_count = count($paths_two);
         $paths_three = explode('.', $arrImgConf[2]);
         $paths_three_count = count($paths_three);
         $total_count = $paths_one_count + $paths_two_count + $paths_three_count;
         switch ($total_count) {
             /**
              *
              * @example : tplData[].morebrand[].link
              */
             case 3:
                 foreach ($arrResultData[$paths_one[0]] as $key0 => $value0) {
                     foreach ($arrResultData[$paths_one[0]][$key0][$paths_two[0]] as $key1 => $value1) {
                         $link = $arrResultData[$paths_one[0]][$key0][$paths_two[0]][$key1][$paths_three[0]];
                         if (!empty($link)) {
                             if (!is_array($link)) {
                                 self::get_image_src($arrImgList, $link);
                             } else {
                                 foreach ($link as $k => $v) {
                                     self::get_image_src($arrImgList, $v);
                                 }
                             }
                         } else {
                             $logArr['img'] = "data['resultData'][{$paths_one['0']}][{$key0}][{$paths_two['0']}][{$key1}][{$paths_three['0']}]";
                             CLog::debug("img src to get id is empty", $status, $logArr, 1);
                             return false;
                         }
                     }
                 }
                 break;
             case 4:
                 /**
                  *
                  * @example : tplData.morebrand[].link[].sublink
                  */
                 if (2 === $paths_one_count) {
                     foreach ($arrResultData[$paths_one[0]][$paths_one[1]] as $key0 => $value0) {
                         foreach ($arrResultData[$paths_one[0]][$paths_one[1]][$key0][$paths_two[0]] as $key1 => $value1) {
                             $link = $arrResultData[$paths_one[0]][$paths_one[1]][$key0][$paths_two[0]][$key1][$paths_three[0]];
                             if (!empty($link)) {
                                 if (!is_array($link)) {
                                     self::get_image_src($arrImgList, $link);
                                 } else {
                                     foreach ($link as $k => $v) {
                                         self::get_image_src($arrImgList, $v);
                                     }
                                 }
                             } else {
                                 $logArr['img'] = "data['resultData'][{$paths_one['0']}][{$paths_one['1']}][{$key0}][{$paths_two['0']}][{$key1}][{$paths_three['0']}]";
                                 CLog::debug("img src to get id is empty", $status, $logArr, 1);
                                 return false;
                             }
                         }
                     }
                     /**
                      *
                      * @example : tplData[].morebrand.link[].sublink
                      */
                 } else {
                     if (2 === $paths_two_count) {
                         foreach ($arrResultData[$paths_one[0]] as $key0 => $value0) {
                             foreach ($arrResultData[$paths_one[0]][$key0][$paths_two[0]][$paths_two[1]] as $key1 => $value1) {
                                 $link = $arrResultData[$paths_one[0]][$key0][$paths_two[0]][$paths_two[1]][$key1][$paths_three[0]];
                                 if (!empty($link)) {
                                     if (!is_array($link)) {
                                         self::get_image_src($arrImgList, $link);
                                     } else {
                                         foreach ($link as $k => $v) {
                                             self::get_image_src($arrImgList, $v);
                                         }
                                     }
                                 } else {
                                     $logArr['img'] = "data['resultData'][{$paths_one['0']}][{$key0}][{$paths_two['0']}][{$paths_two['1']}][{$key1}][{$paths_three['0']}]";
                                     CLog::debug("img src to get id is empty", $status, $logArr, 1);
                                     return false;
                                 }
                             }
                         }
                         /**
                          *
                          * @example : tplData[].morebrand[].link.sublink
                          */
                     } else {
                         foreach ($arrResultData[$paths_one[0]] as $key0 => $value0) {
                             foreach ($arrResultData[$paths_one[0]][$key0][$paths_two[0]] as $key1 => $value1) {
                                 $link = $arrResultData[$paths_one[0]][$key0][$paths_two[0]][$key1][$paths_three[0]][$paths_three[1]];
                                 if (!empty($link)) {
                                     if (!is_array($link)) {
                                         self::get_image_src($arrImgList, $link);
                                     } else {
                                         foreach ($link as $k => $v) {
                                             self::get_image_src($arrImgList, $v);
                                         }
                                     }
                                 } else {
                                     $logArr['img'] = "data['resultData'][{$paths_one['0']}][{$key0}][{$paths_two['0']}][{$key1}][{$paths_three['0']}][{$paths_three['1']}]";
                                     CLog::debug("img src to get id is empty", $status, $logArr, 1);
                                     return false;
                                 }
                             }
                         }
                     }
                 }
                 break;
             case 5:
                 /**
                  *
                  * @example : tplData.morebrand.link[].sublink[].subsublink
                  */
                 if (3 === $paths_one_count) {
                     foreach ($arrResultData[$paths_one[0]][$paths_one[1]][$paths_one[2]] as $key0 => $value0) {
                         foreach ($arrResultData[$paths_one[0]][$paths_one[1]][$paths_one[2]][$key0][$paths_two[0]] as $key1 => $value1) {
                             $link = $arrResultData[$paths_one[0]][$paths_one[1]][$paths_one[2]][$key0][$paths_two[0]][$key1][$paths_three[0]];
                             if (!empty($link)) {
                                 if (!is_array($link)) {
                                     self::get_image_src($arrImgList, $link);
                                 } else {
                                     foreach ($link as $k => $v) {
                                         self::get_image_src($arrImgList, $v);
                                     }
                                 }
                             } else {
                                 $logArr['img'] = "data['resultData'][{$paths_one['0']}][{$paths_one['1']}][{$paths_one['2']}][{$key0}][{$paths_two['0']}][{$key1}][{$paths_three['0']}]";
                                 CLog::debug("img src to get id is empty", $status, $logArr, 1);
                                 return false;
                             }
                         }
                     }
                     /**
                      *
                      * @example : tplData[].morebrand.link.sublink[].subsublink
                      */
                 } else {
                     if (3 === $paths_two_count) {
                         foreach ($arrResultData[$paths_one[0]] as $key0 => $value0) {
                             foreach ($arrResultData[$paths_one[0]][$key0][$paths_two[0]][$paths_two[1]][$paths_two[2]] as $key1 => $value1) {
                                 $link = $arrResultData[$paths_one[0]][$key0][$paths_two[0]][$paths_two[1]][$paths_two[2]][$key1][$paths_three[0]];
                                 if (!empty($link)) {
                                     if (!is_array($link)) {
                                         self::get_image_src($arrImgList, $link);
                                     } else {
                                         foreach ($link as $k => $v) {
                                             self::get_image_src($arrImgList, $v);
                                         }
                                     }
                                 } else {
                                     $logArr['img'] = "data['resultData'][{$paths_one['0']}][{$key0}][{$paths_two['0']}][{$paths_two['1']}][{$paths_two['2']}][{$key1}][{$paths_three['0']}]";
                                     CLog::debug("img src to get id is empty", $status, $logArr, 1);
                                     return false;
                                 }
                             }
                         }
                         /**
                          *
                          * @example : tplData[].morebrand[].link.sublink.subsublink
                          */
                     } else {
                         if (3 === $paths_three_count) {
                             foreach ($arrResultData[$paths_one[0]] as $key0 => $value0) {
                                 foreach ($arrResultData[$paths_one[0]][$key0][$paths_two[0]] as $key1 => $value1) {
                                     $link = $arrResultData[$paths_one[0]][$key0][$paths_two[0]][$key1][$paths_three[0]][$paths_three[1]][$paths_three[2]];
                                     if (!empty($link)) {
                                         if (!is_array($link)) {
                                             self::get_image_src($arrImgList, $link);
                                         } else {
                                             foreach ($link as $k => $v) {
                                                 self::get_image_src($arrImgList, $v);
                                             }
                                         }
                                     } else {
                                         $logArr['img'] = "data['resultData'][{$paths_one['0']}][{$key0}][{$paths_two['0']}][{$key1}][{$paths_three['0']}][{$paths_three['1']}][{$paths_three['2']}]";
                                         CLog::debug("img src to get id is empty", $status, $logArr, 1);
                                         return false;
                                     }
                                 }
                             }
                             /**
                              *
                              * @example : tplData.morebrand[].link.sublink[].subsublink
                              */
                         } else {
                             if (2 === $paths_one_count && 2 === $paths_two_count && 1 === $paths_three_count) {
                                 foreach ($arrResultData[$paths_one[0]][$paths_one[1]] as $key0 => $value0) {
                                     foreach ($arrResultData[$paths_one[0]][$paths_one[1]][$key0][$paths_two[0]][$paths_two[1]] as $key1 => $value1) {
                                         $link = $arrResultData[$paths_one[0]][$paths_one[1]][$key0][$paths_two[0]][$paths_two[1]][$key1][$paths_three[0]];
                                         if (!empty($link)) {
                                             if (!is_array($link)) {
                                                 self::get_image_src($arrImgList, $link);
                                             } else {
                                                 foreach ($link as $k => $v) {
                                                     self::get_image_src($arrImgList, $v);
                                                 }
                                             }
                                         } else {
                                             $logArr['img'] = "data['resultData'][{$paths_one['0']}][{$paths_one['1']}][{$key0}][{$paths_two['0']}][{$paths_two['1']}][{$key1}][{$paths_three['0']}]";
                                             CLog::debug("img src to get id is empty", $status, $logArr, 1);
                                             return false;
                                         }
                                     }
                                 }
                                 /**
                                  *
                                  * @example : tplData.morebrand[].link[].sublink.subsublink
                                  */
                             } else {
                                 if (2 === $paths_one_count && 1 === $paths_two_count && 2 === $paths_three_count) {
                                     foreach ($arrResultData[$paths_one[0]][$paths_one[1]] as $key0 => $value0) {
                                         foreach ($arrResultData[$paths_one[0]][$paths_one[1]][$key0][$paths_two[0]] as $key1 => $value1) {
                                             $link = $arrResultData[$paths_one[0]][$paths_one[1]][$key0][$paths_two[0]][$key1][$paths_three[0]][$paths_three[1]];
                                             if (!empty($link)) {
                                                 if (!is_array($link)) {
                                                     self::get_image_src($arrImgList, $link);
                                                 } else {
                                                     foreach ($link as $k => $v) {
                                                         self::get_image_src($arrImgList, $v);
                                                     }
                                                 }
                                             } else {
                                                 $logArr['img'] = "data['resultData'][{$paths_one['0']}][{$paths_one['1']}][{$key0}][{$paths_two['0']}][{$key1}][{$paths_three['0']}][{$paths_three['1']}]";
                                                 CLog::debug("img src to get id is empty", $status, $logArr, 1);
                                                 return false;
                                             }
                                         }
                                     }
                                     /**
                                      *
                                      * @example : tplData[].morebrand.link[].sublink.subsublink
                                      */
                                 } else {
                                     if (1 === $paths_one_count && 2 === $paths_two_count && 2 === $paths_three_count) {
                                         foreach ($arrResultData[$paths_one[0]] as $key0 => $value0) {
                                             foreach ($arrResultData[$paths_one[0]][$key0][$paths_two[0]][$paths_two[1]] as $key1 => $value1) {
                                                 $link = $arrResultData[$paths_one[0]][$key0][$paths_two[0]][$paths_two[1]][$key1][$paths_three[0]][$paths_three[1]];
                                                 if (!empty($link)) {
                                                     if (!is_array($link)) {
                                                         self::get_image_src($arrImgList, $link);
                                                     } else {
                                                         foreach ($link as $k => $v) {
                                                             self::get_image_src($arrImgList, $v);
                                                         }
                                                     }
                                                 } else {
                                                     $logArr['img'] = "data['resultData'][{$paths_one['0']}][{$key0}][{$paths_two['0']}][{$paths_two['1']}][{$key1}][{$paths_three['0']}][{$paths_three['1']}]";
                                                     CLog::debug("img src to get id is empty", $status, $logArr, 1);
                                                     return false;
                                                 }
                                             }
                                         }
                                     }
                                 }
                             }
                         }
                     }
                 }
                 break;
         }
         return true;
     }
     if (4 === $cnt) {
         $paths_one = explode('.', $arrImgConf[0]);
         $paths_one_count = count($paths_one);
         $paths_two = explode('.', $arrImgConf[1]);
         $paths_two_count = count($paths_two);
         $paths_three = explode('.', $arrImgConf[2]);
         $paths_three_count = count($paths_three);
         $paths_four = explode('.', $arrImgConf[3]);
         $paths_four_count = count($paths_four);
         $total_count = $paths_one_count + $paths_two_count + $paths_three_count + $paths_four_count;
         switch ($total_count) {
             case 4:
                 /**
                  *
                  * @example : tplData[].morebrand[].link[].sublink
                  */
                 foreach ($arrResultData[$paths_one[0]] as $key0 => $value0) {
                     foreach ($arrResultData[$paths_one[0]][$key0][$paths_two[0]] as $key1 => $value1) {
                         foreach ($arrResultData[$paths_one[0]][$key0][$paths_two[0]][$key1][$paths_three[0]] as $key2 => $value2) {
                             $link = $arrResultData[$paths_one[0]][$key0][$paths_two[0]][$key1][$paths_three[0]][$key2][$paths_four[0]];
                             if (!empty($link)) {
                                 if (!is_array($link)) {
                                     self::get_image_src($arrImgList, $link);
                                 } else {
                                     foreach ($link as $k => $v) {
                                         self::get_image_src($arrImgList, $v);
                                     }
                                 }
                             } else {
                                 $logArr['img'] = "data['resultData'][{$paths_one['0']}][{$key0}][{$paths_two['0']}][{$key1}][{$paths_three['0']}][{$key2}][{$paths_four['0']}]";
                                 CLog::debug("img src to get id is empty", $status, $logArr, 1);
                                 return false;
                             }
                         }
                     }
                 }
                 break;
             case 5:
                 /**
                  *
                  * @example :
                  *          tplData.morebrand[].link[].sublink[].subsublink
                  */
                 if (2 === $paths_one_count) {
                     foreach ($arrResultData[$paths_one[0]][$paths_one[1]] as $key0 => $value0) {
                         foreach ($arrResultData[$paths_one[0]][$paths_one[1]][$key0][$paths_two[0]] as $key1 => $value1) {
                             foreach ($arrResultData[$paths_one[0]][$paths_one[1]][$key0][$paths_two[0]][$key1][$paths_three[0]] as $key2 => $value2) {
                                 $link = $arrResultData[$paths_one[0]][$paths_one[1]][$key0][$paths_two[0]][$key1][$paths_three[0]][$key2][$paths_four[0]];
                                 if (!empty($link)) {
                                     if (!is_array($link)) {
                                         self::get_image_src($arrImgList, $link);
                                     } else {
                                         foreach ($link as $k => $v) {
                                             self::get_image_src($arrImgList, $v);
                                         }
                                     }
                                 } else {
                                     $logArr['img'] = "data['resultData'][{$paths_one['0']}][{$key0}][{$paths_two['0']}][{$key1}][{$paths_three['0']}][{$key2}][{$paths_four['0']}]";
                                     CLog::debug("img src to get id is empty", $status, $logArr, 1);
                                     return false;
                                 }
                             }
                         }
                     }
                     /**
                      *
                      * @example :
                      *          tplData[].morebrand.link[].sublink[].subsublink
                      */
                 } else {
                     if (2 === $paths_two_count) {
                         foreach ($arrResultData[$paths_one[0]] as $key0 => $value0) {
                             foreach ($arrResultData[$paths_one[0]][$key0][$paths_two[0]][$paths_two[1]] as $key1 => $value1) {
                                 foreach ($arrResultData[$paths_one[0]][$key0][$paths_two[0]][$paths_two[1]][$key1][$paths_three[0]] as $key2 => $value2) {
                                     $link = $arrResultData[$paths_one[0]][$key0][$paths_two[0]][$paths_two[1]][$key1][$paths_three[0]][$key2][$paths_four[0]];
                                     if (!empty($link)) {
                                         if (!is_array($link)) {
                                             self::get_image_src($arrImgList, $link);
                                         } else {
                                             foreach ($link as $k => $v) {
                                                 self::get_image_src($arrImgList, $v);
                                             }
                                         }
                                     } else {
                                         $logArr['img'] = "data['resultData'][{$paths_one['0']}][{$key0}][{$paths_two['0']}][{$paths_two['1']}][{$key1}][{$paths_three['0']}][{$key2}][{$paths_four['0']}]";
                                         CLog::debug("img src to get id is empty", $status, $logArr, 1);
                                         return false;
                                     }
                                 }
                             }
                         }
                         /**
                          *
                          * @example :
                          *          tplData[].morebrand[].link.sublink[].subsublink
                          */
                     } else {
                         if (2 === $paths_three_count) {
                             foreach ($arrResultData[$paths_one[0]] as $key0 => $value0) {
                                 foreach ($arrResultData[$paths_one[0]][$key0][$paths_two[0]] as $key1 => $value1) {
                                     foreach ($arrResultData[$paths_one[0]][$key0][$paths_two[0]][$key1][$paths_three[0]][$paths_three[1]] as $key2 => $value2) {
                                         $link = $arrResultData[$paths_one[0]][$key0][$paths_two[0]][$key1][$paths_three[0]][$paths_three[1]][$key2][$paths_four[0]];
                                         if (!empty($link)) {
                                             if (!is_array($link)) {
                                                 self::get_image_src($arrImgList, $link);
                                             } else {
                                                 foreach ($link as $k => $v) {
                                                     self::get_image_src($arrImgList, $v);
                                                 }
                                             }
                                         } else {
                                             $logArr['img'] = "data['resultData'][{$paths_one['0']}][{$key0}][{$paths_two['0']}][{$key1}][{$paths_three['0']}][{$paths_three['1']}][{$key2}][{$paths_four['0']}]";
                                             CLog::debug("img src to get id is empty", $status, $logArr, 1);
                                             return false;
                                         }
                                     }
                                 }
                             }
                             /**
                              *
                              * @example :
                              *          tplData[].morebrand[].link[].sublink.subsublink
                              */
                         } else {
                             if (2 === $paths_four_count) {
                                 foreach ($arrResultData[$paths_one[0]] as $key0 => $value0) {
                                     foreach ($arrResultData[$paths_one[0]][$key0][$paths_two[0]] as $key1 => $value1) {
                                         foreach ($arrResultData[$paths_one[0]][$key0][$paths_two[0]][$key1][$paths_three[0]] as $key2 => $value2) {
                                             $link = $arrResultData[$paths_one[0]][$key0][$paths_two[0]][$key1][$paths_three[0]][$key2][$paths_four[0]][$paths_four[1]];
                                             if (!empty($link)) {
                                                 if (!is_array($link)) {
                                                     self::get_image_src($arrImgList, $link);
                                                 } else {
                                                     foreach ($link as $k => $v) {
                                                         self::get_image_src($arrImgList, $v);
                                                     }
                                                 }
                                             } else {
                                                 $logArr['img'] = "data['resultData'][{$paths_one['0']}][{$key0}][{$paths_two['0']}][{$key1}][{$paths_three['0']}][{$key2}][{$paths_four['0']}][{$paths_four['1']}]";
                                                 CLog::debug("img src to get id is empty", $status, $logArr, 1);
                                                 return false;
                                             }
                                         }
                                     }
                                 }
                             }
                         }
                     }
                 }
                 break;
         }
         return true;
     }
     if (5 === $cnt) {
         $paths_one = explode('.', $arrImgConf[0]);
         $paths_one_count = count($paths_one);
         $paths_two = explode('.', $arrImgConf[1]);
         $paths_two_count = count($paths_two);
         $paths_three = explode('.', $arrImgConf[2]);
         $paths_three_count = count($paths_three);
         $paths_four = explode('.', $arrImgConf[3]);
         $paths_four_count = count($paths_four);
         $paths_five = explode('.', $arrImgConf[4]);
         $paths_five_count = count($paths_five);
         $total_count = $paths_one_count + $paths_two_count + $paths_three_count + $paths_four_count + $paths_five_count;
         switch ($total_count) {
             case 5:
                 /**
                  *
                  * @example :
                  *          tplData[].morebrand[].link[].sublink[].subsublink
                  */
                 foreach ($arrResultData[$paths_one[0]] as $key0 => $value0) {
                     foreach ($arrResultData[$paths_one[0]][$key0][$paths_two[0]] as $key1 => $value1) {
                         foreach ($arrResultData[$paths_one[0]][$key0][$paths_two[0]][$key1][$paths_three[0]] as $key2 => $value2) {
                             foreach ($arrResultData[$paths_one[0]][$key0][$paths_two[0]][$key1][$paths_three[0]][$key2][$paths_four[0]] as $key3 => $value3) {
                                 $link = $arrResultData[$paths_one[0]][$key0][$paths_two[0]][$key1][$paths_three[0]][$key2][$paths_four[0]][$key3][$paths_five[0]];
                                 if (!empty($link)) {
                                     if (!is_array($link)) {
                                         self::get_image_src($arrImgList, $link);
                                     } else {
                                         foreach ($link as $k => $v) {
                                             self::get_image_src($arrImgList, $v);
                                         }
                                     }
                                 } else {
                                     $logArr['img'] = "data['resultData'][{$paths_one['0']}][{$key0}][{$paths_two['0']}][{$key1}][{$paths_three['0']}][{$key2}][{$paths_four['0']}][{$key3}][{$paths_five['0']}]";
                                     CLog::debug("img src to get id is empty", $status, $logArr, 1);
                                     return false;
                                 }
                             }
                         }
                     }
                 }
                 break;
             default:
                 break;
         }
         return true;
     }
     if ($cnt > 5) {
         $logArr['path_conf'] = implode("_", $arrImgConf);
         CLog::warning("img src to get id is more than 5 level", $status, $logArr, 1);
     }
     return false;
 }
示例#15
0
function strategy_function_3(&$data, $index)
{
    $tempnames = array();
    $flag = 0;
    $hasreplaceResult = 0;
    $hasRealPSResult = 0;
    $replaceLocation = -1;
    $realResultPosiont = -1;
    $fromStdstg = $GLOBALS['STRATEGY' . $index]['STRATEGY_CONF'][1];
    $toStdstg = $GLOBALS['STRATEGY' . $index]['STRATEGY_CONF'][0];
    if (empty($fromStdstg) || empty($toStdstg)) {
        return 0;
    }
    // 19是时效性结果
    if (!empty($data['uiData']['asResult']['item']) && is_array($data['uiData']['asResult']['item'])) {
        // 知心结果都在第一个位置,如果第一个位置不存在知心结果,那么不处理
        foreach ($data['uiData']['asResult']['item'] as $key => $value) {
            if ($value['comeFrome'] == "SP") {
                if (!empty($value['dispData'])) {
                    if ($value['dispData']['StdStg'] == $toStdstg) {
                        $replaceLocation = $key;
                        $hasreplaceResult = 1;
                        break;
                    }
                }
            }
        }
        // $hasreplaceResult = 0;
        if ($hasreplaceResult == 1) {
            foreach ($data['uiData']['asResult']['item'] as $key => &$value) {
                if ($value['comeFrome'] == "SP") {
                    if (!empty($value['dispData'])) {
                        if ($value['dispData']['StdStg'] == $fromStdstg) {
                            $hasRealPSResult = 1;
                            $realResult =& $data['uiData']['asResult']['item'][$replaceLocation]['dispData']['resultData']['tplData'];
                            $hasRealResult = 0;
                            $realResultNum = 0;
                            $hasPhoto = 0;
                            if (empty($realResult['newssubject'])) {
                                $subject = array();
                                $subjectArray = array();
                                $subjectArray['subject'] = $data['uiData']['queryInfo']['wordNoSyntax'] . "的最新相关消息";
                                $subjectArray['link'] = $value['offsetInfo']['urlEncoded'];
                            }
                            $newsOld = $realResult['news'];
                            unset($realResult['news']);
                            for ($i = 0; $i < 10; $i++) {
                                CLog::debug("realResultNum {$realResultNum}");
                                $hasRealResult = 0;
                                if ($realResultNum == 0 && !empty($value['dispData']['ThumURL' . $i]) && !empty($value['dispData']['SubTitleUrl' . $i])) {
                                    $realResult['news'][$realResultNum]['photo'] = $value['dispData']['ThumURL' . $i];
                                    $realResult['news'][$realResultNum]['link'] = $value['dispData']['SubTitleUrl' . $i];
                                    $realResultNum++;
                                    $hasPhoto = 1;
                                }
                                if (!empty($value['dispData']['SubTitleUrl' . $i])) {
                                    $realResult['news'][$realResultNum]['link'] = $value['dispData']['SubTitleUrl' . $i];
                                    $hasRealResult++;
                                }
                                if (!empty($value['dispData']['SubTitle' . $i])) {
                                    $realResult['news'][$realResultNum]['subject'] = $value['dispData']['SubTitle' . $i];
                                    $hasRealResult++;
                                }
                                if (!empty($value['dispData']['SiteName' . $i])) {
                                    $realResult['news'][$realResultNum]['from'] = $value['dispData']['SiteName' . $i];
                                    $hasRealResult++;
                                }
                                if (!empty($value['dispData']['PostTime' . $i])) {
                                    $realResult['news'][$realResultNum]['time'] = $value['dispData']['PostTime' . $i];
                                    $hasRealResult++;
                                }
                                if (!empty($value['dispData']['SubAbs' . $i])) {
                                    $realResult['news'][$realResultNum]['summary'] = $value['dispData']['SubAbs' . $i];
                                }
                                if ($hasRealResult > 3) {
                                    $realResultNum++;
                                    // PM要求最大结果条数为三
                                    if ($hasPhoto == 1 && $realResultNum >= 4 || $hasPhoto == 0 && $realResultNum >= 3) {
                                        break;
                                    }
                                } else {
                                    if ($hasRealResult == 0 && $realResultNum == 0 || $hasRealResult != 0) {
                                        $realResult['news'] = $newsOld;
                                        array_splice($data['uiData']['asResult']['item'], $key, 1);
                                        $data['uiData']['asResult']['spResutlNum'] = $data['uiData']['asResult']['spResutlNum'] - 1;
                                        break 2;
                                    }
                                    break;
                                }
                            }
                            $realResult['news#num#baidu'] = $realResultNum;
                            // unset($data['uiData']['asResult']['item'][$key]);
                            // unset($replaceLocation);
                            // unset($data['uiData']['asResult']['item'][$replaceLocation]['resultData']['tplData']['news']);
                            // $realResult =
                            // $data['uiData']['asResult']['item'][$key];
                            array_splice($data['uiData']['asResult']['item'], $key, 1);
                            $data['uiData']['asResult']['spResutlNum'] = $data['uiData']['asResult']['spResutlNum'] - 1;
                            break;
                        }
                    }
                }
            }
            if ($hasRealPSResult == 0) {
                unset($data['uiData']['asResult']['item'][$replaceLocation]['dispData']['resultData']['tplData']['news']);
                modifyNewsIndex($data['uiData']['asResult']['item'][$replaceLocation]['dispData']['resultData']['tplData']['index'], 0, "news");
            } else {
                // 对index进行处理
                modifyNewsIndex($data['uiData']['asResult']['item'][$replaceLocation]['dispData']['resultData']['tplData']['index'], 1, "news");
            }
        }
    }
}
示例#16
0
 public function run(&$arrData, $arrDefConf)
 {
     $time_start = Volatile::microtime(true) * 1000;
     if (empty($arrData) || !is_array($arrData)) {
         CLog::warning("get image sid failed, param null");
         $GLOBALS['logArr']['time_img_base64'] = round(Volatile::microtime(true) * 1000 - $time_start, 2);
         $GLOBALS['logArr']['img_base64_ret'] = self::BASE64_PARAM_ERR;
         return false;
     }
     // 整体功能开关
     $arrConf = Util::getConf('/image_base', 'IMAGE_BASE');
     if ($arrConf['base64'] !== 'on') {
         CLog::debug("get image sid turn off");
         $GLOBALS['logArr']['time_img_base64'] = round(Volatile::microtime(true) * 1000 - $time_start, 2);
         $GLOBALS['logArr']['img_base64_ret'] = self::BASE64_OFF;
         return false;
     }
     // 无用代码,小流量使用
     if (!isset($arrConf['base64_tempname']) || empty($arrConf['base64_tempname'])) {
         $GLOBALS['logArr']['time_img_base64'] = round(Volatile::microtime(true) * 1000 - $time_start, 2);
         $GLOBALS['logArr']['img_base64_ret'] = self::BASE64_NOT_LEGAL;
         return false;
     }
     if (strcasecmp($arrData['uiControl']['templateName'], $arrConf['base64_tempname']) == 0) {
         $GLOBALS['logArr']['time_img_base64'] = round(Volatile::microtime(true) * 1000 - $time_start, 2);
         $GLOBALS['logArr']['img_base64_ret'] = self::BASE64_NOT_LEGAL;
         return false;
     }
     // 浏览器识别IE6、IE7
     $bolFlag = $this->recognizeUserAgent($arrData);
     if ($bolFlag !== true) {
         CLog::debug("get image sid useragent not legal");
         $GLOBALS['logArr']['time_img_base64'] = round(Volatile::microtime(true) * 1000 - $time_start, 2);
         $GLOBALS['logArr']['img_base64_ret'] = self::BASE64_BROWSER;
         return false;
     }
     // for small flow
     /*
     if (isset ( $arrConf ['base64_small_flow'] ) && $arrConf ['base64_small_flow'] === on) {
     	$arrSample = Util::getConf ( '/sample_variable', 'sample_variable/IMAGE_BASE64' );
     	$bolSampleExp = false;
     	$bolSampleMat = false;
     	if (is_array ( $arrSample ) && ! empty ( $arrSample ) && ! empty ( $arrSample ['Contexted'] )) {
     		if (is_array ( $arrData ['uiData'] ['queryInfo'] ['samplingId'] ) && ! empty ( $arrData ['uiData'] ['queryInfo'] ['samplingId'] )) {
     			$arrSids = $arrData ['uiData'] ['queryInfo'] ['samplingId'];
     			$arrSids = array_flip ( $arrSids );
     			foreach ( $arrSample ['Contexted'] as $arrTemp ) {
     				if (isset ( $arrSids [$arrTemp ['sampling_id']] )) {
     					if ($arrTemp ['value'] == $arrConf ['exp_value']) {
     						$bolSampleExp = true;
     						break;
     					} else if ($arrTemp ['value'] == $arrConf ['mat_value']) {
     						$bolSampleMat = true;
     						break;
     					}
     				}
     			}
     		}
     	}
     	if ($bolSampleMat === true) {
     		$GLOBALS ['logArr'] ['time_img_base64'] = round ( Volatile::microtime ( true ) * 1000 - $time_start, 2 );
     		$GLOBALS ['logArr'] ['img_base64_ret'] = self::BASE64_MAT;
     		return false;
     	}
     	if ($bolSampleExp === false) {
     		$GLOBALS ['logArr'] ['time_img_base64'] = round ( Volatile::microtime ( true ) * 1000 - $time_start, 2 );
     		$GLOBALS ['logArr'] ['img_base64_ret'] = self::BASE64_OTHER;
     		return false;
     	}
     }
     */
     // 设置左侧小流量开关
     $base64LeftOn = false;
     $leftOpenTpllist = $arrConf['base64_left_tempname'];
     $leftOpenTpllist = explode(',', $leftOpenTpllist);
     foreach ($leftOpenTpllist as $leftTplName) {
         if (strcasecmp($arrData['uiControl']['templateName'], $leftTplName) == 0) {
             $base64LeftOn = true;
         }
     }
     // 处理右侧结果队列
     $arrResult = $arrConf['result'];
     $arrResult = explode(',', $arrResult);
     $arrControlInfo =& $arrData['uiControl'];
     $arrImgIds = array();
     $arrImgIdsLeft = array();
     $strPlatform = $arrControlInfo['platform'];
     $strLanguage = $arrControlInfo['language'];
     $strType = '';
     $strTemplateName = '';
     $arrImgConf = array();
     foreach ($arrResult as $res) {
         if (is_array($arrData['uiData'][$res]['item']) && !empty($arrData['uiData'][$res]['item'])) {
             // 处理结果队列的每条结果
             foreach ($arrData['uiData'][$res]['item'] as $intIndex => $arrItem) {
                 $strType = empty($arrItem['dispData']['strategy']['type']) ? VUI_TEMPLATE_ALADDIN_TEMPLATE_TYPE : trim($arrItem['dispData']['strategy']['type']);
                 if (empty($arrItem['dispData']['strategy'])) {
                     CLog::debug("get tpl strategy fail");
                     continue;
                 }
                 $strTemplateName = trim($arrItem['dispData']['strategy']['tempName']);
                 if (empty($strTemplateName)) {
                     CLog::debug("get image sid template name null");
                     continue;
                 }
                 // 获取tpl.conf内容
                 $arrImgConf = $this->load_image_tpl_conf($strPlatform, $strLanguage, $strType, $strTemplateName);
                 // 从src中提取sid
                 if (is_array($arrImgConf) && !empty($arrImgConf)) {
                     if (intval($arrImgConf['open_base64']) != 1) {
                         continue;
                     }
                     if (is_array($arrImgConf['img']) && !empty($arrImgConf['img'])) {
                         if ($base64LeftOn === true && strcasecmp($res, "asResult") == 0) {
                             foreach ($arrImgConf['img'] as $arrImgData) {
                                 $this->parse_image_conf($arrItem['dispData']['resultData'], $arrImgIdsLeft, $arrImgData);
                             }
                         } else {
                             if (strcasecmp($res, "rightResult") == 0) {
                                 /* 处理 右侧展开图片的base64加载问题,控制每单个模板base64加载张数:先读取模板变量$tplData.showrow,如果读不到则默认只加载4张 */
                                 $imgCountLimit = 4;
                                 if (is_array($arrItem['dispData']['resultData'])) {
                                     $showNum = $arrItem['dispData']['resultData']['tplData']['shownums'];
                                     if (!empty($showNum) && is_numeric($showNum) && $showNum > 0 && $showNum < 13) {
                                         $imgCountLimit = $showNum;
                                     }
                                 }
                                 //记录当前数组里的图片张数
                                 $tempCount = count($arrImgIds);
                                 foreach ($arrImgConf['img'] as $arrImgData) {
                                     $this->parse_image_conf($arrItem['dispData']['resultData'], $arrImgIds, $arrImgData);
                                     //判断新增张数是否超过切分阈值
                                     if (count($arrImgIds) > $tempCount + $imgCountLimit) {
                                         //进行切分,去掉尾部图片
                                         $arrImgIds = array_slice($arrImgIds, 0, $tempCount + $imgCountLimit);
                                         //更新当前图片数量值
                                         $tempCount = count($arrImgIds);
                                     }
                                 }
                             }
                         }
                     }
                 }
                 unset($arrImgConf);
             }
         }
     }
     // 标记base64是否开启
     $base64on = false;
     if (is_array($arrImgIds) && !empty($arrImgIds)) {
         $arrData['uiData']['queryInfo']['base64_sids_for_plugin'] = $arrImgIds;
         //该数组供Smarty插件读取,用于拼装base64形式的图片dom
         //只要右侧有图片,即开启base64开关
         $base64on = true;
     }
     //判断是否开启图片预取, 将已设置预取的图片从base64列表中去除.
     $preImageConf = Util::getConf('/image_predict', 'IMAGE_PREDICT');
     if ($preImageConf['predict_get'] === 'on' && $arrData['uiData']['queryInfo']['pageNo'] == 1) {
         $preImgList = $arrData['uiData']['queryInfo']['viewConfig']['predictImg'];
         if (!empty($preImgList)) {
             if (!empty($preImgList['right']['sidList'])) {
                 $img_diff = array_diff($arrImgIds, $preImgList['right']['sidList']);
                 #当图片预取list与实际图片list小于,配置差值时关闭base64
                 $arrImgIds = $img_diff;
             }
             if (!empty($preImgList['left']['sidList'])) {
                 $img_diff_left = array_diff($arrImgIdsLeft, $preImgList['left']['sidList']);
                 #当图片预取list与实际图片list小于,配置差值时关闭base64
                 $arrImgIdsLeft = $img_diff_left;
             }
         }
     }
     // 设置base64模板变量
     if (is_array($arrImgIds) && !empty($arrImgIds)) {
         //去重后的右侧图片
         $arrData['uiData']['queryInfo']['base64_img_sids'] = $arrImgIds;
     }
     if (is_array($arrImgIdsLeft) && !empty($arrImgIdsLeft)) {
         //左侧图片
         $arrData['uiData']['queryInfo']['base64_img_sids_left'] = $arrImgIdsLeft;
         $base64on = true;
         if ($base64LeftOn === true) {
             $arrData['uiData']['queryInfo']['base64_left_exp'] = 'on';
         }
     }
     if ($base64on) {
         $arrData['uiData']['queryInfo']['base64'] = 'on';
         $arrData['uiData']['queryInfo']['base64_domain'] = $arrConf['domain'];
         CSmarty::setQueryInfo($arrData['uiData']['queryInfo']);
         $GLOBALS['logArr']['time_img_base64'] = round(Volatile::microtime(true) * 1000 - $time_start, 2);
         $GLOBALS['logArr']['img_base64_ret'] = self::BASE64_OK;
         return true;
     }
     $GLOBALS['logArr']['time_img_base64'] = round(Volatile::microtime(true) * 1000 - $time_start, 2);
     $GLOBALS['logArr']['img_base64_ret'] = self::BASE64_NOT_OK;
     return false;
 }
示例#17
0
 public function send($strData, $intDataLength, $intTimeoutMs = null)
 {
     if (!is_null($intTimeoutMs)) {
         $this->setTimeout($this->_intReadTimeoutMS, $intTimeoutMs);
     }
     if (!is_resource($this->_sock)) {
         // maybe send called without connect?
         if ($this->connect() === false) {
             CLog::warning(sprintf('%s: try sending with no valid socket', __METHOD__));
             return false;
         }
     }
     $intSecond = intval($this->_intWriteTimeoutMS / 1000);
     $intMicroSecond = intval($this->_intWriteTimeoutMS % 1000 * 1000);
     stream_set_timeout($this->_sock, $intSecond, $intMicroSecond);
     $intSent = fwrite($this->_sock, $strData, $intDataLength);
     if ($intSent == $intDataLength) {
         CLog::debug(sprintf('%s: sent %d bytes to %s:%d', __METHOD__, $intSent, $this->_strRemoteHost, $this->_intRemotePort));
         return $intSent;
     } else {
         list($intErrorNo, $strErrorMessage) = $this->getLastError();
         CLog::warning(sprintf('%s: error sending %d bytes to %s:%d, ' . '%d got, err(%d:%s)', __METHOD__, $intDataLength, $this->_strRemoteHost, $this->_intRemotePort, $intSent, $intErrorNo, $strErrorMessage));
         return false;
     }
 }
示例#18
0
/**
 * @brief process aladdin data
 * @param array $data
 * @param array $path_conf
 */
function process_aladdin_data(&$data, &$path_conf)
{
    $cnt = count($path_conf);
    $status = -1;
    if (1 === $cnt) {
        $paths = explode('.', $path_conf[0]);
        $paths_count = count($paths);
        switch ($paths_count) {
            /**
             * @example : @enc : tplData
             */
            case 1:
                $link = $data['resultData'][$paths[0]];
                if (!empty($link)) {
                    if (!is_array($link)) {
                        $data['resultData'][$paths[0]] = prefixEncryptUrl($link);
                    } else {
                        foreach ($link as $k => $v) {
                            $data['resultData'][$paths[0]][$k] = prefixEncryptUrl($v);
                        }
                    }
                } else {
                    $logArr['url'] = "data['resultData'][{$paths['0']}]";
                    CLog::debug("data to be encrypt is empty", $status, $logArr, 1);
                }
                break;
                /**
                 * @example : @enc : tplData.loc
                 */
            /**
             * @example : @enc : tplData.loc
             */
            case 2:
                $link = $data['resultData'][$paths[0]][$paths[1]];
                if (!empty($link)) {
                    if (!is_array($link)) {
                        $data['resultData'][$paths[0]][$paths[1]] = prefixEncryptUrl($link);
                    } else {
                        foreach ($link as $k => $v) {
                            $data['resultData'][$paths[0]][$paths[1]][$k] = prefixEncryptUrl($v);
                        }
                    }
                } else {
                    $logArr['url'] = "data['resultData'][{$paths['0']}][{$paths['1']}]";
                    CLog::debug("data to be encrypt is empty", $status, $logArr, 1);
                }
                break;
                /**
                 * @example : tplData.moreprice.link
                 */
            /**
             * @example : tplData.moreprice.link
             */
            case 3:
                $link = $data['resultData'][$paths[0]][$paths[1]][$paths[2]];
                if (!empty($link)) {
                    if (!is_array($link)) {
                        $data['resultData'][$paths[0]][$paths[1]][$paths[2]] = prefixEncryptUrl($link);
                    } else {
                        foreach ($link as $k => $v) {
                            $data['resultData'][$paths[0]][$paths[1]][$paths[2]][$k] = prefixEncryptUrl($v);
                        }
                    }
                } else {
                    $logArr['url'] = "data['resultData'][{$paths['0']}][{$paths['1']}][{$paths['2']}]";
                    CLog::debug("data to be encrypt is empty", $status, $logArr, 1);
                }
                break;
                /**
                 * @example : tplData.moreprice.link.link
                 */
            /**
             * @example : tplData.moreprice.link.link
             */
            case 4:
                $link = $data['resultData'][$paths[0]][$paths[1]][$paths[2]][$paths[3]];
                if (!empty($link)) {
                    if (!is_array($link)) {
                        $data['resultData'][$paths[0]][$paths[1]][$paths[2]][$paths[3]] = prefixEncryptUrl($link);
                    } else {
                        foreach ($link as $k => $v) {
                            $data['resultData'][$paths[0]][$paths[1]][$paths[2]][$paths[3]][$k] = prefixEncryptUrl($v);
                        }
                    }
                } else {
                    $logArr['url'] = "data['resultData'][{$paths['0']}][{$paths['1']}][{$paths['2']}][{$paths['3']}][{$k}]";
                    CLog::debug("data to be encrypt is empty", $status, $logArr, 1);
                }
                break;
                /**
                 * @example : tplData.moreprice.link.link.link
                 */
            /**
             * @example : tplData.moreprice.link.link.link
             */
            case 5:
                $link = $data['resultData'][$paths[0]][$paths[1]][$paths[2]][$paths[3]][$paths[4]];
                if (!empty($link)) {
                    if (!is_array($link)) {
                        $data['resultData'][$paths[0]][$paths[1]][$paths[2]][$paths[3]][$paths[4]] = prefixEncryptUrl($link);
                    } else {
                        foreach ($link as $k => $v) {
                            $data['resultData'][$paths[0]][$paths[1]][$paths[2]][$paths[3]][$paths[4]][$k] = prefixEncryptUrl($v);
                        }
                    }
                } else {
                    $logArr['url'] = "data['resultData'][{$paths['0']}][{$paths['1']}][{$paths['2']}][{$paths['3']}][{$paths['4']}]";
                    CLog::debug("data to be encrypt is empty", $status, $logArr, 1);
                }
                break;
        }
        return;
    }
    if (2 === $cnt) {
        $paths_one = explode('.', $path_conf[0]);
        $paths_one_count = count($paths_one);
        $paths_two = explode('.', $path_conf[1]);
        $paths_two_count = count($paths_two);
        $total_count = $paths_one_count + $paths_two_count;
        switch ($total_count) {
            /**
             * @example : tplData[].morebrand
             */
            case 2:
                foreach ($data['resultData'][$paths_one[0]] as $key => $value) {
                    $link = $data['resultData'][$paths_one[0]][$key][$paths_two[0]];
                    if (!empty($link)) {
                        if (!is_array($link)) {
                            $data['resultData'][$paths_one[0]][$key][$paths_two[0]] = prefixEncryptUrl($link);
                        } else {
                            foreach ($link as $k => $v) {
                                $data['resultData'][$paths_one[0]][$key][$paths_two[0]][$k] = prefixEncryptUrl($v);
                            }
                        }
                    } else {
                        $logArr['url'] = "data['resultData'][{$paths_one['0']}][{$key}][{$paths_two['0']}]";
                        CLog::debug("data to be encrypt is empty", $status, $logArr, 1);
                    }
                }
                break;
            case 3:
                /**
                 * @example : tplData[].morebrand.link
                 */
                if (1 === $paths_one_count) {
                    foreach ($data['resultData'][$paths_one[0]] as $key => $value) {
                        $link = $data['resultData'][$paths_one[0]][$key][$paths_two[0]][$paths_two[1]];
                        if (!empty($link)) {
                            if (!is_array($link)) {
                                $data['resultData'][$paths_one[0]][$key][$paths_two[0]][$paths_two[1]] = prefixEncryptUrl($link);
                            } else {
                                foreach ($link as $k => $v) {
                                    $data['resultData'][$paths_one[0]][$key][$paths_two[0]][$paths_two[1]][$k] = prefixEncryptUrl($v);
                                }
                            }
                        } else {
                            $logArr['url'] = "data['resultData'][{$paths_one['0']}][{$key}][{$paths_two['0']}][{$paths_two['1']}]";
                            CLog::debug("data to be encrypt is empty", $status, $logArr, 1);
                        }
                    }
                    /**
                     * @example : tplData.morebrand[].link
                     */
                } else {
                    if (!empty($data['resultData'][$paths_one[0]][$paths_one[1]])) {
                        foreach ($data['resultData'][$paths_one[0]][$paths_one[1]] as $key => $value) {
                            $link = $data['resultData'][$paths_one[0]][$paths_one[1]][$key][$paths_two[0]];
                            if (!empty($link)) {
                                if (!is_array($link)) {
                                    $data['resultData'][$paths_one[0]][$paths_one[1]][$key][$paths_two[0]] = prefixEncryptUrl($link);
                                } else {
                                    foreach ($link as $k => $v) {
                                        $data['resultData'][$paths_one[0]][$paths_one[1]][$key][$paths_two[0]][$k] = prefixEncryptUrl($v);
                                    }
                                }
                            } else {
                                $logArr['url'] = "data['resultData'][{$paths_one['0']}][{$paths_one['1']}][{$key}][{$paths_two['0']}]";
                                CLog::debug("data to be encrypt is empty", $status, $logArr, 1);
                            }
                        }
                    }
                }
                break;
            case 4:
                /**
                 * @example : tplData[].morebrand.link.sublink
                 */
                if (1 === $paths_one_count) {
                    foreach ($data['resultData'][$paths_one[0]] as $key => $value) {
                        $link = $data['resultData'][$paths_one[0]][$key][$paths_two[0]][$paths_two[1]][$paths_two[2]];
                        if (!empty($link)) {
                            if (!is_array($link)) {
                                $data['resultData'][$paths_one[0]][$key][$paths_two[0]][$paths_two[1]][$paths_two[2]] = prefixEncryptUrl($link);
                            } else {
                                foreach ($link as $k => $v) {
                                    $data['resultData'][$paths_one[0]][$key][$paths_two[0]][$paths_two[1]][$paths_two[2]][$k] = prefixEncryptUrl($v);
                                }
                            }
                        } else {
                            $logArr['url'] = "data['resultData'][{$paths_one['0']}][{$key}][{$paths_two['0']}][{$paths_two['1']}][{$paths_two['2']}]";
                            CLog::debug("data to be encrypt is empty", $status, $logArr, 1);
                        }
                    }
                    /**
                     * @example : tplData.morebrand[].link.sublink
                     */
                } else {
                    if (2 === $paths_one_count) {
                        foreach ($data['resultData'][$paths_one[0]][$paths_one[1]] as $key => $value) {
                            $link = $data['resultData'][$paths_one[0]][$paths_one[1]][$key][$paths_two[0]][$paths_two[1]];
                            if (!empty($link)) {
                                if (!is_array($link)) {
                                    $data['resultData'][$paths_one[0]][$paths_one[1]][$key][$paths_two[0]][$paths_two[1]] = prefixEncryptUrl($link);
                                } else {
                                    foreach ($link as $k => $v) {
                                        $data['resultData'][$paths_one[0]][$paths_one[1]][$key][$paths_two[0]][$paths_two[1]][$k] = prefixEncryptUrl($v);
                                    }
                                }
                            } else {
                                $logArr['url'] = "data['resultData'][{$paths_one['0']}][{$paths_one['1']}][{$key}][{$paths_two['0']}][{$paths_two['1']}]";
                                CLog::debug("data to be encrypt is empty", $status, $logArr, 1);
                            }
                        }
                        /**
                         * @example : tplData.morebrand.link[].sublink
                         */
                    } else {
                        foreach ($data['resultData'][$paths_one[0]][$paths_one[1]][$paths_one[2]] as $key => $value) {
                            $link = $data['resultData'][$paths_one[0]][$paths_one[1]][$paths_one[2]][$key][$paths_two[0]];
                            if (!empty($link)) {
                                if (!is_array($link)) {
                                    $data['resultData'][$paths_one[0]][$paths_one[1]][$paths_one[2]][$key][$paths_two[0]] = prefixEncryptUrl($link);
                                } else {
                                    foreach ($link as $k => $v) {
                                        $data['resultData'][$paths_one[0]][$paths_one[1]][$paths_one[2]][$key][$paths_two[0]][$k] = prefixEncryptUrl($v);
                                    }
                                }
                            } else {
                                $logArr['url'] = "data['resultData'][{$paths_one['0']}][{$paths_one['1']}][{$paths_one['2']}][{$key}][{$paths_two['0']}]";
                                CLog::debug("data to be encrypt is empty", $status, $logArr, 1);
                            }
                        }
                    }
                }
                break;
            case 5:
                /**
                 * @example : tplData[].morebrand.link.sublink.subsublink
                 */
                if (1 === $paths_one_count) {
                    foreach ($data['resultData'][$paths_one[0]] as $key => $value) {
                        $link = $data['resultData'][$paths_one[0]][$key][$paths_two[0]][$paths_two[1]][$paths_two[2]][$paths_two[3]];
                        if (!empty($link)) {
                            if (!is_array($link)) {
                                $data['resultData'][$paths_one[0]][$key][$paths_two[0]][$paths_two[1]][$paths_two[2]][$paths_two[3]] = prefixEncryptUrl($link);
                            } else {
                                foreach ($link as $k => $v) {
                                    $data['resultData'][$paths_one[0]][$key][$paths_two[0]][$paths_two[1]][$paths_two[2]][$paths_two[3]][$k] = prefixEncryptUrl($v);
                                }
                            }
                        } else {
                            $logArr['url'] = "data['resultData'][{$paths_one['0']}][{$key}][{$paths_two['0']}][{$paths_two['1']}][{$paths_two['2']}][{$paths_two['3']}]";
                            CLog::debug("data to be encrypt is empty", $status, $logArr, 1);
                        }
                    }
                    /**
                     * @example : tplData.morebrand[].link.sublink.subsublink
                     */
                } else {
                    if (2 === $paths_one_count) {
                        foreach ($data['resultData'][$paths_one[0]][$paths_one[1]] as $key => $value) {
                            $link = $data['resultData'][$paths_one[0]][$paths_one[1]][$key][$paths_two[0]][$paths_two[1]][$paths_two[2]];
                            if (!empty($link)) {
                                if (!is_array($link)) {
                                    $data['resultData'][$paths_one[0]][$paths_one[1]][$key][$paths_two[0]][$paths_two[1]][$paths_two[2]] = prefixEncryptUrl($link);
                                } else {
                                    foreach ($link as $k => $v) {
                                        $data['resultData'][$paths_one[0]][$paths_one[1]][$key][$paths_two[0]][$paths_two[1]][$paths_two[2]][$k] = prefixEncryptUrl($v);
                                    }
                                }
                            } else {
                                $logArr['url'] = "data['resultData'][{$paths_one['0']}][{$paths_one['1']}][{$key}][{$paths_two['0']}][{$paths_two['1']}][{$paths_two['2']}]";
                                CLog::debug("data to be encrypt is empty", $status, $logArr, 1);
                            }
                        }
                        /**
                         * @example : tplData.morebrand.link[].sublink.subsublink
                         */
                    } else {
                        if (3 === $paths_one_count) {
                            foreach ($data['resultData'][$paths_one[0]][$paths_one[1]][$paths_one[2]] as $key => $value) {
                                $link = $data['resultData'][$paths_one[0]][$paths_one[1]][$paths_one[2]][$key][$paths_two[0]][$paths_two[1]];
                                if (!empty($link)) {
                                    if (!is_array($link)) {
                                        $data['resultData'][$paths_one[0]][$paths_one[1]][$paths_one[2]][$key][$paths_two[0]][$paths_two[1]] = prefixEncryptUrl($link);
                                    } else {
                                        foreach ($link as $k => $v) {
                                            $data['resultData'][$paths_one[0]][$paths_one[1]][$paths_one[2]][$key][$paths_two[0]][$paths_two[1]][$k] = prefixEncryptUrl($v);
                                        }
                                    }
                                } else {
                                    $logArr['url'] = "data['resultData'][{$paths_one['0']}][{$paths_one['1']}][{$paths_one['2']}][{$key}][{$paths_two['0']}][{$paths_two['1']}]";
                                    CLog::debug("data to be encrypt is empty", $status, $logArr, 1);
                                }
                            }
                            /**
                             * @example : tplData.morebrand.link.sublink[].subsublink
                             */
                        } else {
                            foreach ($data['resultData'][$paths_one[0]][$paths_one[1]][$paths_one[2]][$paths_one[3]] as $key => $value) {
                                $link = $data['resultData'][$paths_one[0]][$paths_one[1]][$paths_one[2]][$paths_one[3]][$key][$paths_two[0]];
                                if (!empty($link)) {
                                    if (!is_array($link)) {
                                        $data['resultData'][$paths_one[0]][$paths_one[1]][$paths_one[2]][$paths_one[3]][$key][$paths_two[0]] = prefixEncryptUrl($link);
                                    } else {
                                        foreach ($link as $k => $v) {
                                            $data['resultData'][$paths_one[0]][$paths_one[1]][$paths_one[2]][$paths_one[3]][$key][$paths_two[0]][$k] = prefixEncryptUrl($v);
                                        }
                                    }
                                } else {
                                    $logArr['url'] = "data['resultData'][{$paths_one['0']}][{$paths_one['1']}][{$paths_one['2']}][{$paths_one['3']}][{$key}][{$paths_two['0']}]";
                                    CLog::debug("data to be encrypt is empty", $status, $logArr, 1);
                                }
                            }
                        }
                    }
                }
                break;
        }
        return;
    }
    if (3 === $cnt) {
        $paths_one = explode('.', $path_conf[0]);
        $paths_one_count = count($paths_one);
        $paths_two = explode('.', $path_conf[1]);
        $paths_two_count = count($paths_two);
        $paths_three = explode('.', $path_conf[2]);
        $paths_three_count = count($paths_three);
        $total_count = $paths_one_count + $paths_two_count + $paths_three_count;
        switch ($total_count) {
            /**
             * @example : tplData[].morebrand[].link
             */
            case 3:
                foreach ($data['resultData'][$paths_one[0]] as $key0 => $value0) {
                    foreach ($data['resultData'][$paths_one[0]][$key0][$paths_two[0]] as $key1 => $value1) {
                        $link = $data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$key1][$paths_three[0]];
                        if (!empty($link)) {
                            if (!is_array($link)) {
                                $data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$key1][$paths_three[0]] = prefixEncryptUrl($link);
                            } else {
                                foreach ($link as $k => $v) {
                                    $data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$key1][$paths_three[0]][$k] = prefixEncryptUrl($v);
                                }
                            }
                        } else {
                            $logArr['url'] = "data['resultData'][{$paths_one['0']}][{$key0}][{$paths_two['0']}][{$key1}][{$paths_three['0']}]";
                            CLog::debug("data to be encrypt is empty", $status, $logArr, 1);
                        }
                    }
                }
                break;
            case 4:
                /**
                 * @example : tplData.morebrand[].link[].sublink
                 */
                if (2 === $paths_one_count) {
                    foreach ($data['resultData'][$paths_one[0]][$paths_one[1]] as $key0 => $value0) {
                        foreach ($data['resultData'][$paths_one[0]][$paths_one[1]][$key0][$paths_two[0]] as $key1 => $value1) {
                            $link = $data['resultData'][$paths_one[0]][$paths_one[1]][$key0][$paths_two[0]][$key1][$paths_three[0]];
                            if (!empty($link)) {
                                if (!is_array($link)) {
                                    $data['resultData'][$paths_one[0]][$paths_one[1]][$key0][$paths_two[0]][$key1][$paths_three[0]] = prefixEncryptUrl($link);
                                } else {
                                    foreach ($link as $k => $v) {
                                        $data['resultData'][$paths_one[0]][$paths_one[1]][$key0][$paths_two[0]][$key1][$paths_three[0]][$k] = prefixEncryptUrl($v);
                                    }
                                }
                            } else {
                                $logArr['url'] = "data['resultData'][{$paths_one['0']}][{$paths_one['1']}][{$key0}][{$paths_two['0']}][{$key1}][{$paths_three['0']}]";
                                CLog::debug("data to be encrypt is empty", $status, $logArr, 1);
                            }
                        }
                    }
                    /**
                     * @example : tplData[].morebrand.link[].sublink
                     */
                } else {
                    if (2 === $paths_two_count) {
                        foreach ($data['resultData'][$paths_one[0]] as $key0 => $value0) {
                            foreach ($data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$paths_two[1]] as $key1 => $value1) {
                                $link = $data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$paths_two[1]][$key1][$paths_three[0]];
                                if (!empty($link)) {
                                    if (!is_array($link)) {
                                        $data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$paths_two[1]][$key1][$paths_three[0]] = prefixEncryptUrl($link);
                                    } else {
                                        foreach ($link as $k => $v) {
                                            $data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$paths_two[1]][$key1][$paths_three[0]][$k] = prefixEncryptUrl($v);
                                        }
                                    }
                                } else {
                                    $logArr['url'] = "data['resultData'][{$paths_one['0']}][{$key0}][{$paths_two['0']}][{$paths_two['1']}][{$key1}][{$paths_three['0']}]";
                                    CLog::debug("data to be encrypt is empty", $status, $logArr, 1);
                                }
                            }
                        }
                        /**
                         * @example : tplData[].morebrand[].link.sublink
                         */
                    } else {
                        foreach ($data['resultData'][$paths_one[0]] as $key0 => $value0) {
                            foreach ($data['resultData'][$paths_one[0]][$key0][$paths_two[0]] as $key1 => $value1) {
                                $link = $data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$key1][$paths_three[0]][$paths_three[1]];
                                if (!empty($link)) {
                                    if (!is_array($link)) {
                                        $data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$key1][$paths_three[0]][$paths_three[1]] = prefixEncryptUrl($link);
                                    } else {
                                        foreach ($link as $k => $v) {
                                            $data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$key1][$paths_three[0]][$paths_three[1]][$k] = prefixEncryptUrl($v);
                                        }
                                    }
                                } else {
                                    $logArr['url'] = "data['resultData'][{$paths_one['0']}][{$key0}][{$paths_two['0']}][{$key1}][{$paths_three['0']}][{$paths_three['1']}]";
                                    CLog::debug("data to be encrypt is empty", $status, $logArr, 1);
                                }
                            }
                        }
                    }
                }
                break;
            case 5:
                /**
                 * @example : tplData.morebrand.link[].sublink[].subsublink
                 */
                if (3 === $paths_one_count) {
                    foreach ($data['resultData'][$paths_one[0]][$paths_one[1]][$paths_one[2]] as $key0 => $value0) {
                        foreach ($data['resultData'][$paths_one[0]][$paths_one[1]][$paths_one[2]][$key0][$paths_two[0]] as $key1 => $value1) {
                            $link = $data['resultData'][$paths_one[0]][$paths_one[1]][$paths_one[2]][$key0][$paths_two[0]][$key1][$paths_three[0]];
                            if (!empty($link)) {
                                if (!is_array($link)) {
                                    $data['resultData'][$paths_one[0]][$paths_one[1]][$paths_one[2]][$key0][$paths_two[0]][$key1][$paths_three[0]] = prefixEncryptUrl($link);
                                } else {
                                    foreach ($link as $k => $v) {
                                        $data['resultData'][$paths_one[0]][$paths_one[1]][$paths_one[2]][$key0][$paths_two[0]][$key1][$paths_three[0]][$k] = prefixEncryptUrl($v);
                                    }
                                }
                            } else {
                                $logArr['url'] = "data['resultData'][{$paths_one['0']}][{$paths_one['1']}][{$paths_one['2']}][{$key0}][{$paths_two['0']}][{$key1}][{$paths_three['0']}]";
                                CLog::debug("data to be encrypt is empty", $status, $logArr, 1);
                            }
                        }
                    }
                    /**
                     * @example : tplData[].morebrand.link.sublink[].subsublink
                     */
                } else {
                    if (3 === $paths_two_count) {
                        foreach ($data['resultData'][$paths_one[0]] as $key0 => $value0) {
                            foreach ($data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$paths_two[1]][$paths_two[2]] as $key1 => $value1) {
                                $link = $data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$paths_two[1]][$paths_two[2]][$key1][$paths_three[0]];
                                if (!empty($link)) {
                                    if (!is_array($link)) {
                                        $data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$paths_two[1]][$paths_two[2]][$key1][$paths_three[0]] = prefixEncryptUrl($link);
                                    } else {
                                        foreach ($link as $k => $v) {
                                            $data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$paths_two[1]][$paths_two[2]][$key1][$paths_three[0]][$k] = prefixEncryptUrl($v);
                                        }
                                    }
                                } else {
                                    $logArr['url'] = "data['resultData'][{$paths_one['0']}][{$key0}][{$paths_two['0']}][{$paths_two['1']}][{$paths_two['2']}][{$key1}][{$paths_three['0']}]";
                                    CLog::debug("data to be encrypt is empty", $status, $logArr, 1);
                                }
                            }
                        }
                        /**
                         * @example : tplData[].morebrand[].link.sublink.subsublink
                         */
                    } else {
                        if (3 === $paths_three_count) {
                            foreach ($data['resultData'][$paths_one[0]] as $key0 => $value0) {
                                foreach ($data['resultData'][$paths_one[0]][$key0][$paths_two[0]] as $key1 => $value1) {
                                    $link = $data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$key1][$paths_three[0]][$paths_three[1]][$paths_three[2]];
                                    if (!empty($link)) {
                                        if (!is_array($link)) {
                                            $data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$key1][$paths_three[0]][$paths_three[1]][$paths_three[2]] = prefixEncryptUrl($link);
                                        } else {
                                            foreach ($link as $k => $v) {
                                                $data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$key1][$paths_three[0]][$paths_three[1]][$paths_three[2]][$k] = prefixEncryptUrl($v);
                                            }
                                        }
                                    } else {
                                        $logArr['url'] = "data['resultData'][{$paths_one['0']}][{$key0}][{$paths_two['0']}][{$key1}][{$paths_three['0']}][{$paths_three['1']}][{$paths_three['2']}]";
                                        CLog::debug("data to be encrypt is empty", $status, $logArr, 1);
                                    }
                                }
                            }
                            /**
                             * @example : tplData.morebrand[].link.sublink[].subsublink
                             */
                        } else {
                            if (2 === $paths_one_count && 2 === $paths_two_count && 1 === $paths_three_count) {
                                foreach ($data['resultData'][$paths_one[0]][$paths_one[1]] as $key0 => $value0) {
                                    foreach ($data['resultData'][$paths_one[0]][$paths_one[1]][$key0][$paths_two[0]][$paths_two[1]] as $key1 => $value1) {
                                        $link = $data['resultData'][$paths_one[0]][$paths_one[1]][$key0][$paths_two[0]][$paths_two[1]][$key1][$paths_three[0]];
                                        if (!empty($link)) {
                                            if (!is_array($link)) {
                                                $data['resultData'][$paths_one[0]][$paths_one[1]][$key0][$paths_two[0]][$paths_two[1]][$key1][$paths_three[0]] = prefixEncryptUrl($link);
                                            } else {
                                                foreach ($link as $k => $v) {
                                                    $data['resultData'][$paths_one[0]][$paths_one[1]][$key0][$paths_two[0]][$paths_two[1]][$key1][$paths_three[0]][$k] = prefixEncryptUrl($v);
                                                }
                                            }
                                        } else {
                                            $logArr['url'] = "data['resultData'][{$paths_one['0']}][{$paths_one['1']}][{$key0}][{$paths_two['0']}][{$paths_two['1']}][{$key1}][{$paths_three['0']}]";
                                            CLog::debug("data to be encrypt is empty", $status, $logArr, 1);
                                        }
                                    }
                                }
                                /**
                                 * @example : tplData.morebrand[].link[].sublink.subsublink
                                 */
                            } else {
                                if (2 === $paths_one_count && 1 === $paths_two_count && 2 === $paths_three_count) {
                                    foreach ($data['resultData'][$paths_one[0]][$paths_one[1]] as $key0 => $value0) {
                                        foreach ($data['resultData'][$paths_one[0]][$paths_one[1]][$key0][$paths_two[0]] as $key1 => $value1) {
                                            $link = $data['resultData'][$paths_one[0]][$paths_one[1]][$key0][$paths_two[0]][$key1][$paths_three[0]][$paths_three[1]];
                                            if (!empty($link)) {
                                                if (!is_array($link)) {
                                                    $data['resultData'][$paths_one[0]][$paths_one[1]][$key0][$paths_two[0]][$key1][$paths_three[0]][$paths_three[1]] = prefixEncryptUrl($link);
                                                } else {
                                                    foreach ($link as $k => $v) {
                                                        $data['resultData'][$paths_one[0]][$paths_one[1]][$key0][$paths_two[0]][$key1][$paths_three[0]][$paths_three[1]][$k] = prefixEncryptUrl($v);
                                                    }
                                                }
                                            } else {
                                                $logArr['url'] = "data['resultData'][{$paths_one['0']}][{$paths_one['1']}][{$key0}][{$paths_two['0']}][{$key1}][{$paths_three['0']}][{$paths_three['1']}]";
                                                CLog::debug("data to be encrypt is empty", $status, $logArr, 1);
                                            }
                                        }
                                    }
                                    /**
                                     * @example : tplData[].morebrand.link[].sublink.subsublink
                                     */
                                } else {
                                    if (1 === $paths_one_count && 2 === $paths_two_count && 2 === $paths_three_count) {
                                        foreach ($data['resultData'][$paths_one[0]] as $key0 => $value0) {
                                            foreach ($data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$paths_two[1]] as $key1 => $value1) {
                                                $link = $data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$paths_two[1]][$key1][$paths_three[0]][$paths_three[1]];
                                                if (!empty($link)) {
                                                    if (!is_array($link)) {
                                                        $data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$paths_two[1]][$key1][$paths_three[0]][$paths_three[1]] = prefixEncryptUrl($link);
                                                    } else {
                                                        foreach ($link as $k => $v) {
                                                            $data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$paths_two[1]][$key1][$paths_three[0]][$paths_three[1]][$k] = prefixEncryptUrl($v);
                                                        }
                                                    }
                                                } else {
                                                    $logArr['url'] = "data['resultData'][{$paths_one['0']}][{$key0}][{$paths_two['0']}][{$paths_two['1']}][{$key1}][{$paths_three['0']}][{$paths_three['1']}]";
                                                    CLog::debug("data to be encrypt is empty", $status, $logArr, 1);
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                break;
        }
        return;
    }
    if (4 === $cnt) {
        $paths_one = explode('.', $path_conf[0]);
        $paths_one_count = count($paths_one);
        $paths_two = explode('.', $path_conf[1]);
        $paths_two_count = count($paths_two);
        $paths_three = explode('.', $path_conf[2]);
        $paths_three_count = count($paths_three);
        $paths_four = explode('.', $path_conf[3]);
        $paths_four_count = count($paths_four);
        $total_count = $paths_one_count + $paths_two_count + $paths_three_count + $paths_four_count;
        switch ($total_count) {
            case 4:
                /**
                 * @example : tplData[].morebrand[].link[].sublink
                 */
                foreach ($data['resultData'][$paths_one[0]] as $key0 => $value0) {
                    foreach ($data['resultData'][$paths_one[0]][$key0][$paths_two[0]] as $key1 => $value1) {
                        foreach ($data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$key1][$paths_three[0]] as $key2 => $value2) {
                            $link = $data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$key1][$paths_three[0]][$key2][$paths_four[0]];
                            if (!empty($link)) {
                                if (!is_array($link)) {
                                    $data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$key1][$paths_three[0]][$key2][$paths_four[0]] = prefixEncryptUrl($link);
                                } else {
                                    foreach ($link as $k => $v) {
                                        $data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$key1][$paths_three[0]][$key2][$paths_four[0]][$paths_three[1]][$k] = prefixEncryptUrl($v);
                                    }
                                }
                            } else {
                                $logArr['url'] = "data['resultData'][{$paths_one['0']}][{$key0}][{$paths_two['0']}][{$key1}][{$paths_three['0']}][{$key2}][{$paths_four['0']}]";
                                CLog::debug("data to be encrypt is empty", $status, $logArr, 1);
                            }
                        }
                    }
                }
                break;
            case 5:
                /**
                 * @example : tplData.morebrand[].link[].sublink[].subsublink
                 */
                if (2 === $paths_one_count) {
                    foreach ($data['resultData'][$paths_one[0]][$paths_one[1]] as $key0 => $value0) {
                        foreach ($data['resultData'][$paths_one[0]][$paths_one[1]][$key0][$paths_two[0]] as $key1 => $value1) {
                            foreach ($data['resultData'][$paths_one[0]][$paths_one[1]][$key0][$paths_two[0]][$key1][$paths_three[0]] as $key2 => $value2) {
                                $link = $data['resultData'][$paths_one[0]][$paths_one[1]][$key0][$paths_two[0]][$key1][$paths_three[0]][$key2][$paths_four[0]];
                                if (!empty($link)) {
                                    if (!is_array($link)) {
                                        $data['resultData'][$paths_one[0]][$paths_one[1]][$key0][$paths_two[0]][$key1][$paths_three[0]][$key2][$paths_four[0]] = prefixEncryptUrl($link);
                                    } else {
                                        foreach ($link as $k => $v) {
                                            $data['resultData'][$paths_one[0]][$paths_one[1]][$key0][$paths_two[0]][$key1][$paths_three[0]][$key2][$paths_four[0]][$k] = prefixEncryptUrl($v);
                                        }
                                    }
                                } else {
                                    $logArr['url'] = "data['resultData'][{$paths_one['0']}][{$key0}][{$paths_two['0']}][{$key1}][{$paths_three['0']}][{$key2}][{$paths_four['0']}]";
                                    CLog::debug("data to be encrypt is empty", $status, $logArr, 1);
                                }
                            }
                        }
                    }
                    /**
                     * @example : tplData[].morebrand.link[].sublink[].subsublink
                     */
                } else {
                    if (2 === $paths_two_count) {
                        foreach ($data['resultData'][$paths_one[0]] as $key0 => $value0) {
                            foreach ($data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$paths_two[1]] as $key1 => $value1) {
                                foreach ($data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$paths_two[1]][$key1][$paths_three[0]] as $key2 => $value2) {
                                    $link = $data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$paths_two[1]][$key1][$paths_three[0]][$key2][$paths_four[0]];
                                    if (!empty($link)) {
                                        if (!is_array($link)) {
                                            $data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$paths_two[1]][$key1][$paths_three[0]][$key2][$paths_four[0]] = prefixEncryptUrl($link);
                                        } else {
                                            foreach ($link as $k => $v) {
                                                $data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$paths_two[1]][$key1][$paths_three[0]][$key2][$paths_four[0]][$k] = prefixEncryptUrl($v);
                                            }
                                        }
                                    } else {
                                        $logArr['url'] = "data['resultData'][{$paths_one['0']}][{$key0}][{$paths_two['0']}][{$paths_two['1']}][{$key1}][{$paths_three['0']}][{$key2}][{$paths_four['0']}]";
                                        CLog::debug("data to be encrypt is empty", $status, $logArr, 1);
                                    }
                                }
                            }
                        }
                        /**
                         * @example : tplData[].morebrand[].link.sublink[].subsublink
                         */
                    } else {
                        if (2 === $paths_three_count) {
                            foreach ($data['resultData'][$paths_one[0]] as $key0 => $value0) {
                                foreach ($data['resultData'][$paths_one[0]][$key0][$paths_two[0]] as $key1 => $value1) {
                                    foreach ($data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$key1][$paths_three[0]][$paths_three[1]] as $key2 => $value2) {
                                        $link = $data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$key1][$paths_three[0]][$paths_three[1]][$key2][$paths_four[0]];
                                        if (!empty($link)) {
                                            if (!is_array($link)) {
                                                $data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$key1][$paths_three[0]][$paths_three[1]][$key2][$paths_four[0]] = prefixEncryptUrl($link);
                                            } else {
                                                foreach ($link as $k => $v) {
                                                    $data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$key1][$paths_three[0]][$paths_three[1]][$key2][$paths_four[0]][$k] = prefixEncryptUrl($v);
                                                }
                                            }
                                        } else {
                                            $logArr['url'] = "data['resultData'][{$paths_one['0']}][{$key0}][{$paths_two['0']}][{$key1}][{$paths_three['0']}][{$paths_three['1']}][{$key2}][{$paths_four['0']}]";
                                            CLog::debug("data to be encrypt is empty", $status, $logArr, 1);
                                        }
                                    }
                                }
                            }
                            /**
                             * @example : tplData[].morebrand[].link[].sublink.subsublink
                             */
                        } else {
                            if (2 === $paths_four_count) {
                                foreach ($data['resultData'][$paths_one[0]] as $key0 => $value0) {
                                    foreach ($data['resultData'][$paths_one[0]][$key0][$paths_two[0]] as $key1 => $value1) {
                                        foreach ($data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$key1][$paths_three[0]] as $key2 => $value2) {
                                            $link = $data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$key1][$paths_three[0]][$key2][$paths_four[0]][$paths_four[1]];
                                            if (!empty($link)) {
                                                if (!is_array($link)) {
                                                    $data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$key1][$paths_three[0]][$key2][$paths_four[0]][$paths_four[1]] = prefixEncryptUrl($link);
                                                } else {
                                                    foreach ($link as $k => $v) {
                                                        $data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$key1][$paths_three[0]][$key2][$paths_four[0]][$paths_four[1]][$k] = prefixEncryptUrl($v);
                                                    }
                                                }
                                            } else {
                                                $logArr['url'] = "data['resultData'][{$paths_one['0']}][{$key0}][{$paths_two['0']}][{$key1}][{$paths_three['0']}][{$key2}][{$paths_four['0']}][{$paths_four['1']}]";
                                                CLog::debug("data to be encrypt is empty", $status, $logArr, 1);
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                break;
        }
        return;
    }
    if (5 === $cnt) {
        $paths_one = explode('.', $path_conf[0]);
        $paths_one_count = count($paths_one);
        $paths_two = explode('.', $path_conf[1]);
        $paths_two_count = count($paths_two);
        $paths_three = explode('.', $path_conf[2]);
        $paths_three_count = count($paths_three);
        $paths_four = explode('.', $path_conf[3]);
        $paths_four_count = count($paths_four);
        $paths_five = explode('.', $path_conf[4]);
        $paths_five_count = count($paths_five);
        $total_count = $paths_one_count + $paths_two_count + $paths_three_count + $paths_four_count + $paths_five_count;
        switch ($total_count) {
            case 5:
                /**
                 * @example : tplData[].morebrand[].link[].sublink[].subsublink
                 */
                foreach ($data['resultData'][$paths_one[0]] as $key0 => $value0) {
                    foreach ($data['resultData'][$paths_one[0]][$key0][$paths_two[0]] as $key1 => $value1) {
                        foreach ($data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$key1][$paths_three[0]] as $key2 => $value2) {
                            foreach ($data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$key1][$paths_three[0]][$key2][$paths_four[0]] as $key3 => $value3) {
                                $link = $data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$key1][$paths_three[0]][$key2][$paths_four[0]][$key3][$paths_five[0]];
                                if (!empty($link)) {
                                    if (!is_array($link)) {
                                        $data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$key1][$paths_three[0]][$key2][$paths_four[0]][$key3][$paths_five[0]] = prefixEncryptUrl($link);
                                    } else {
                                        foreach ($link as $k => $v) {
                                            $data['resultData'][$paths_one[0]][$key0][$paths_two[0]][$key1][$paths_three[0]][$key2][$paths_four[0]][$key3][$paths_five[0]][$k] = prefixEncryptUrl($v);
                                        }
                                    }
                                } else {
                                    $logArr['url'] = "data['resultData'][{$paths_one['0']}][{$key0}][{$paths_two['0']}][{$key1}][{$paths_three['0']}][{$key2}][{$paths_four['0']}][{$key3}][{$paths_five['0']}]";
                                    CLog::debug("data to be encrypt is empty", $status, $logArr, 1);
                                }
                            }
                        }
                    }
                }
                break;
            default:
                break;
        }
        return;
    }
    if ($cnt > 5) {
        $logArr['path_conf'] = implode("_", $path_conf);
        CLog::warning("data to be encrypt is more than 5 level", $status, $logArr, 1);
    }
}