Ejemplo n.º 1
0
 /**
  * @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;
 }