Ejemplo n.º 1
0
 /**
  * generate skin to file such as image
  * @param array $skin: skin info
  * @return string encoded skin address
  */
 static function generate_skin_file($skin)
 {
     if (is_array($skin) && isset($skin['file_url']) && isset($skin['holder']) && isset($skin['skin_folder'])) {
         /*$skin_info = array(
                   'skin_holder'=> rtrim(rtrim($skin['holder'],'/').'/'.ltrim($skin['skin_folder'],'/'),'/'),
                   'skin_name' => ltrim($skin['skin_name'],'/'),
                   'file_url' => $skin['file_url'],
                   'type' => $skin['type'],
                   'thumb' => $skin['file_url']
           );*/
         //valid
         $skin['holder'] = $skin['holder'] . DIRECTORY_SEPARATOR;
         $skin['skin_folder'] = str_replace('\\', '/', $skin['skin_folder']);
         $skin['path'] = preg_replace('#[\\s\\/\\\\]+$|^[\\s\\/\\\\]+#', '', trim($skin['path'])) . DIRECTORY_SEPARATOR;
         $skin['file_url'] = HW_Validation::clean_url($skin['skin_url']);
         //clean url
         $skin['screenshot_url'] = HW_Validation::clean_url($skin['screenshot_url']);
         //clean url
         $save_path = rtrim(rtrim($skin['holder'], '/') . '/' . ltrim($skin['skin_folder'], '/'), '/') . '|' . ltrim($skin['path'], '/') . '|' . $skin['file_url'] . '|' . $skin['type'] . '|' . $skin['name'] . '|' . $skin['source'];
         //detect from source since we use relative path
         return self::encrypt($save_path);
     }
 }