Example #1
0
 /**
  * Get the total file usage
  * @param bool $user
  * @return int
  */
 function getFileUsage($user = false)
 {
     $total = 0;
     if (!empty($user)) {
         $search = ['user' => $user];
     } else {
         $search = [];
     }
     if ($photos = Photo::get($search, [], 9999, 0)) {
         foreach ($photos as $photo) {
             /* @var Photo $photo */
             if ($attachments = $photo->getAttachments()) {
                 foreach ($attachments as $attachment) {
                     $total += $attachment['length'];
                 }
             }
         }
     }
     return $total;
 }
Example #2
0
 private function getPhoto()
 {
     Module::dependencies(isset($_POST['photoID'], $_POST['albumID']));
     $photo = new Photo($this->database, $this->plugins, null, $_POST['photoID']);
     echo json_encode($photo->get($_POST['albumID']));
 }
 function getPhoto()
 {
     $session = Session::singletone();
     $db = Database::singletone()->db();
     $pid = Utils::pg("pid", 0);
     $w = Utils::pg('w', -1);
     $h = Utils::pg('h', -1);
     $this->_query->appendChild($this->_dom->createElement("photo-id", $pid));
     $this->_query->appendChild($this->_dom->createElement("width", $w));
     $this->_query->appendChild($this->_dom->createElement("height", $h));
     if ($pid <= 0) {
         $this->error("bad-arguments");
         return;
     }
     $photo = new Photo($pid);
     $this->_response->appendChild($this->_dom->createElement('photo-id', $photo->dbdata('photo_id')));
     $this->_response->appendChild($this->_dom->createElement('photo-title', $photo->dbdata('photo_title')));
     $this->_response->appendChild($this->_dom->createElement('photo-description', $photo->dbdata('photo_description')));
     $this->_response->appendChild($this->_dom->createElement('photo-added', Utils::formatTime($photo->dbdata('photo_added'), Config::getUser($session->uid(), 'datetime-format'))));
     if ($photo->dbdata('photo_approved', 0)) {
         $this->_response->appendChild($this->_dom->createElement('photo-approved', 1));
     }
     $img = $photo->get($w, $h);
     $file = $this->_dom->createElement('file', $img[0]);
     $file->setAttribute('width', $img[1]);
     $file->setAttribute('height', $img[2]);
     $this->_response->appendChild($file);
     $this->_response->appendChild($photo->author()->xml($this->_dom, 'author'));
     //if ($photo->dbdata('photo_approved', 0) > 0)
     //	$this->_response->appendChild($photo->moderator()->xml($this->_dom, 'moderator'));
     $this->_response->appendChild($photo->moderationXML($this->_dom));
     $this->_response->appendChild($photo->metaXML($this->_dom));
     $this->success();
 }
