Example #1
0
 protected function imageMetaCreate(&$cur, $f, $id)
 {
     $file = $this->pwd . '/' . $f;
     if (!file_exists($file)) {
         return false;
     }
     $xml = new xmlTag('meta');
     $meta = imageMeta::readMeta($file);
     $xml->insertNode($meta);
     $c = $this->core->con->openCursor($this->table);
     $c->media_meta = $xml->toXML();
     if ($cur->media_title !== null && $cur->media_title == basename($cur->media_file)) {
         if ($meta['Title']) {
             $c->media_title = $meta['Title'];
         }
     }
     if ($meta['DateTimeOriginal'] && $cur->media_dt === '') {
         # We set picture time to user timezone
         $media_ts = strtotime($meta['DateTimeOriginal']);
         if ($media_ts !== false) {
             $o = dt::getTimeOffset($this->core->auth->getInfo('user_tz'), $media_ts);
             $c->media_dt = dt::str('%Y-%m-%d %H:%M:%S', $media_ts + $o);
         }
     }
     $c->update('WHERE media_id = ' . $id);
 }
Example #2
0
 public static function getMeta(&$core, $get)
 {
     $meta = new dcMeta($core);
     $postid = !empty($get['postId']) ? $get['postId'] : null;
     $limit = !empty($get['limit']) ? $get['limit'] : null;
     $metaId = !empty($get['metaId']) ? $get['metaId'] : null;
     $metaType = !empty($get['metaType']) ? $get['metaType'] : null;
     $sortby = !empty($get['sortby']) ? $get['sortby'] : 'meta_type,asc';
     $rs = $meta->getMeta($metaType, $limit, $metaId, $postid);
     $sortby = explode(',', $sortby);
     $sort = $sortby[0];
     $order = isset($sortby[1]) ? $sortby[1] : 'asc';
     switch ($sort) {
         case 'metaId':
             $sort = 'meta_id_lower';
             break;
         case 'count':
             $sort = 'count';
             break;
         case 'metaType':
             $sort = 'meta_type';
             break;
         default:
             $sort = 'meta_type';
     }
     $rs->sort($sort, $order);
     $rsp = new xmlTag();
     while ($rs->fetch()) {
         $metaTag = new xmlTag('meta');
         $metaTag->type = $rs->meta_type;
         $metaTag->uri = rawurlencode($rs->meta_id);
         $metaTag->count = $rs->count;
         $metaTag->percent = $rs->percent;
         $metaTag->roundpercent = $rs->roundpercent;
         $metaTag->CDATA($rs->meta_id);
         $rsp->insertNode($metaTag);
     }
     return $rsp;
 }
Example #3
0
 public static function searchMeta($core, $get)
 {
     $q = !empty($get['q']) ? $get['q'] : null;
     $metaType = !empty($get['metaType']) ? $get['metaType'] : null;
     $sortby = !empty($get['sortby']) ? $get['sortby'] : 'meta_type,asc';
     $rs = $core->meta->getMetadata(array('meta_type' => $metaType));
     $rs = $core->meta->computeMetaStats($rs);
     $sortby = explode(',', $sortby);
     $sort = $sortby[0];
     $order = isset($sortby[1]) ? $sortby[1] : 'asc';
     switch ($sort) {
         case 'metaId':
             $sort = 'meta_id_lower';
             break;
         case 'count':
             $sort = 'count';
             break;
         case 'metaType':
             $sort = 'meta_type';
             break;
         default:
             $sort = 'meta_type';
     }
     $rs->sort($sort, $order);
     $rsp = new xmlTag();
     while ($rs->fetch()) {
         if (stripos($rs->meta_id, $q) === 0) {
             $metaTag = new xmlTag('meta');
             $metaTag->type = $rs->meta_type;
             $metaTag->uri = rawurlencode($rs->meta_id);
             $metaTag->count = $rs->count;
             $metaTag->percent = $rs->percent;
             $metaTag->roundpercent = $rs->roundpercent;
             $metaTag->CDATA($rs->meta_id);
             $rsp->insertNode($metaTag);
         }
     }
     return $rsp;
 }
Example #4
0
 public static function getZipMediaContent(&$core, $get, $post)
 {
     if (empty($get['id'])) {
         throw new Exception('No media ID');
     }
     $id = (int) $get['id'];
     if (!$core->auth->check('media,media_admin', $core->blog)) {
         throw new Exception('Permission denied');
     }
     $core->media = new dcMedia($core);
     $file = $core->media->getFile($id);
     if ($file === null || $file->type != 'application/zip' || !$file->editable) {
         throw new Exception('Not a valid file');
     }
     $rsp = new xmlTag('result');
     $content = $core->media->getZipContent($file);
     foreach ($content as $k => $v) {
         $rsp->file($k);
     }
     return $rsp;
 }