public function actionIndex()
 {
     $model = new XMLOptions();
     if (isset($_POST['XMLOptions'])) {
         $model->attributes = $_POST['XMLOptions'];
         if ($model->validate()) {
             $model->save();
         }
     }
     $this->render('index', array('model' => $model));
 }
Exemplo n.º 2
0
 private static function serializeVkSongs($arr)
 {
     $data = array();
     //data format is one singer to a lot of [song , download link ,enabled (it will be downloaded)]
     $struct = array();
     // contains array of Singer objects
     if (!is_array($arr)) {
         throw new CHttpException(400, 'error when serialize');
     }
     self::$songsCount = count($arr[1]);
     for ($i = 0; $i < self::$songsCount; ++$i) {
         $arr[2][$i] = Folder::cleaning($arr[2][$i]);
         $arr[3][$i] = Folder::cleaning($arr[3][$i]);
         $item = array('song' => $arr[3][$i], 'link' => $arr[1][$i], 'enabled' => true);
         $data[$arr[2][$i]][] = $item;
     }
     $options = new XMLOptions();
     foreach ($data as $singer => $items) {
         // try to get real name from XML
         $name = $options->getNameByAlias($singer);
         // if it isset merge array of songs
         if ($name && isset($struct[$name])) {
             $struct[$name]->music = array_merge($struct[$name]->music, $items);
             continue;
         }
         $name = $name ? $name : $singer;
         $obj = new stdClass();
         $obj->name = $name;
         $obj->music = $items;
         $obj->enabled = true;
         $struct[$name] = $obj;
     }
     return $struct;
 }