Example #4
0
 protected function _photos()
 {
     if (!$this->session()->checkPerm("photos-list")) {
         $this->denyAccess();
     }
     $this->addScript("js/functions.js");
     $this->addScript("js/behaviour.js");
     $this->addScript("js/advajax.js");
     $this->addScript("js/ajax.js");
     $this->addScript("js/tabs.js");
     $this->addScript("js/ac.js");
     $this->addScript("js/admin/ctree.js");
     $this->addScript("js/admin/photos.js");
     $this->addCSS('css/admin/ctree.css');
     $this->addCSS('css/admin/tabs.css');
     $this->addCSS('css/admin/ac.css');
     $this->addCSS('css/admin/preview.css');
     $this->addCSS('css/admin/photos.css');
     $db = Database::singletone()->db();
     $this->setDefaultCount(16);
     $wq = $this->getPhotosWhereSql();
     $sth = $db->query("SELECT COUNT(*) FROM phph_photos p LEFT OUTER JOIN phph_photos_moderation pm ON p.moderation_id = pm.moderation_id " . $wq);
     $photos = $sth->fetchColumn(0);
     $sth = null;
     $sth = $db->prepare('SELECT p.photo_id FROM phph_photos p LEFT OUTER JOIN phph_photos_moderation pm ON p.moderation_id = pm.moderation_id ' . $wq . ' ORDER BY photo_added DESC LIMIT :p, :c');
     $sth->bindValue(":p", $this->startItem());
     $sth->bindValue(":c", $this->count());
     $sth->execute();
     $rows = $sth->fetchAll();
     $sth = null;
     $aphotos = array();
     foreach ($rows as &$row) {
         $photo = new Photo($row['photo_id']);
         $ph = $photo->fullData();
         $ph['file'] = $photo->get(100, 100);
         $aphotos[] = $ph;
     }
     $this->setTemplateVar('photos', $aphotos);
     $pages = $this->pager($photos);
     $this->setTemplateVar('pager', $pages);
     $stats = array();
     $sth = $db->query('SELECT COUNT(*) FROM phph_photos p');
     $stats['total']['total'] = $sth->fetchColumn(0);
     $sth = null;
     $sth = $db->query('SELECT COUNT(*) FROM phph_photos p LEFT OUTER JOIN phph_photos_moderation pm ON p.moderation_id = pm.moderation_id ' . $wq);
     $stats['selected']['total'] = $sth->fetchColumn(0);
     $sth = null;
     $sth = $db->query('SELECT COUNT(*) FROM phph_photos p LEFT OUTER JOIN phph_photos_moderation pm ON p.moderation_id = pm.moderation_id ' . "WHERE pm.moderation_mode = 'approve'");
     $stats['total']['approved'] = $sth->fetchColumn(0);
     $sth = null;
     $sth = $db->query('SELECT COUNT(*) FROM phph_photos p LEFT OUTER JOIN phph_photos_moderation pm ON p.moderation_id = pm.moderation_id ' . $wq . " AND pm.moderation_mode = 'approve'");
     $stats['selected']['approved'] = $sth->fetchColumn(0);
     $sth = null;
     $sth = $db->query('SELECT COUNT(*) FROM phph_photos p LEFT OUTER JOIN phph_photos_moderation pm ON p.moderation_id = pm.moderation_id ' . "WHERE pm.moderation_mode = 'reject'");
     $stats['total']['rejected'] = $sth->fetchColumn(0);
     $sth = null;
     $sth = $db->query('SELECT COUNT(*) FROM phph_photos p LEFT OUTER JOIN phph_photos_moderation pm ON p.moderation_id = pm.moderation_id ' . $wq . " AND pm.moderation_mode = 'reject'");
     $stats['selected']['rejected'] = $sth->fetchColumn(0);
     $sth = null;
     $sth = $db->query('SELECT COUNT(*) FROM phph_photos p WHERE p.moderation_id IS NULL');
     $stats['total']['waiting'] = $sth->fetchColumn(0);
     $sth = null;
     $sth = $db->query('SELECT COUNT(*) FROM phph_photos p LEFT OUTER JOIN phph_photos_moderation pm ON p.moderation_id = pm.moderation_id ' . $wq . ' AND p.moderation_id IS NULL');
     $stats['selected']['waiting'] = $sth->fetchColumn(0);
     $sth = null;
     //$sth = $db
     $this->setTemplateVar('stats', $stats);
     //$this->setTemplateVar("users", $rows);
 }
 /**
  * Display a listing of the resource.
  * GET /photos
  *
  * @return Response
  */
 public function index()
 {
     return Response::json(Photo::get());
 }
Example #6
0
 private function getPhoto()
 {
     Module::dependencies(isset($_POST['photoID'], $_POST['albumID'], $_POST['password']));
     $photo = new Photo($this->database, $this->plugins, null, $_POST['photoID']);
     $pgP = $photo->getPublic($_POST['password']);
     if ($pgP === 2) {
         echo json_encode($photo->get($_POST['albumID']));
     } else {
         if ($pgP === 1) {
             echo 'Warning: Wrong password!';
         } else {
             if ($pgP === 0) {
                 echo 'Warning: Photo private!';
             }
         }
     }
 }
