Exemple #1
0
 public function edit($param)
 {
     $song_id = $param[0];
     $songModel = new \Models\Song();
     $this->data['title'] = 'Edit Song';
     $this->data['albums'] = $this->albumModel->all();
     $this->data['artist'] = User::artist();
     $this->data['genre'] = $this->categoryModel->get(array('category_slug' => 'genre'));
     $this->data['tags'] = $this->categoryModel->get(array('category_slug' => 'tag'));
     $this->data['status'] = $this->status_model->get(array('status_slug' => 'album'));
     if (isset($_POST) && !empty($_POST)) {
         $songArray = array('song_album_id' => $_POST['album_id'], 'song_user_id' => Session::get('user_id'), 'song_artist_id' => $_POST['artist_id'], 'song_genre_id' => $_POST['genre_id'], 'song_status_id' => $_POST['status_id'], 'song_title' => $_POST['title'], 'song_description' => $_POST['description'], 'song_modified' => time(), 'song_slug' => Url::generateSafeSlug($_POST['title']));
         $songArray = Gump::xss_clean($songArray);
         $songArray = Gump::sanitize($songArray);
         $update = $songModel->updateId($songArray, $song_id);
         if ($update > 0) {
             $message = 'ok';
         } else {
             $message = 'no';
         }
         if ($_FILES["mp3"]["tmp_name"] != '') {
             //resize youtube image into uploads folder
             Upload::setName(time());
             Upload::upload_file($_FILES["mp3"], UPLOAD_PATH);
             $filepath = UPLOAD_PATH . Upload::getName();
             $outputMp3 = UPLOAD_PATH . 'encoded_' . Upload::getName();
             //check bitrate
             $bitRate = Audio::bitRateSampleRate($filepath, 'bitrate');
             $duration = Audio::duration($filepath);
             if ($bitRate > 128) {
                 $convertMp3 = Audio::convertMp3($filepath, 128, $outputMp3);
             }
             if (is_file($outputMp3)) {
                 $updateArray = array('song_file' => 'images/encoded_' . Upload::getName(), 'song_duration' => $duration);
                 unlink($filepath);
             } else {
                 $updateArray = array('song_file' => Upload::getFileName('images'), 'song_duration' => $duration);
             }
             $saveMp3 = $songModel->updateId($updateArray, $song_id);
         }
         //UPLOAD SONG COVER
         if ($_FILES["image"]["tmp_name"] != '') {
             //upload file into uploads folder
             Upload::setName(time());
             Upload::resizeUpload($_FILES["image"], UPLOAD_PATH, '450px');
             $update_data = array('song_image' => Upload::getFileName('images'));
             $songModel->updateId($update_data, $song_id);
         }
     }
     if ($message == 'ok') {
         Session::set('success', 'record edited');
         Url::redirect('song/item/' . $_POST['album_id']);
     } else {
         if ($message == 'no') {
             $this->data['error'] = 'Operation Fails!';
         }
     }
     $this->data['song'] = \Models\Song::item($song_id);
     View::rendertemplate('header', $this->data);
     View::rendertemplate('sidebar', $this->data);
     View::render('song/song.edit', $this->data);
     View::rendertemplate('footer', $this->data);
 }
Exemple #2
0
 public function media($param)
 {
     $album_id = $param[0];
     $this->data['album_id'] = $album_id;
     if (isset($param[1]) && !empty($param[1])) {
         $user_id = $param[1];
     }
     $this->data['artist'] = User::artist();
     $album_detail = $this->albumModel->find($album_id);
     $this->data['title'] = ucfirst($album_detail->album_name) . ' Album';
     $albumitems = $this->mediaModel->getAlbumItems($album_id);
     $this->data['category'] = $this->categoryModel->get(array('category_slug' => 'album'));
     $this->data['status'] = $this->status_model->get(array('status_slug' => 'album'));
     if (isset($_POST) && !empty($_POST)) {
         $title = $_POST['title'];
         $description = $_POST['description'];
         $youtubelink = $_POST['youtubelink'];
         $category_id = $_POST['category'];
         $status_id = $_POST['status_id'];
         $slug = Url::generateSafeSlug($title);
         $mediaArray = array('media_album_id' => $album_id, 'media_category_id' => $category_id, 'media_status_id' => $status_id, 'media_title' => $title, 'media_description' => $description, 'media_youtubelink' => $youtubelink, 'media_created' => time(), 'media_slug' => $slug);
         $mediaArray = Gump::xss_clean($mediaArray);
         $mediaArray = Gump::sanitize($mediaArray);
         $media_id = $this->mediaModel->create($mediaArray);
         if ($media_id > 0) {
             $message = 'ok';
         } else {
             $message = 'no';
         }
         //check if item is a video
         $category_type = $this->categoryModel->find($_POST['category']);
         if ($category_type->category_title == 'video' && isset($youtubelink) && $youtubelink != '') {
             //item is a video
             $youtube_url = "https://i.ytimg.com/vi/" . $youtubelink . "/maxresdefault.jpg";
             if (!file_exists($youtube_url)) {
                 $youtube_url = "https://i.ytimg.com/vi/" . $youtubelink . "/hqdefault.jpg";
             }
             //resize youtube image into uploads folder
             Upload::setName(time());
             Upload::resizeUrl($youtube_url, UPLOAD_PATH, '480px');
             $image_name = Upload::getFileName('images');
             $update_data = array('media_file' => $image_name);
             $this->mediaModel->updateId($update_data, $media_id);
         }
         if ($_FILES["image"]["tmp_name"] != '' && $category_type->category_title == 'audio') {
             //resize youtube image into uploads folder
             Upload::setName(time());
             Upload::upload_file($_FILES["image"], UPLOAD_PATH);
             $filepath = UPLOAD_PATH . Upload::getName();
             $outputMp3 = UPLOAD_PATH . 'encoded_' . Upload::getName();
             //check bitrate
             $bitRate = Audio::bitRateSampleRate($filepath, 'bitrate');
             if ($bitRate > 128) {
                 $convertMp3 = Audio::convertMp3($filepath, 128, $outputMp3);
             }
             if (is_file($outputMp3)) {
                 $updateArray = array('media_file' => 'images/encoded_' . Upload::getName());
                 unlink($filepath);
             } else {
                 $updateArray = array('media_file' => Upload::getFileName('images'));
             }
             $saveMp3 = $this->mediaModel->updateId($updateArray, $media_id);
         }
         //UPLOAD ATTACHMENT
         if ($_FILES["image"]["tmp_name"] != '' && $category_type->category_title == 'image') {
             //upload file into uploads folder
             Upload::setName(uniqid());
             Upload::resizeUpload($_FILES["image"], UPLOAD_PATH, '480px');
             $image_name = Upload::getFileName('images');
             $update_data = array('media_file' => $image_name);
             $this->mediaModel->update($update_data, $media_id);
         }
     }
     if ($message == 'ok') {
         $this->data['success'] = 'Record Added!';
     } else {
         if ($message == 'no') {
             $this->data['error'] = 'Operation Fails!';
         }
     }
     $total = count($this->mediaModel->albumItems($album_id));
     $pages = new Paginator('6', 'p');
     $this->data['albumitems'] = $this->mediaModel->albumItems($album_id, $pages->getLimit());
     $pages->setTotal($total);
     $path = DIR . 'album/media/' . $album_id . '?';
     $this->data['page_links'] = $pages->pageLinks($path, null);
     View::rendertemplate('header', $this->data);
     View::rendertemplate('sidebar', $this->data);
     View::render('album/album.add_item', $this->data);
     View::rendertemplate('footer', $this->data);
 }