/** * @param $data * @param bool $str_output */ protected static function build_special_params($str = array(), $str_output = false) { $dom = new DOMDocument(self::XML_VERSION, self::XML_ENCODING); if (HW_Encryptor::is_serialize_base64($str)) { $data = unserialize(base64_decode($str)); if (is_array($data)) { #$data = unserialize($data);# //belong to skin config if (is_array($data) && isset($data['skin_name']) && isset($data['default_skin_path']) && isset($data['apply_current_path']) && isset($data['plugin_url'])) { $what_skin = rtrim($data['skin_name'], '.php'); //get skin information $pskin = new HWIE_Skin_Params('skin', $what_skin); $pskin->add_skin_config('hwskin_config', array('group' => !empty($data['group']) ? $data['group'] : '')); /*$skin_instance = $dom->createElement('params:skin_instance'); $skin_instance->setAttribute('name', 'hwskin_config'); $skin_instance->setAttribute('instance', $what_skin); if(!empty($data['group'])) { $skin_instance->appendChild($dom->createElement('skin:group', $data['group'])); } $dom->appendChild($skin_instance);*/ $dom->appendChild($dom->importNode($pskin->get_skinconfig(0), true)); } } elseif (is_string($data) && count(explode('|', $data)) >= 8) { $skin = explode('|', $data); if (in_array(end($skin), array('theme', 'plugin', 'wp_content'))) { $what_skin = rtrim($skin[6], '.php'); //create skin instance $pskin = new HWIE_Skin_Params('skin', $what_skin); $pskin->add_hash_skin('hash_skin', array('skin' => trim($skin[1], '\\/'), 'skin_type' => $skin[3], 'source' => end($skin))); /*$hash_skin = $dom->createElement('params:skin_encoded'); $hash_skin->setAttribute('name', 'hash_skin'); $hash_skin->setAttribute('instance', $what_skin); //skin ns $hash_skin->appendChild($dom->createElement('skin:skin', trim($skin[1], '\/'))); //skin_type ns $hash_skin->appendChild($dom->createElement('skin:skin_type', $skin[3])); $dom->appendChild($hash_skin) ;*/ $dom->appendChild($dom->importNode($pskin->get_hash_skin(0), true)); } } return $str_output ? HW_XML::output_dom_to_string($dom, true) : $dom->documentElement; } return false; }
/** * get import item result * @param $field * @param string $name * @return string */ public function get_results($field = '', $type = '', $name = '') { global $wpdb; static $result = array(); $sql = 'select * from ' . self::TRACKING_SQL_TABLE; if ($type) { $sql .= ' where _type="' . $type . '"'; } #HW_Logger::log_file($sql); if (empty($result[$sql])) { //$data = !HW_Cache::_get_transient('hw_importer_results'); //alway be get new data //if(!$data) { $data = $wpdb->get_results($sql, ARRAY_A); foreach ($data as $id => $row) { if (HW_Encryptor::is_serialize_base64($row['value'])) { //for type not is string $row['value'] = HW_Encryptor::decode64($row['value']); //unserialize($row['value']); } $data[$row['name']] = $field && isset($row[$field]) ? $row[$field] : $row; unset($data[$id]); } $result[$sql] = $data; //HW_Cache::_set_transient('hw_importer_results', $data); //} } return $name ? isset($result[$sql][$name]) ? $result[$sql][$name] : '' : $result[$sql]; }