Beispiel #1
0
 public function changeAction()
 {
     $request = $this->getRequest();
     $collectionID = $request->getRequest('change');
     if (!$collectionID || !is_numeric($collectionID)) {
         return $this->forward('error', 'error404');
     }
     $referer = $request->getServer('HTTP_REFERER');
     if ($collectionID) {
         $collection = Model_Collections::get($collectionID);
         if (!$collection) {
             return $this->forward('error', 'error404');
         }
         if (JO_Session::get('user_id') == $collection['user_id']) {
             if ($request->isPost()) {
                 $model_images = new Model_Images();
                 $image = $request->getFile('file_upload');
                 if ($image) {
                     $users_path = '/collections/' . date('Y/m') . '/' . $id . '/';
                     $upload_folder = realpath(BASE_PATH . '/uploads');
                     $upload_folder .= $users_path;
                     $upload = new JO_Upload();
                     $upload->setFile($image)->setExtension(array('.jpg', '.jpeg', '.png', '.gif'))->setUploadDir($upload_folder);
                     $new_name = md5(time() . serialize($image));
                     if ($upload->upload($new_name)) {
                         $info = $upload->getFileInfo();
                         if ($info) {
                             $file_path = $users_path . $info['name'];
                             Model_Collections::editImage($collection['id'], $file_path);
                             $model_images->deleteImages($collection['photo']);
                         } else {
                             JO_Session::set('msg_error', $this->translate('There was an unexpected error with uploading the file'));
                         }
                     }
                 }
                 $collection['name'] = $request->getPost('name') ? $request->getPost('name') : $this->translate('Bookmark Collection');
                 $collection['description'] = $request->getPost('description');
                 $collection['public'] = $request->getPost('publically_visible') ? 'false' : 'true';
             }
             Model_Collections::edit(array('collection_id' => $collectionID, 'name' => $collection['name'], 'description' => $collection['description'], 'publically_visible' => $collection['public'] == 'false' ? 'true' : 'false'));
             JO_Session::set('msg_success', 'You have successfully update this collection!');
         }
     }
     $this->redirect($referer);
 }