Example #7
0
 protected function _view()
 {
     $pid = Utils::pg("pid");
     $cid = Utils::pg("cid", 0);
     $w = Utils::pg("w", 640);
     $h = Utils::pg("h", 600);
     $ok = true;
     if (empty($pid)) {
         $ok = false;
     }
     if ($ok) {
         try {
             $photo = new Photo($pid);
         } catch (Exception2 $e) {
             $ok = false;
             $this->_smarty->assign("error", 1);
             $this->_smarty->assign("error_title", $e->getMessage());
             $this->_smarty->assign("error_description", $e->getDescription());
             $this->_smarty->assign("error_code", $e->getCode());
         }
     }
     $this->_smarty->assign('pid', $pid);
     $this->_smarty->assign('w', $w);
     $this->_smarty->assign('h', $h);
     if ($ok) {
         $data = $photo->get($w, $h);
         $this->_smarty->assign('photo_categories', $photo->_categories);
         foreach ($photo->_category_objs as $cat) {
             $trees[] = $cat->getParentTree(true);
             $subtrees[] = $cat->getSubTree(true);
         }
         $this->_smarty->assign('categories_full', $trees);
         $this->_smarty->assign('categories_tree', $subtrees);
         $main_c = new Category();
         $this->_smarty->assign('full_category_tree', $main_c->getSubTree());
         $this->_smarty->assign('photo_id', $photo->_pid);
         $this->_smarty->assign('photo_cids', $photo->_cids);
         $this->_smarty->assign('photo_cid_map', $photo->_cid_map);
         $this->_smarty->assign('photo_url', $data[0]);
         $this->_smarty->assign('photo_w', $data[1]);
         $this->_smarty->assign('photo_h', $data[2]);
         $this->_smarty->assign('photo_imgw', $data[3]);
         $this->_smarty->assign('photo_imgh', $data[4]);
         $this->_smarty->assign('photo_imgwh', $data[5]);
         $this->_smarty->assign('photo_title', $photo->_dbo->photo_title);
         $this->_smarty->assign('page_title', $photo->_dbo->photo_title);
         $this->_smarty->assign('photo_description', $photo->_dbo->photo_description);
         $this->_smarty->assign('post_comment_action', url('postcomment'));
         $comments_o = $photo->getComments();
         $comments = array();
         foreach ($comments_o as $cmnt) {
             $comments[] = array('id' => $cmnt->_cmid, 'title' => $cmnt->_dbo->comment_title, 'text' => $cmnt->_dbo->comment_text, 'date' => Utils::formatTime($cmnt->_dbo->comment_date), 'user_id' => $cmnt->_dbo->user_id, 'user_url' => url('user', array('uid' => $cmnt->_dbo->user_id)), 'user_login' => $cmnt->_user->user_login);
         }
         $this->_smarty->assign('photo_comments', $comments);
         if (!$this->_session->requireLogin(false)) {
             $this->_smarty->assign('allow_comments', 1);
         }
         $next_pid = 0;
         $prev_pid = 0;
         $cat = new Category($cid);
         $pids = $cat->getPhotos();
         $cid_s = "";
         if (!empty($pids)) {
             $cid_s = " AND photo_id IN (" . implode(", ", $pids) . ") ";
         }
         $q = $this->_db->prepare("SELECT photo_id FROM phph_photos WHERE photo_id > ? {$cid_s} ORDER BY photo_id ASC LIMIT 0, 1");
         $res = $this->_db->execute($q, array($pid));
         if ($row = $res->fetchRow()) {
             $prev_pid = $row['photo_id'];
         }
         $q = $this->_db->prepare("SELECT photo_id FROM phph_photos WHERE photo_id < ? {$cid_s} ORDER BY photo_id DESC LIMIT 0, 1");
         $res = $this->_db->execute($q, array($pid));
         if ($row = $res->fetchRow()) {
             $next_pid = $row['photo_id'];
         }
         if (!empty($next_pid)) {
             $this->_smarty->assign('next_photo', get_photo($next_pid, $cid));
         }
         if (!empty($prev_pid)) {
             $this->_smarty->assign('prev_photo', get_photo($prev_pid, $cid));
         }
     }
 }
Example #8
0
 private function getPhoto()
 {
     Module::dependencies(isset($_POST['photoID'], $_POST['albumID']));
     $photo = new Photo(null, $_POST['photoID']);
     echo json_encode($photo->get($_POST['albumID']));
 }