$src = isset($_REQUEST['src']) ? COM_applyFilter($_REQUEST['src']) : 'disp'; if ($src != 'disp' && $src != 'orig') { $src = 'tn'; } $album_data = MG_getAlbumData($aid, array('album_id'), true); $xml = ''; $xml .= "<slides>\n"; if (isset($album_data['album_id']) && $album_data['access'] >= 1) { $sql = MG_buildMediaSql(array('album_id' => $aid, 'fields' => array('media_type', 'media_filename', 'remote_media', 'remote_url', 'media_title'), 'where' => 'm.include_ss = 1')); $result = DB_query($sql); while ($A = DB_fetchArray($result)) { if ($A['media_type'] != 0) { continue; } $PhotoPath = MG_getFilePath($src, $A['media_filename']); $ext = pathinfo($PhotoPath, PATHINFO_EXTENSION); $PhotoURL = MG_getFileUrl($src, $A['media_filename'], $ext); $imgsize = @getimagesize($PhotoPath); if ($imgsize == false && $A['remote_media'] != 1) { continue; } if ($A['remote_media'] == 1) { $PhotoURL = $A['remote_url']; } $caption = htmlentities(strip_tags($A['media_title']), ENT_QUOTES, COM_getCharset()); $xml .= '<slide src="' . $PhotoURL . '" caption="' . $caption . '"/>' . "\n"; } } $xml .= "</slides>\n"; header("Content-type: text/xml; charset=" . COM_getCharset()); echo $xml;
$src = isset($_REQUEST['src']) ? COM_applyFilter($_REQUEST['src']) : 'disp'; if ($src != 'disp' && $src != 'orig') { $src = 'tn'; } $album_data = MG_getAlbumData($aid, array('album_id'), true); $xml = "<album>\n"; if (isset($album_data['album_id']) && $album_data['access'] >= 1) { $encoding = COM_getCharset(); $sql = MG_buildMediaSql(array('album_id' => $aid, 'fields' => array('media_type', 'media_filename', 'remote_media', 'remote_url', 'media_id', 'media_title', 'media_desc'), 'where' => 'm.include_ss = 1')); $result = DB_query($sql); while ($A = DB_fetchArray($result)) { if ($A['media_type'] == 0) { $PhotoPath = MG_getFilePath($src, $A['media_filename']); $ext = pathinfo($PhotoPath, PATHINFO_EXTENSION); $PhotoURL = MG_getFileUrl($src, $A['media_filename'], $ext); $TnURL = MG_getFileUrl('tn', $A['media_filename'], $ext); $TnCropURL = MG_getThumbCropPath($TnURL); $imgsize = @getimagesize($PhotoPath); if ($imgsize == false && $A['remote_media'] != 1) { continue; } if ($A['remote_media'] == 1) { $PhotoURL = $A['remote_url']; } $xml .= '<item>' . '<url>' . $PhotoURL . '</url>' . '<tnurl>' . $TnURL . '</tnurl>' . '<tncropurl>' . $TnCropURL . '</tncropurl>' . '<title>' . htmlentities(strip_tags($A['media_title']), ENT_QUOTES, $encoding) . '</title>' . '<desc>' . htmlentities(strip_tags($A['media_desc']), ENT_QUOTES, $encoding) . '</desc>' . '</item>' . "\n"; } } } $xml .= "</album>\n"; header("Content-type: text/xml"); echo $xml;
$T->set_block('page', 'photo_url', 'purl'); for ($i = 0; $i < $total_media; $i++) { $filename = $mediaObject[$i]['media_filename']; $mime_ext = $mediaObject[$i]['media_mime_ext']; if ($full == 1) { $PhotoPath = MG_getFilePath('orig', $filename, $mime_ext); $PhotoURL = MG_getFileUrl('orig', $filename, $mime_ext); $imgsize = @getimagesize($PhotoPath); if ($imgsize == false) { continue; } } else { if ($mediaObject[$i]['remote_media'] != 1) { $PhotoPath = MG_getFilePath('disp', $filename); $ext = pathinfo($PhotoPath, PATHINFO_EXTENSION); $PhotoURL = MG_getFileUrl('disp', $filename, $ext); $imgsize = @getimagesize($PhotoPath); if ($imgsize == false) { continue; } } else { $PhotoURL = $mediaObject[$i]['remote_url']; } } $PhotoCaption = $mediaObject[$i]['media_title']; $PhotoCaption = str_replace(";", " ", $PhotoCaption); $PhotoCaption = str_replace("\"", " ", $PhotoCaption); $PhotoCaption = str_replace("\n", " ", $PhotoCaption); $PhotoCaption = str_replace("\r", " ", $PhotoCaption); $T->set_var(array('URL' => 'photo_urls[' . $y . '] = "' . $PhotoURL . '";', 'CAPTION' => 'photo_captions[' . $y . '] = "' . $PhotoCaption . '";')); $T->parse('photo_info', 'photo_url', true);
$display = MG_createHTMLDocument($display); COM_output($display); exit; } if (!isset($_USER['uid'])) { $_USER['uid'] = 1; } $s = COM_applyFilter($_GET['s']); $aid = DB_getItem($_TABLES['mg_media_albums'], 'album_id', 'media_id="' . addslashes($s) . '"'); $album_data = MG_getAlbumData($aid, array('full_display'), true); if ($album_data['access'] == 0) { MG_access_denied(); exit; } if ($album_data['full_display'] == 2 || $_MG_CONF['discard_original'] == 1 || $album_data['full_display'] == 1 && $_USER['uid'] < 2) { MG_access_denied(); exit; } $sql = "SELECT media_filename, media_mime_ext, media_title " . "FROM {$_TABLES['mg_media']} WHERE media_id='" . addslashes($s) . "'"; $result = DB_query($sql); $A = DB_fetchArray($result); if (empty($A)) { exit; } $src = MG_getFileUrl('orig', $A['media_filename'], $A['media_mime_ext']); $T = COM_newTemplate(MG_getTemplatePath($aid)); $T->set_file('property', 'property.thtml'); $T->set_var(array('media_thumbnail' => '<img src="' . $src . '" alt="' . $A['media_title'] . '">', 'media_title' => $A['media_title'], 'lang_close' => $LANG_MG03['close'])); $display .= $T->finish($T->parse('output', 'property')); header('Content-Type: text/html; charset=' . COM_getCharset()); echo $display;
/** * this searches for pages matching the user query and returns an array of * for the header and table rows back to search.php where it will be formated and * printed * * @query string Keywords user is looking for * @datestart date/time Start date to get results for * @dateend date/time End date to get results for * @topic string The topic they were searching in * @type string Type of items they are searching * @author string Get all results by this author * */ function MG_search($id, $page, $searchinfo = '') { global $_USER, $_TABLES, $_CONF, $_MG_CONF, $LANG_MG00, $LANG_MG01, $LANG_MG03; $columns_per_page = $_MG_CONF['search_columns']; $rows_per_page = $_MG_CONF['search_rows']; if (!empty($searchinfo['numresults'])) { $rows_per_page = intval($searchinfo['numresults'] / $columns_per_page); } $media_per_page = $columns_per_page * $rows_per_page; $current_print_page = $page; // $alertmsg = '<div class="pluginAlert">' . $LANG_MG03['no_search_found'] . '</div>'; // pull the query from the search database... $result = DB_query("SELECT * FROM {$_TABLES['mg_sort']} WHERE sort_id='" . addslashes($id) . "'"); // $nrows = DB_numRows($result); // if ($nrows < 1) { // return $alertmsg; // } $S = DB_fetchArray($result); if (!isset($_USER['uid']) || $_USER['uid'] < 2) { $sort_user = 1; } else { $sort_user = $_USER['uid']; } // if ($sort_user != $S['sort_user'] && $S['sort_user'] != 1) { // return $alertmsg; // } $page = $page - 1; $begin = $media_per_page * $page; $end = $media_per_page; $root_album_owner_id = SEC_hasRights('mediagallery.admin'); $permsql = COM_getPermSQL('AND', $sort_user, 2, 'a'); $hiddensql = !$root_album_owner_id ? "AND a.hidden=0 " : ''; $sql = "SELECT DISTINCT count(*) AS c FROM {$_TABLES['mg_media']} AS m, " . $_TABLES['mg_media_albums'] . " AS ma, " . $_TABLES['mg_albums'] . " AS a " . $S['sort_query'] . " AND m.media_id=ma.media_id AND ma.album_id=a.album_id " . $hiddensql . $permsql; $result = DB_query($sql); $row = DB_fetchArray($result); $total_media = $row['c']; // if ($total_media < 1) { // return $alertmsg; // } $sql = "SELECT DISTINCT m.*,a.album_id FROM {$_TABLES['mg_media']} AS m, " . $_TABLES['mg_media_albums'] . " AS ma, " . $_TABLES['mg_albums'] . " AS a " . $S['sort_query'] . " AND m.media_id=ma.media_id AND ma.album_id=a.album_id " . $hiddensql . $permsql . " ORDER BY m.media_time DESC" . " LIMIT " . $begin . "," . intval($begin + $end); $result = DB_query($sql); $media_array = array(); while ($row = DB_fetchArray($result)) { $media_array[] = $row; } $total_print_pages = ceil($total_media / $media_per_page); $pagination = COM_printPageNavigation($_MG_CONF['site_url'] . '/search.php?id=' . $id, $page + 1, $total_print_pages, 'page='); $page_number = sprintf("%s %d %s %d", $LANG_MG03['page'], $current_print_page, $LANG_MG03['of'], $total_print_pages); $return_url = $S['referer'] == '' ? $_MG_CONF['site_url'] : htmlentities($S['referer'], ENT_QUOTES, COM_getCharset()); // new stuff $T = COM_newTemplate(MG_getTemplatePath_byName()); $T->set_file('page', 'search_page.thtml'); $T->set_var(array('site_url' => $_MG_CONF['site_url'], 'table_columns' => $columns_per_page, 'table_column_width' => intval(100 / $columns_per_page) . '%', 'top_pagination' => $pagination, 'bottom_pagination' => $pagination, 'page_number' => $page_number, 'lang_search_results' => $LANG_MG03['search_results'], 'lang_return_to_index' => $LANG_MG03['return_to_index'], 'return_url' => $return_url, 'search_keywords' => $searchinfo['keywords'] == '*' ? '*' : $S['keywords'], 'lang_search' => $LANG_MG01['search'])); MG_buildSearchBox($T, $searchinfo); $howmany = $total_media - $page * $media_per_page; if ($howmany > $total_media) { $howmany = $total_media; } if ($howmany > 0) { $k = 0; $col = 0; $opt = array('sortOrder' => 0, 'searchmode' => 1); $T->set_block('page', 'ImageColumn', 'IColumn'); $T->set_block('page', 'ImageRow', 'IRow'); for ($i = 0; $i < $media_per_page; $i += $columns_per_page) { $next_columns = $i + $columns_per_page; for ($j = $i; $j < $next_columns; $j++) { if ($j >= $total_media) { $T->parse('IRow', 'ImageRow', true); $T->set_var('IColumn', ''); break 2; } if ($j + $begin >= $total_media) { continue; } $media = new Media($media_array[$j], $media_array[$j]['album_id']); $celldisplay = $media->displayThumb($opt); if ($media->type == 1) { $PhotoURL = MG_getFileUrl('disp', $media->filename); $T->set_var('URL', $PhotoURL); } $T->set_var('clear_float', ''); if ($col == $columns_per_page) { $T->set_var('clear_float', ' clear:both;'); $col = 0; } $T->set_var('CELL_DISPLAY_IMAGE', $celldisplay); $T->parse('IColumn', 'ImageColumn', true); $col++; } $T->parse('IRow', 'ImageRow', true); $T->set_var('IColumn', ''); } $T->set_var('album_body', 1); } else { $T->set_var('lang_no_image', $LANG_MG03['no_media_objects']); } return $T->finish($T->parse('output', 'page')); }
function MG_getMP3Items(&$album_data) { global $_TABLES, $_MG_CONF; $retval = ''; if (isset($album_data['album_id'])) { $aid = $album_data['album_id']; if ($album_data['access'] >= 1) { $albumCover = MG_getAlbumCover($aid); if ($albumCover != '') { if (substr($albumCover, 0, 3) == 'tn_') { $offset = 3; } else { $offset = 0; } foreach ($_MG_CONF['validExtensions'] as $ext) { if (file_exists($_MG_CONF['path_mediaobjects'] . 'tn/' . $albumCover[$offset] . '/' . $albumCover . $ext)) { $image = $_MG_CONF['mediaobjects_url'] . '/tn/' . $albumCover[$offset] . '/' . $albumCover . $ext; break; } } } else { $image = ''; } if ($album_data['tn_attached'] == 1) { foreach ($_MG_CONF['validExtensions'] as $ext) { if (file_exists($_MG_CONF['path_mediaobjects'] . 'covers/cover_' . $aid . $ext)) { $image = $_MG_CONF['mediaobjects_url'] . '/covers/cover_' . $aid . $ext; break; } } } $sql = MG_buildMediaSql(array('album_id' => $aid, 'fields' => array('media_type', 'media_filename', 'media_mime_ext', 'media_tn_attached', 'media_title', 'artist', 'album', 'media_id'), 'where' => "m.media_type = 2 AND m.mime_type = 'audio/mpeg'")); $result = DB_query($sql); while ($row = DB_fetchArray($result)) { if ($row['media_type'] == 0) { $PhotoURL = MG_getFileUrl($src, $row['media_filename']); } else { $PhotoURL = MG_getFileUrl('orig', $row['media_filename'], $row['media_mime_ext']); } if ($row['media_tn_attached'] == 1) { foreach ($_MG_CONF['validExtensions'] as $ext) { if (file_exists($_MG_CONF['path_mediaobjects'] . 'tn/' . $row['media_filename'][0] . '/tn_' . $row['media_filename'] . $ext)) { $media_thumbnail = $_MG_CONF['mediaobjects_url'] . '/tn/' . $row['media_filename'][0] . '/tn_' . $row['media_filename'] . $ext; $media_thumbnail_file = $_MG_CONF['path_mediaobjects'] . 'tn/' . $row['media_filename'][0] . '/tn_' . $row['media_filename'] . $ext; break; } } } else { $media_thumbnail = ''; } if ($media_thumbnail != '') { if (!file_exists($media_thumbnail_file)) { $medai_thumbnail = ''; } } $retval .= " <track>\n"; $retval .= " <title>" . MG_escape($row['media_title']) . "</title>\n"; $retval .= " <annotation>" . MG_escape($row['media_title']) . "</annotation>\n"; if ($row['artist'] != '') { $retval .= " <creator>" . MG_escape($row['artist']) . "</creator>\n"; } if ($row['album'] != '') { $retval .= " <album>" . MG_escape($row['album']) . "</album>\n"; } $retval .= " <identifier>" . $row['media_id'] . "</identifier>\n"; $retval .= " <location>" . $PhotoURL . "</location>\n"; if ($media_thumbnail != '') { $retval .= " <image>" . $media_thumbnail . "</image>\n"; } else { if ($image != '') { $retval .= " <image>" . $image . "</image>\n"; } } $retval .= " </track>\n"; } } return $retval; } }
} require_once $_CONF['path'] . 'plugins/mediagallery/include/common.php'; require_once $_CONF['path'] . 'plugins/mediagallery/include/lib-exif.php'; $mid = COM_applyFilter($_REQUEST['mid']); $aid = DB_getItem($_TABLES['mg_media_albums'], 'album_id', 'media_id="' . addslashes($mid) . '"'); $result = DB_query("SELECT * FROM {$_TABLES['mg_albums']} WHERE album_id=" . intval($aid)); $row = DB_fetchArray($result); $access = SEC_hasAccess($row['owner_id'], $row['group_id'], $row['perm_owner'], $row['perm_group'], $row['perm_members'], $row['perm_anon']); if ($access == 0) { $display = COM_startBlock($LANG_ACCESS['accessdenied'], '', COM_getBlockTemplate('_msg_block', 'header')) . $LANG_MG00['access_denied'] . COM_endBlock(COM_getBlockTemplate('_msg_block', 'footer')); echo $display; exit; } $display = ''; $media_filename = DB_getItem($_TABLES['mg_media'], 'media_filename', "media_id='" . addslashes($mid) . "'"); if ($media_filename == '') { $display = COM_startBlock($LANG_ACCESS['accessdenied'], '', COM_getBlockTemplate('_msg_block', 'header')) . $LANG_MG00['access_denied'] . COM_endBlock(COM_getBlockTemplate('_msg_block', 'footer')); echo $display; exit; } $media_mime_ext = DB_getItem($_TABLES['mg_media'], 'media_mime_ext', "media_id='" . addslashes($mid) . "'"); $exifInfo = MG_readEXIF($mid, 1); $src = MG_getFileUrl('tn', $media_filename, $media_mime_ext); $p = pathinfo($src); $src = $p['dirname'] . '/' . $p['filename'] . '_200.' . $p['extension']; $T = COM_newTemplate(MG_getTemplatePath($aid)); $T->set_file('property', 'property.thtml'); $T->set_var(array('media_thumbnail' => '<img src="' . $src . '" alt=""' . XHTML . '>', 'exif_info' => $exifInfo, 'lang_close' => $LANG_MG03['close'])); $display .= $T->finish($T->parse('output', 'property')); header('Content-Type: text/html; charset=' . COM_getCharset()); echo $display;