/** * 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); } }