function MG_enroll() { global $_CONF, $_MG_CONF, $_TABLES, $_USER, $LANG_MG03; // let's make sure this user does not already have a member album if ($_MG_CONF['member_albums'] != 1) { echo COM_refresh($_MG_CONF['site_url'] . '/index.php'); exit; } $sql = "SELECT album_id FROM {$_TABLES['mg_albums']} WHERE owner_id=" . (int) $_USER['uid'] . " AND album_parent=" . $_MG_CONF['member_album_root']; $result = DB_query($sql); $nRows = DB_numRows($result); if ($nRows > 0) { $display = MG_siteHeader(); $display .= COM_showMessageText($LANG_MG03['existing_member_album'], '', true); $display .= MG_siteFooter(); echo $display; exit; } $T = new Template(MG_getTemplatePath(0)); $T->set_file('enroll', 'enroll.thtml'); $T->set_var(array('s_form_action' => $_MG_CONF['site_url'] . '/enroll.php', 'lang_title' => $LANG_MG03['enroll_title'], 'lang_overview' => $LANG_MG03['overview'], 'lang_terms' => $LANG_MG03['terms'], 'lang_member_album_overview' => $LANG_MG03['member_album_overview'], 'lang_member_album_terms' => $LANG_MG03['member_album_terms'], 'lang_agree' => $LANG_MG03['agree'], 'lang_cancel' => $LANG_MG03['cancel'])); $T->parse('output', 'enroll'); $retval .= $T->finish($T->get_var('output')); return $retval; }
function MG_enroll() { global $_CONF, $_MG_CONF, $_TABLES, $_USER, $LANG_MG03; // let's make sure this user does not already have a member album if ($_MG_CONF['member_albums'] != 1) { echo COM_refresh($_MG_CONF['site_url'] . '/index.php'); exit; } $sql = "SELECT album_id FROM {$_TABLES['mg_albums']} " . "WHERE owner_id=" . intval($_USER['uid']) . " AND album_parent=" . intval($_MG_CONF['member_album_root']); $result = DB_query($sql); $nRows = DB_numRows($result); if ($nRows > 0) { $display = COM_startBlock('', '', COM_getBlockTemplate('_msg_block', 'header')); $display .= $LANG_MG03['existing_member_album']; $display .= COM_endBlock(COM_getBlockTemplate('_msg_block', 'footer')); $display = MG_createHTMLDocument($display); COM_output($display); exit; } $T = COM_newTemplate(MG_getTemplatePath(0)); $T->set_file('enroll', 'enroll.thtml'); $T->set_var(array('s_form_action' => $_MG_CONF['site_url'] . '/enroll.php', 'lang_title' => $LANG_MG03['enroll_title'], 'lang_overview' => $LANG_MG03['overview'], 'lang_terms' => $LANG_MG03['terms'], 'lang_member_album_overview' => $LANG_MG03['member_album_overview'], 'lang_member_album_terms' => $LANG_MG03['member_album_terms'], 'lang_agree' => $LANG_MG03['agree'], 'lang_cancel' => $LANG_MG03['cancel'])); $retval .= $T->finish($T->parse('output', 'enroll')); return $retval; }
function MG_navbar($selected = '', $album_id) { global $_CONF, $_MG_CONF, $LANG_MG01, $LANG_MG03, $glversion; USES_class_navbar(); $T = new Template(MG_getTemplatePath($album_id)); $T->set_file(array('upload' => 'upload.thtml')); $T->set_var(array('lang_upload_media' => $LANG_MG03['upload_media'])); $T->parse('output', 'upload'); $retval = $T->finish($T->get_var('output')); $navbar = new navbar(); $navbar->add_menuitem($LANG_MG01['html5upload_media'], $_MG_CONF['site_url'] . '/admin.php?mode=upload&album_id=' . $album_id); $navbar->add_menuitem($LANG_MG01['browser_upload'], $_MG_CONF['site_url'] . '/admin.php?mode=browser&album_id=' . $album_id); if (SEC_hasRights('mediagallery.admin')) { $navbar->add_menuitem($LANG_MG01['ftp_media'], $_MG_CONF['site_url'] . '/admin.php?mode=import&album_id=' . $album_id); } $navbar->add_menuitem($LANG_MG01['remote_media'], $_MG_CONF['site_url'] . '/admin.php?mode=remote&album_id=' . $album_id); $navbar->set_selected($selected); $retval .= $navbar->generate(); $retval .= '<br />'; return $retval; }
function _mg_centerblock($where = 1, $page = 1, $topic = '') { global $_CONF, $_MG_CONF, $MG_albums, $_TABLES, $_USER, $LANG_MG00, $LANG_MG01, $LANG_MG03, $mg_installed_version; $pi_name = 'mediagallery'; // Plugin name $retval = ''; if ($_MG_CONF['gallery_only'] == 1 && $topic == '') { MG_galleryOnly(); } if ($mg_installed_version != $_MG_CONF['pi_version']) { return $retval; } if (COM_isAnonUser() && $_MG_CONF['loginrequired'] == 1) { return ''; } if ($topic == '') { $sTopic = "none"; } else { $sTopic = $topic; } if (!isset($_MG_CONF['feature_member_album'])) { $_MG_CONF['feature_member_album'] = 1; } if ($_MG_CONF['feature_member_album'] == 1 && $_MG_CONF['member_albums'] == 1 && !COM_isAnonUser() && $where == 1) { $cbpos = CENTERBLOCK_TOP; //top of page $cbpage = 'none'; if ($cbpage == 'none' && ($page > 1 or $topic != "")) { $cbenable = 0; } elseif ($cbpage == 'all' && $page > 1) { $cbenable = 0; } elseif ($cbpage != 'none' && $cbpage != 'all' && $cbpage != $topic) { // $cbpage != $topic) { $cbenable = 0; } else { $cbenable = 1; } if ($cbenable == 1) { MG_initAlbums(); $sql = "SELECT album_id FROM {$_TABLES['mg_albums']} WHERE owner_id=" . (int) $_USER['uid'] . " AND album_parent='" . $_MG_CONF['member_album_root'] . "' LIMIT 1"; $result = DB_query($sql); $numRows = DB_numRows($result); if ($numRows > 0) { $A = DB_fetchArray($result); $album_id = $A['album_id']; $T = new Template(MG_getTemplatePath(0)); $T->set_file('page', 'cb_featured_album.thtml'); require_once $_CONF['path'] . 'plugins/mediagallery/include/classAlbum.php'; if ($MG_albums[$album_id]->last_update > 0) { $album_last_update = MG_getUserDateTimeFormat($MG_albums[$album_id]->last_update); } else { $album_last_update = ''; } $cover = $MG_albums[$album_id]->findCover(); if ($cover != '') { foreach ($_MG_CONF['validExtensions'] as $ext) { if (file_exists($_MG_CONF['path_mediaobjects'] . 'tn/' . $cover[0] . '/' . $cover . $ext)) { $album_last_image = $_MG_CONF['mediaobjects_url'] . '/tn/' . $cover[0] . '/' . $cover . $ext; $media_size = @getimagesize($_MG_CONF['path_mediaobjects'] . 'tn/' . $cover[0] . '/' . $cover . $ext); break; } } } else { $album_last_image = $_MG_CONF['mediaobjects_url'] . '/placeholder.svg'; $media_size = array(200, 200); //$media_size = @getimagesize($_MG_CONF['path_mediaobjects'] . 'empty.png'); } $album_media_count = $MG_albums[$album_id]->getMediaCount(); $updated_prompt = $_MG_CONF['dfid'] == '99' ? '' : $LANG_MG03['updated_prompt']; $album_title = $MG_albums[$album_id]->title; $album_desc = $MG_albums[$album_id]->description; if ($MG_albums[$album_id]->tn_attached == 1) { $media_size = false; foreach ($_MG_CONF['validExtensions'] as $ext) { if (file_exists($_MG_CONF['path_mediaobjects'] . 'covers/cover_' . $MG_albums[$album_id]->id . $ext)) { $album_last_image = $_MG_CONF['mediaobjects_url'] . '/covers/cover_' . $MG_albums[$album_id]->id . $ext; $media_size = @getimagesize($_MG_CONF['path_mediaobjects'] . 'covers/cover_' . $MG_albums[$album_id]->id . $ext); break; } } } if ($media_size == false) { $album_last_image = $_MG_CONF['mediaobjects_url'] . '/placeholder.svg'; $media_size = array(200, 200); // @getimagesize($_MG_CONF['path_mediaobjects'] . 'missing.png'); } if (!empty($MG_albums[$album_id]->children)) { $saRows = 0; $SAchildren = $MG_albums[$album_id]->getChildren(); if (isset($_MG_CONF['subalbum_select']) && $_MG_CONF['subalbum_select'] == 1) { $subAlbumDisplay = '<form name="subalbums' . $MG_albums[$achild[$indexCounter]]->id . '" action="' . $_MG_CONF['site_url'] . '/album.php' . '" method="get" style="margin:0;padding:0">'; $subAlbumDisplay .= '<select name="aid" onchange="forms[\'subalbums' . $MG_albums[$achild[$indexCounter]]->id . '\'].submit()">'; $subAlbumDisplay .= '<optgroup label="' . $LANG_MG01['select_subalbum'] . '">' . LB; } else { $subAlbumDisplay = ''; } foreach ($SAchildren as $SAchild) { if ($MG_albums[$SAchild]->access > 0) { if ($MG_albums[$SAchild]->hidden) { if ($MG_albums[$SAchild]->access == 3) { $mediaCount = $MG_albums[$SAchild]->getMediaCount(); if ($_MG_CONF['subalbum_select'] == 1) { if (strlen($MG_albums[$SAchild]->title) > 50) { $aTitle = substr($MG_albums[$SAchild]->title, 0, 50) . '...'; } else { $aTitle = $MG_albums[$SAchild]->title; } $subAlbumDisplay .= '<option value="' . $MG_albums[$SAchild]->id . '">' . $aTitle . ' (' . $mediaCount . ')</option>'; } else { $subAlbumDisplay .= '<li><a href="' . $_MG_CONF['site_url'] . '/album.php?aid=' . $MG_albums[$SAchild]->id . '&page=1' . '">' . $MG_albums[$SAchild]->title . ' (' . $mediaCount . ')</a></li>'; } $saRows++; } } else { $mediaCount = $MG_albums[$SAchild]->getMediaCount(); if ($_MG_CONF['subalbum_select'] == 1) { if (strlen($MG_albums[$SAchild]->title) > 50) { $aTitle = substr($MG_albums[$SAchild]->title, 0, 50) . '...'; } else { $aTitle = $MG_albums[$SAchild]->title; } $subAlbumDisplay .= '<option value="' . $MG_albums[$SAchild]->id . '">' . $aTitle . ' (' . $mediaCount . ')</option>'; } else { $subAlbumDisplay .= '<li><a href="' . $_MG_CONF['site_url'] . '/album.php?aid=' . $MG_albums[$SAchild]->id . '&page=1' . '">' . $MG_albums[$SAchild]->title . ' (' . $mediaCount . ')</a></li>'; } $saRows++; } } } if ($_MG_CONF['subalbum_select'] == 1) { $subAlbumDisplay .= '</optgroup></select>'; $subAlbumDisplay .= ' <input type="submit" value="' . $LANG_MG03['go'] . '" />'; $subAlbumDisplay .= '<input type="hidden" name="page" value="1" />'; $subAlbumDisplay .= '</form>'; } if ($saRows > 0 && $_MG_CONF['subalbum_select'] != 1) { $T->set_var(array('saulstart' => '<ul>', 'saulend' => '</ul>')); } else { $T->set_var(array('saulstart' => '', 'saulend' => '')); } $T->set_var(array('lang_subalbums' => $LANG_MG01['subalbums'], 'subalbumcount' => '(' . $saRows . ')', 'subalbumlist' => $subAlbumDisplay)); } else { $T->set_var(array('lang_subalbums' => '', 'subalbumcount' => '', 'subalbumlist' => '', 'saulstart' => '', 'saulend' => '')); } switch ($_MG_CONF['gallery_tn_size']) { case '0': //small $tn_height = 100; break; case '1': //medium $tn_height = 150; break; case '2': $tn_height = 200; break; default: $tn_height = 150; break; } if ($media_size[0] > $media_size[1]) { $ratio = $media_size[0] / $tn_height; $newwidth = $tn_height; $newheight = round($media_size[1] / $ratio); } else { $ratio = $media_size[1] / $tn_height; $newheight = $tn_height; $newwidth = round($media_size[0] / $ratio); } $T->set_var(array('site_url' => $_CONF['site_url'], 'album_id' => $album_id, 'album_title' => $album_title, 'album_desc' => $album_desc, 'album_media_count' => $album_media_count, 'subalbum_media_count' => $album_media_count, 'album_last_update' => $album_last_update[0], 'updated_prompt' => $MG_albums[$album_id]->last_update > 0 ? $updated_prompt : '', 'album_last_image' => $album_last_image, 'img_height' => $newheight, 'img_width' => $newwidth, 'media_size' => 'width="' . $newwidth . '" height="' . $newheight . '"', 'border_width' => $newwidth + 20, 'border_height' => $newheight + 20, 'column_width' => $newwidth + 30, 'u_viewalbum' => $_MG_CONF['site_url'] . '/album.php?aid=' . $album_id . '&page=1', 'lang_album' => $LANG_MG00['album'], 'featured_album' => $LANG_MG03['your_member_album'])); $T->parse('output', 'page'); $retval = $T->finish($T->get_var('output')); return $retval; } } } $result = DB_query("SELECT album_id, cbpage, cbposition FROM {$_TABLES['mg_albums']} WHERE featured='1' AND (cbpage='" . DB_escapeString($sTopic) . "' OR cbpage='all' OR cbpage='allnhp') " . COM_getPermSQL('and') . " LIMIT 1"); if (DB_numRows($result) == 1) { list($album_id, $cbpage, $cbpos) = DB_fetchArray($result); // If enabled only for homepage and this is not page 1 or a topic page, then set disable flag if ($cbpage == 'none' && ($page > 1 or $topic != "")) { $cbenable = 0; } elseif ($cbpage == 'all' && $page > 1) { $cbenable = 0; } elseif ($cbpage == 'allnhp' && COM_onFrontpage()) { $cbenable = 0; } elseif ($cbpage != 'allnhp' && $cbpage != 'none' && $cbpage != 'all' && $cbpage != $topic) { $cbenable = 0; } else { $cbenable = 1; } if ($cbenable and $cbpos == $where) { MG_initAlbums(); $T = new Template(MG_getTemplatePath(0)); $T->set_file('page', 'cb_featured_album.thtml'); if ($MG_albums[$album_id]->last_update > 0) { $album_last_update = MG_getUserDateTimeFormat($MG_albums[$album_id]->last_update); } else { $album_last_update = ''; } $cover = $MG_albums[$album_id]->findCover(); if ($cover != '') { $media_size = false; foreach ($_MG_CONF['validExtensions'] as $ext) { if (file_exists($_MG_CONF['path_mediaobjects'] . 'tn/' . $cover[0] . '/' . $cover . $ext)) { $album_last_image = $_MG_CONF['mediaobjects_url'] . '/tn/' . $cover[0] . '/' . $cover . $ext; $media_size = @getimagesize($_MG_CONF['path_mediaobjects'] . 'tn/' . $cover[0] . '/' . $cover . $ext); break; } } } else { $album_last_image = $_MG_CONF['mediaobjects_url'] . '/placeholder.svg'; $media_size = array(200, 200); // $media_size = @getimagesize($_MG_CONF['path_mediaobjects'] . 'empty.png'); } $album_media_count = $MG_albums[$album_id]->getMediaCount(); $updated_prompt = $_MG_CONF['dfid'] == '99' ? '' : $LANG_MG03['updated_prompt']; $album_title = $MG_albums[$album_id]->title; $album_desc = $MG_albums[$album_id]->description; if ($MG_albums[$album_id]->tn_attached == 1) { $media_size = false; foreach ($_MG_CONF['validExtensions'] as $ext) { if (file_exists($_MG_CONF['path_mediaobjects'] . 'covers/cover_' . $MG_albums[$album_id]->id . $ext)) { $album_last_image = $_MG_CONF['mediaobjects_url'] . '/covers/cover_' . $MG_albums[$album_id]->id . $ext; $media_size = @getimagesize($_MG_CONF['path_mediaobjects'] . 'covers/cover_' . $MG_albums[$album_id]->id . $ext); break; } } } if ($media_size == false) { $album_last_image = $_MG_CONF['mediaobjects_url'] . '/placeholder.svg'; $media_size = array(200, 200); // @getimagesize($_MG_CONF['path_mediaobjects'] . 'missing.png'); } if (!empty($MG_albums[$album_id]->children)) { $saRows = 0; $SAchildren = $MG_albums[$album_id]->getChildren(); if (isset($_MG_CONF['subalbum_select']) && $_MG_CONF['subalbum_select'] == 1) { $subAlbumDisplay = '<form name="subalbums' . $MG_albums[$achild[$indexCounter]]->id . '" action="' . $_MG_CONF['site_url'] . '/album.php' . '" method="get" style="margin:0;padding:0">'; $subAlbumDisplay .= '<select name="aid" onchange="forms[\'subalbums' . $MG_albums[$achild[$indexCounter]]->id . '\'].submit()">'; $subAlbumDisplay .= '<optgroup label="' . $LANG_MG01['select_subalbum'] . '">' . LB; } else { $subAlbumDisplay = ''; } foreach ($SAchildren as $SAchild) { if ($MG_albums[$SAchild]->access > 0) { if ($MG_albums[$SAchild]->hidden) { if ($MG_albums[$SAchild]->access == 3) { $mediaCount = $MG_albums[$SAchild]->getMediaCount(); if ($_MG_CONF['subalbum_select'] == 1) { if (strlen($MG_albums[$SAchild]->title) > 50) { $aTitle = substr($MG_albums[$SAchild]->title, 0, 50) . '...'; } else { $aTitle = $MG_albums[$SAchild]->title; } $subAlbumDisplay .= '<option value="' . $MG_albums[$SAchild]->id . '">' . $aTitle . ' (' . $mediaCount . ')</option>'; } else { $subAlbumDisplay .= '<li><a href="' . $_MG_CONF['site_url'] . '/album.php?aid=' . $MG_albums[$SAchild]->id . '&page=1' . '">' . $MG_albums[$SAchild]->title . ' (' . $mediaCount . ')</a></li>'; } $saRows++; } } else { $mediaCount = $MG_albums[$SAchild]->getMediaCount(); if ($_MG_CONF['subalbum_select'] == 1) { if (strlen($MG_albums[$SAchild]->title) > 50) { $aTitle = substr($MG_albums[$SAchild]->title, 0, 50) . '...'; } else { $aTitle = $MG_albums[$SAchild]->title; } $subAlbumDisplay .= '<option value="' . $MG_albums[$SAchild]->id . '">' . $aTitle . ' (' . $mediaCount . ')</option>'; } else { $subAlbumDisplay .= '<li><a href="' . $_MG_CONF['site_url'] . '/album.php?aid=' . $MG_albums[$SAchild]->id . '&page=1' . '">' . $MG_albums[$SAchild]->title . ' (' . $mediaCount . ')</a></li>'; } $saRows++; } } } if ($_MG_CONF['subalbum_select'] == 1) { $subAlbumDisplay .= '</optgroup></select>'; $subAlbumDisplay .= ' <input type="submit" value="' . $LANG_MG03['go'] . '" />'; $subAlbumDisplay .= '<input type="hidden" name="page" value="1" />'; $subAlbumDisplay .= '</form>'; } if ($saRows > 0 && $_MG_CONF['subalbum_select'] != 1) { $T->set_var(array('saulstart' => '<ul>', 'saulend' => '</ul>')); } else { $T->set_var(array('saulstart' => '', 'saulend' => '')); } $T->set_var(array('lang_subalbums' => $LANG_MG01['subalbums'], 'subalbumcount' => '(' . $saRows . ')', 'subalbumlist' => $subAlbumDisplay)); } else { $T->set_var(array('lang_subalbums' => '', 'subalbumcount' => '', 'subalbumlist' => '')); } switch ($_MG_CONF['gallery_tn_size']) { case '0': //small $tn_height = 100; break; case '1': //medium $tn_height = 150; break; case '2': $tn_height = 200; break; default: $tn_height = 150; break; } if ($media_size[0] > $media_size[1]) { $ratio = $media_size[0] / $tn_height; $newwidth = $tn_height; $newheight = round($media_size[1] / $ratio); } else { $ratio = $media_size[1] / $tn_height; $newheight = $tn_height; $newwidth = round($media_size[0] / $ratio); } $T->set_var(array('album_id' => $album_id, 'album_title' => $album_title, 'album_desc' => $album_desc, 'album_media_count' => $album_media_count, 'subalbum_media_count' => $album_media_count, 'album_last_update' => $album_last_update[0], 'updated_prompt' => $MG_albums[$album_id]->last_update > 0 ? $updated_prompt : '', 'album_last_image' => $album_last_image, 'img_height' => $newheight, 'img_width' => $newwidth, 'media_size' => 'width="' . $newwidth . '" height="' . $newheight . '"', 'border_width' => $newwidth + 20, 'border_height' => $newheight + 20, 'column_width' => $newwidth + 30, 'u_viewalbum' => $_MG_CONF['site_url'] . '/album.php?aid=' . $album_id . '&page=1', 'lang_album' => $LANG_MG00['album'], 'featured_album' => $LANG_MG03['featured_album'])); $T->parse('output', 'page'); $retval = $T->finish($T->get_var('output')); return $retval; } } }
function MG_mediaEdit($album_id, $media_id, $actionURL = '', $mqueue = 0, $view = 0, $back = '') { global $_USER, $_CONF, $_MG_CONF, $_TABLES, $_MG_CONF, $LANG_MG00, $LANG_MG01, $LANG_MG03, $LANG_MG07, $_DB_dbms; $album = new mgAlbum($album_id); if ($actionURL == '') { $actionURL = $_MG_CONF['site_url'] . '/index.php'; } $retval = ''; $T = COM_newTemplate(MG_getTemplatePath($album_id)); $T->set_file(array('admin' => 'mediaedit.thtml', 'asf_options' => 'edit_asf_options.thtml', 'mp3_options' => 'edit_mp3_options.thtml', 'swf_options' => 'edit_swf_options.thtml', 'mov_options' => 'edit_mov_options.thtml', 'flv_options' => 'edit_flv_options.thtml')); // pull the media information from the database... $sql = "SELECT * FROM "; if ($_DB_dbms == "mssql") { $sql = "SELECT *,CAST(media_desc AS TEXT) AS media_desc FROM "; } $sql .= ($mqueue ? $_TABLES['mg_mediaqueue'] : $_TABLES['mg_media']) . " WHERE media_id='" . addslashes($media_id) . "'"; $result = DB_query($sql); $row = DB_fetchArray($result); if ($album->access != 3 && !SEC_inGroup($album->mod_group_id) && $row['media_user_id'] != $_USER['uid']) { COM_errorLog("Someone has tried to illegally sort albums in Media Gallery. " . "User id: {$_USER['uid']}, Username: {$_USER['username']}, IP: {$REMOTE_ADDR}", 1); return COM_showMessageText($LANG_MG00['access_denied_msg']); } // Build Album List $album_jumpbox = '<select name="albums" width="40">'; $root_album = new mgAlbum(0); $root_album->buildJumpBox($album_jumpbox, $album_id); $album_jumpbox .= '</select>'; // should check the above for errors, etc... $exif_info = ''; if ($row['media_type'] == 0) { if (!function_exists('MG_readEXIF')) { require_once $_CONF['path'] . 'plugins/mediagallery/include/lib-exif.php'; } $exif_info = MG_readEXIF($row['media_id'], 1, $mqueue); if (empty($exif_info)) { $exif_info = ''; } } $media_time_month = date("m", $row['media_time']); $media_time_day = date("d", $row['media_time']); $media_time_year = date("Y", $row['media_time']); $media_time_hour = date("H", $row['media_time']); $media_time_minute = date("i", $row['media_time']); $month_select = '<select name="media_month">'; $month_select .= COM_getMonthFormOptions($media_time_month); $month_select .= '</select>'; $day_select = '<select name="media_day">'; for ($i = 1; $i < 32; $i++) { $day_select .= '<option value="' . $i . '"' . ($media_time_day == $i ? 'selected="selected"' : "") . '>' . $i . '</option>'; } $day_select .= '</select>'; $current_year = (int) date("Y"); $end_year = $current_year + 10; $year_select = '<select name="media_year">'; for ($i = 1998; $i < $end_year; $i++) { $year_select .= '<option value="' . $i . '"' . ($media_time_year == $i ? 'selected="selected"' : "") . '>' . $i . '</option>'; } $year_select .= '</select>'; $hour_select = '<select name="media_hour">'; for ($i = 0; $i < 24; $i++) { $hour_select .= '<option value="' . $i . '"' . ($media_time_hour == $i ? 'selected="selected"' : "") . '>' . $i . '</option>'; } $hour_select .= '</select>'; $minute_select = '<select name="media_minute">'; for ($i = 0; $i < 60; $i++) { $minute_select .= '<option value="' . $i . '"' . ($media_time_minute == $i ? 'selected="selected"' : "") . '>' . ($i < 10 ? '0' : '') . $i . '</option>'; } $minute_select .= '</select>'; $media_time = MG_getUserDateTimeFormat($row['media_time']); $tn_size = 1; list($thumbnail, $pThumbnail, $size) = Media::getThumbInfo($row, $tn_size); $attached_thumbnail = ''; if ($row['media_tn_attached'] == 1) { $atnsize = ''; if ($size != false) { list($newwidth, $newheight) = Media::getImageWH($size[0], $size[1], 150, 150); $atnsize = 'width="' . $newwidth . '" height="' . $newheight . '"'; } $attached_thumbnail = '<img src="' . $thumbnail . '" alt="" ' . $atnsize . XHTML . '>'; $tmpthumb = Media::getDefaultThumbnail($row, $tn_size); $thumbnail = $_MG_CONF['mediaobjects_url'] . '/' . $tmpthumb; $size = getimagesize($_MG_CONF['path_mediaobjects'] . $tmpthumb); } $preview = ''; $preview_end = ''; if ($row['media_type'] == 0 || $row['media_type'] == 1 || $row['media_type'] == 2) { // image, video and music file if ($row['media_type'] == 2) { $win_width = 540; $win_height = 320; } elseif ($row['media_type'] == 1) { $win_width = 660; $win_height = 525; } elseif ($row['media_type'] == 0) { $path = Media::getFilePath('disp', $row['media_filename'], $row['media_mime_ext']); $media_size_disp = @getimagesize($path); $win_width = $media_size_disp[0] + 20; $win_height = $media_size_disp[1] + 20; } else { $win_width = 800; $win_height = 600; } $url = Media::getHref_showvideo($row['media_id'], $win_height, $win_width, $mqueue); $preview = "<a href=\"" . $url . "\">"; $preview_end = "</a>"; } $rotate_right = ''; $rotate_left = ''; if ($row['media_type'] == 0 && ($_CONF['image_lib'] != 'gdlib' || function_exists("imagerotate"))) { $rotate_right = '<a href="' . $_MG_CONF['site_url'] . '/admin.php?mode=rotate&action=right&media_id=' . $row['media_id'] . '&album_id=' . $album_id . '">' . '<img src="' . $_MG_CONF['site_url'] . '/images/rotate_right_icon.gif" alt="' . $LANG_MG01['rotate_left'] . '" style="border:none;"' . XHTML . '></a>'; $rotate_left = '<a href="' . $_MG_CONF['site_url'] . '/admin.php?mode=rotate&action=left&media_id=' . $row['media_id'] . '&album_id=' . $album_id . '">' . '<img src="' . $_MG_CONF['site_url'] . '/images/rotate_left_icon.gif" alt="' . $LANG_MG01['rotate_right'] . '" style="border:none;"' . XHTML . '></a>'; } $resolution = ''; $lang_resolution = ''; if ($row['media_type'] == 1) { // video file $resolution = 'unknown'; if ($row['media_resolution_x'] > 0 && $row['media_resolution_y'] > 0) { $resolution = $row['media_resolution_x'] . 'x' . $row['media_resolution_y']; } $lang_resolution = $LANG_MG07['resolution']; } $sql = "SELECT * FROM {$_TABLES['mg_playback_options']} " . "WHERE media_id='" . addslashes($row['media_id']) . "'"; $poResult = DB_query($sql); $poNumRows = DB_numRows($poResult); // playback options, if needed... if ($row['mime_type'] == 'video/x-ms-asf' || $row['mime_type'] == 'video/x-ms-wvx' || $row['mime_type'] == 'video/x-ms-wm' || $row['mime_type'] == 'video/x-ms-wmx' || $row['mime_type'] == 'video/x-ms-wmv' || $row['mime_type'] == 'audio/x-ms-wma' || $row['mime_type'] == 'video/x-msvideo') { // pull defaults, then override... $playback_options['autostart'] = $_MG_CONF['asf_autostart']; $playback_options['enablecontextmenu'] = $_MG_CONF['asf_enablecontextmenu']; $playback_options['stretchtofit'] = $_MG_CONF['asf_stretchtofit']; $playback_options['uimode'] = $_MG_CONF['asf_uimode']; $playback_options['showstatusbar'] = $_MG_CONF['asf_showstatusbar']; $playback_options['playcount'] = $_MG_CONF['asf_playcount']; $playback_options['height'] = $_MG_CONF['asf_height']; $playback_options['width'] = $_MG_CONF['asf_width']; $playback_options['bgcolor'] = $_MG_CONF['asf_bgcolor']; for ($i = 0; $i < $poNumRows; $i++) { $poRow = DB_fetchArray($poResult); $playback_options[$poRow['option_name']] = $poRow['option_value']; } $uimode_select = MG_optionlist(array('name' => 'uimode', 'current' => $playback_options['uimode'], 'values' => array('none' => $LANG_MG07['none'], 'mini' => $LANG_MG07['mini'], 'full' => $LANG_MG07['full']))); $T->set_var(array('autostart_enabled' => $playback_options['autostart'] ? ' checked="checked"' : '', 'autostart_disabled' => $playback_options['autostart'] ? '' : ' checked="checked"', 'enablecontextmenu_enabled' => $playback_options['enablecontextmenu'] ? ' checked="checked"' : '', 'enablecontextmenu_disabled' => $playback_options['enablecontextmenu'] ? '' : ' checked="checked"', 'stretchtofit_enabled' => $playback_options['stretchtofit'] ? ' checked="checked"' : '', 'stretchtofit_disabled' => $playback_options['stretchtofit'] ? '' : ' checked="checked"', 'showstatusbar_enabled' => $playback_options['showstatusbar'] ? ' checked="checked"' : '', 'showstatusbar_disabled' => $playback_options['showstatusbar'] ? '' : ' checked="checked"', 'uimode_select' => $uimode_select, 'uimode' => $playback_options['uimode'], 'playcount' => $playback_options['playcount'], 'height' => $playback_options['height'], 'width' => $playback_options['width'], 'bgcolor' => $playback_options['bgcolor'], 'lang_resolution' => $lang_resolution, 'resolution' => $resolution)); $T->parse('playback_options', 'asf_options'); } if ($row['mime_type'] == 'audio/mpeg') { // pull defaults, then override... $playback_options['autostart'] = $_MG_CONF['mp3_autostart']; $playback_options['enablecontextmenu'] = $_MG_CONF['mp3_enablecontextmenu']; $playback_options['uimode'] = $_MG_CONF['mp3_uimode']; $playback_options['showstatusbar'] = $_MG_CONF['mp3_showstatusbar']; $playback_options['loop'] = $_MG_CONF['mp3_loop']; for ($i = 0; $i < $poNumRows; $i++) { $poRow = DB_fetchArray($poResult); $playback_options[$poRow['option_name']] = $poRow['option_value']; } $uimode_select = MG_optionlist(array('name' => 'uimode', 'current' => $playback_options['uimode'], 'values' => array('none' => $LANG_MG07['none'], 'mini' => $LANG_MG07['mini'], 'full' => $LANG_MG07['full']))); $T->set_var(array('autostart_enabled' => $playback_options['autostart'] ? ' checked="checked"' : '', 'autostart_disabled' => $playback_options['autostart'] ? '' : ' checked="checked"', 'enablecontextmenu_enabled' => $playback_options['enablecontextmenu'] ? ' checked="checked"' : '', 'enablecontextmenu_disabled' => $playback_options['enablecontextmenu'] ? '' : ' checked="checked"', 'showstatusbar_enabled' => $playback_options['showstatusbar'] ? ' checked="checked"' : '', 'showstatusbar_disabled' => $playback_options['showstatusbar'] ? '' : ' checked="checked"', 'loop_enabled' => $playback_options['loop'] ? ' checked="checked"' : '', 'loop_disabled' => $playback_options['loop'] ? '' : ' checked="checked"', 'uimode_select' => $uimode_select, 'uimode' => $playback_options['uimode'])); $T->parse('playback_options', 'mp3_options'); } if ($row['mime_type'] == 'application/x-shockwave-flash' || $row['mime_type'] == 'video/x-flv') { // pull defaults, then override... $playback_options['play'] = $_MG_CONF['swf_play']; $playback_options['menu'] = $_MG_CONF['swf_menu']; $playback_options['quality'] = $_MG_CONF['swf_quality']; $playback_options['height'] = $_MG_CONF['swf_height']; $playback_options['width'] = $_MG_CONF['swf_width']; $playback_options['loop'] = $_MG_CONF['swf_loop']; $playback_options['scale'] = $_MG_CONF['swf_scale']; $playback_options['wmode'] = $_MG_CONF['swf_wmode']; $playback_options['allowscriptaccess'] = $_MG_CONF['swf_allowscriptaccess']; $playback_options['bgcolor'] = $_MG_CONF['swf_bgcolor']; $playback_options['swf_version'] = $_MG_CONF['swf_version']; for ($i = 0; $i < $poNumRows; $i++) { $poRow = DB_fetchArray($poResult); $playback_options[$poRow['option_name']] = $poRow['option_value']; } $quality_select = MG_optionlist(array('name' => 'quality', 'current' => $playback_options['quality'], 'values' => array('low' => $LANG_MG07['low'], 'high' => $LANG_MG07['high']))); $scale_select = MG_optionlist(array('name' => 'scale', 'current' => $playback_options['scale'], 'values' => array('showall' => $LANG_MG07['showall'], 'noborder' => $LANG_MG07['noborder'], 'exactfit' => $LANG_MG07['exactfit']))); $wmode_select = MG_optionlist(array('name' => 'wmode', 'current' => $playback_options['wmode'], 'values' => array('window' => $LANG_MG07['window'], 'opaque' => $LANG_MG07['opaque'], 'transparent' => $LANG_MG07['transparent']))); $asa_select = MG_optionlist(array('name' => 'allowscriptaccess', 'current' => $playback_options['allowscriptaccess'], 'values' => array('always' => $LANG_MG07['always'], 'sameDomain' => $LANG_MG07['sameDomain'], 'never' => $LANG_MG07['never']))); $T->set_var(array('play_enabled' => $playback_options['play'] ? ' checked="checked"' : '', 'play_disabled' => $playback_options['play'] ? '' : ' checked="checked"', 'menu_enabled' => $playback_options['menu'] ? ' checked="checked"' : '', 'menu_disabled' => $playback_options['menu'] ? '' : ' checked="checked"', 'loop_enabled' => $playback_options['loop'] ? ' checked="checked"' : '', 'loop_disabled' => $playback_options['loop'] ? '' : ' checked="checked"', 'quality_select' => $quality_select, 'scale_select' => $scale_select, 'wmode_select' => $wmode_select, 'asa_select' => $asa_select, 'flashvars' => isset($playback_options['flashvars']) ? $playback_options['flashvars'] : '', 'height' => $playback_options['height'], 'width' => $playback_options['width'], 'bgcolor' => $playback_options['bgcolor'], 'swf_version' => $playback_options['swf_version'])); if ($row['mime_type'] == 'application/x-shockwave-flash') { $T->parse('playback_options', 'swf_options'); } else { $T->parse('playback_options', 'flv_options'); } } if ($row['media_mime_ext'] == 'mov' || $row['media_mime_ext'] == 'mp4' || $row['mime_type'] == 'video/quicktime' || $row['mime_type'] == 'video/mpeg') { // pull defaults, then override... $playback_options['autoref'] = $_MG_CONF['mov_autoref']; $playback_options['autoplay'] = $_MG_CONF['mov_autoplay']; $playback_options['controller'] = $_MG_CONF['mov_controller']; $playback_options['kioskmode'] = isset($_MG_CONF['mov_kioskmod']) ? $_MG_CONF['mov_kiokmode'] : ''; $playback_options['scale'] = $_MG_CONF['mov_scale']; $playback_options['loop'] = $_MG_CONF['mov_loop']; $playback_options['height'] = $_MG_CONF['mov_height']; $playback_options['width'] = $_MG_CONF['mov_width']; $playback_options['bgcolor'] = $_MG_CONF['mov_bgcolor']; for ($i = 0; $i < $poNumRows; $i++) { $poRow = DB_fetchArray($poResult); $playback_options[$poRow['option_name']] = $poRow['option_value']; } $scale_select = MG_optionlist(array('name' => 'scale', 'current' => $playback_options['scale'], 'values' => array('tofit' => $LANG_MG07['to_fit'], 'aspect' => $LANG_MG07['aspect'], '1' => $LANG_MG07['normal_size']))); $T->set_var(array('autoref_enabled' => $playback_options['autoref'] ? ' checked="checked"' : '', 'autoref_disabled' => $playback_options['autoref'] ? '' : ' checked="checked"', 'autoplay_enabled' => $playback_options['autoplay'] ? ' checked="checked"' : '', 'autoplay_disabled' => $playback_options['autoplay'] ? '' : ' checked="checked"', 'controller_enabled' => $playback_options['controller'] ? ' checked="checked"' : '', 'controller_disabled' => $playback_options['controller'] ? '' : ' checked="checked"', 'kioskmode_enabled' => $playback_options['kioskmode'] ? ' checked="checked"' : '', 'kioskmode_disabled' => $playback_options['kioskmode'] ? '' : ' checked="checked"', 'loop_enabled' => $playback_options['loop'] ? ' checked="checked"' : '', 'loop_disabled' => $playback_options['loop'] ? '' : ' checked="checked"', 'height' => $playback_options['height'], 'width' => $playback_options['width'], 'bgcolor' => $playback_options['bgcolor'])); $T->parse('playback_options', 'mov_options'); } $remoteurl = $row['remote_url']; $lang_remote_url = $row['remote_media'] == 1 ? $LANG_MG01['remote_url'] : $LANG_MG01['alternate_url']; // user information $username = ''; if (SEC_hasRights('mediagallery.admin')) { $username = '******'; $sql = "SELECT * FROM {$_TABLES['users']} WHERE status=3 AND uid > 1 ORDER BY username ASC"; $result = DB_query($sql); while ($userRow = DB_fetchArray($result)) { $username .= '<option value="' . $userRow['uid'] . '"' . ($userRow['uid'] == $row['media_user_id'] ? ' selected="selected"' : '') . '>' . $userRow['username'] . '</option>' . LB; } $username .= '</select>'; } else { if ($row['media_user_id'] != '') { $displayname = $_CONF['show_fullname'] ? 'fullname' : 'username'; $username = DB_getItem($_TABLES['users'], $displayname, "uid={$row['media_user_id']}"); } } $cat_select = '<select name="cat_id" id="cat_id">'; $cat_select .= '<option value="">' . $LANG_MG01['no_category'] . '</option>'; $result = DB_query("SELECT * FROM {$_TABLES['mg_category']} ORDER BY cat_id ASC"); while ($catRow = DB_fetchArray($result)) { $cat_select .= '<option value="' . $catRow['cat_id'] . '" ' . ($catRow['cat_id'] == $row['media_category'] ? ' selected="selected"' : '') . '>' . $catRow['cat_name'] . '</option>'; } $cat_select .= '</select>'; $T->set_var(array('original_filename' => $row['media_original_filename'], 'attach_tn' => $row['media_tn_attached'], 'at_tn_checked' => $row['media_tn_attached'] == 1 ? ' checked="checked"' : '', 'attached_thumbnail' => $attached_thumbnail, 'album_id' => $album_id, 'media_thumbnail' => $thumbnail, 'media_id' => $row['media_id'], 'media_title' => $row['media_title'], 'media_desc' => $row['media_desc'], 'media_time' => $media_time[0], 'media_views' => $row['media_views'], 'media_comments' => $row['media_comments'], 'media_exif_info' => $exif_info, 'media_rating_max' => 5, 'height' => $size[1] + 50, 'width' => $size[0] + 40, 'queue' => $mqueue, 'month_select' => $month_select, 'day_select' => $day_select, 'year_select' => $year_select, 'hour_select' => $hour_select, 'minute_select' => $minute_select, 'user_ip' => $row['media_user_ip'], 'album_select' => $album_jumpbox, 'media_rating' => $row['media_rating'] / 2, 'media_votes' => $row['media_votes'], 's_mode' => 'edit', 's_title' => $LANG_MG01['edit_media'], 's_rotate_right' => $rotate_right, 's_rotate_left' => $rotate_left, 's_form_action' => $actionURL, 'allowed_html' => COM_allowedHTML(), 'site_url' => $_MG_CONF['site_url'], 'preview' => $preview, 'preview_end' => $preview_end, 'rpath' => htmlentities($back, ENT_QUOTES, COM_getCharset()), 'remoteurl' => $remoteurl, 'lang_remote_url' => $lang_remote_url, 'resolution' => $resolution, 'lang_resolution' => $lang_resolution, 'username' => $username, 'cat_select' => $cat_select, 'media_keywords' => $row['media_keywords'], 'artist' => $row['artist'], 'musicalbum' => $row['album'], 'genre' => $row['genre'])); // language items $T->set_var(array('lang_playcount' => $LANG_MG07['playcount'], 'lang_playcount_help' => $LANG_MG07['playcount_help'], 'lang_playback_options' => $LANG_MG07['playback_options'], 'lang_option' => $LANG_MG07['option'], 'lang_description' => $LANG_MG07['description'], 'lang_on' => $LANG_MG07['on'], 'lang_off' => $LANG_MG07['off'], 'lang_auto_start' => $LANG_MG07['auto_start'], 'lang_auto_start_help' => $LANG_MG07['auto_start_help'], 'lang_height' => $LANG_MG07['height'], 'lang_width' => $LANG_MG07['width'], 'lang_height_help' => $LANG_MG07['height_help'], 'lang_width_help' => $LANG_MG07['width_help'], 'lang_enable_context_menu' => $LANG_MG07['enable_context_menu'], 'lang_enable_context_menu_help' => $LANG_MG07['enable_context_menu_help'], 'lang_stretch_to_fit' => $LANG_MG07['stretch_to_fit'], 'lang_stretch_to_fit_help' => $LANG_MG07['stretch_to_fit_help'], 'lang_status_bar' => $LANG_MG07['status_bar'], 'lang_status_bar_help' => $LANG_MG07['status_bar_help'], 'lang_ui_mode' => $LANG_MG07['ui_mode'], 'lang_ui_mode_help' => $LANG_MG07['ui_mode_help'], 'lang_bgcolor' => $LANG_MG07['bgcolor'], 'lang_bgcolor_help' => $LANG_MG07['bgcolor_help'], 'lang_loop' => $LANG_MG07['loop'], 'lang_loop_help' => $LANG_MG07['loop_help'], 'lang_menu' => $LANG_MG07['menu'], 'lang_menu_help' => $LANG_MG07['menu_help'], 'lang_scale' => $LANG_MG07['scale'], 'lang_swf_scale_help' => $LANG_MG07['swf_scale_help'], 'lang_wmode' => $LANG_MG07['wmode'], 'lang_wmode_help' => $LANG_MG07['wmode_help'], 'lang_quality' => $LANG_MG07['quality'], 'lang_quality_help' => $LANG_MG07['quality_help'], 'lang_flash_vars' => $LANG_MG07['flash_vars'], 'lang_asa' => $LANG_MG07['asa'], 'lang_asa_help' => $LANG_MG07['asa_help'], 'lang_swf_version_help' => $LANG_MG07['swf_version_help'], 'lang_auto_ref' => $LANG_MG07['auto_ref'], 'lang_auto_ref_help' => $LANG_MG07['auto_ref_help'], 'lang_controller' => $LANG_MG07['controller'], 'lang_controller_help' => $LANG_MG07['controller_help'], 'lang_kiosk_mode' => $LANG_MG07['kiosk_mode'], 'lang_kiosk_mode_help' => $LANG_MG07['kiosk_mode_help'], 'lang_original_filename' => $LANG_MG01['original_filename'], 'lang_media_item' => $LANG_MG00['media_col_header'], 'lang_media_attributes' => $LANG_MG01['media_attributes'], 'lang_mediaattributes' => $LANG_MG01['mediaattributes'], 'lang_attached_thumbnail' => $LANG_MG01['attached_thumbnail'], 'lang_category' => $LANG_MG01['category'], 'lang_keywords' => $LANG_MG01['keywords'], 'lang_rating' => $LANG_MG03['rating'], 'lang_comments' => $LANG_MG03['comments'], 'lang_votes' => $LANG_MG03['votes'], 'media_edit_title' => $LANG_MG01['media_edit'], 'media_edit_help' => $LANG_MG01['media_edit_help'], 'rotate_left' => $LANG_MG01['rotate_left'], 'rotate_right' => $LANG_MG01['rotate_right'], 'lang_title' => $LANG_MG01['title'], 'albums' => $LANG_MG01['albums'], 'description' => $LANG_MG01['description'], 'capture_time' => $LANG_MG01['capture_time'], 'views' => $LANG_MG03['views'], 'uploaded_by' => $LANG_MG01['uploaded_by'], 'submit' => $LANG_MG01['submit'], 'cancel' => $LANG_MG01['cancel'], 'reset' => $LANG_MG01['reset'], 'lang_save' => $LANG_MG01['save'], 'lang_reset' => $LANG_MG01['reset'], 'lang_cancel' => $LANG_MG01['cancel'], 'lang_delete' => $LANG_MG01['delete'], 'lang_delete_confirm' => $LANG_MG01['delete_item_confirm'], 'lang_reset_rating' => $LANG_MG01['reset_rating'], 'lang_reset_views' => $LANG_MG01['reset_views'], 'lang_replacefile' => $LANG_MG01['replace_file'], 'lang_artist' => $LANG_MG01['artist'], 'lang_genre' => $LANG_MG01['genre'], 'lang_music_album' => $LANG_MG01['music_album'])); $retval .= $T->finish($T->parse('output', 'admin')); return $retval; }
function displayThumb($s, $sortOrder, $force = 0) { global $_USER, $_CONF, $_MG_CONF, $MG_albums, $_TABLES, $_MG_USERPREFS, $LANG_MG03, $LANG_MG01, $glversion, $ratedIds; $retval = ''; $T = new Template(MG_getTemplatePath($this->album_id)); if ($MG_albums[$this->album_id]->display_columns == 1) { $media_cell_image_template = 'album_page_body_media_cell_1.thtml'; } else { $media_cell_image_template = 'album_page_body_media_cell.thtml'; } if ($force) { $media_cell_image_template = 'album_page_body_media_cell.thtml'; } $T->set_file(array('media_cell_image' => $media_cell_image_template, 'media_rate_results' => 'album_page_body_media_cell_rating.thtml', 'media_comments' => 'album_page_body_media_cell_comment.thtml', 'media_views' => 'album_page_body_media_cell_view.thtml', 'media_cell_keywords' => 'album_page_body_media_cell_keywords.thtml', 'mp3_podcast' => 'mp3_podcast.thtml')); $F = new Template($_MG_CONF['template_path']); $F->set_var('media_frame', $MG_albums[$this->album_id]->imageFrameTemplate); // --- set the default thumbnail switch ($this->type) { case 0: // standard image $default_thumbnail = 'tn/' . $this->filename[0] . '/' . $this->filename . '.' . $this->mime_ext; if (!file_exists($_MG_CONF['path_mediaobjects'] . $default_thumbnail)) { $default_thumbnail = 'tn/' . $this->filename[0] . '/' . $this->filename . '.jpg'; } break; case 1: // video file switch ($this->mime_type) { case 'video/x-flv': $default_thumbnail = 'placeholder_flv.svg'; break; case 'application/x-shockwave-flash': $default_thumbnail = 'placeholder_flash.svg'; break; case 'video/mpeg': case 'video/x-mpeg': case 'video/x-mpeq2a': if ($_MG_CONF['use_wmp_mpeg'] == 1) { $default_thumbnail = 'placeholder_video.svg'; break; } case 'video/x-motion-jpeg': case 'video/quicktime': case 'video/x-qtc': case 'audio/mpeg': case 'video/x-m4v': $default_thumbnail = 'placeholder_quicktime.svg'; break; case 'asf': case 'video/x-ms-asf': case 'video/x-ms-asf-plugin': case 'video/avi': case 'video/msvideo': case 'video/x-msvideo': case 'video/avs-video': case 'video/x-ms-wmv': case 'video/x-ms-wvx': case 'video/x-ms-wm': case 'application/x-troff-msvideo': case 'application/x-ms-wmz': case 'application/x-ms-wmd': $default_thumbnail = 'placeholder_video.svg'; break; default: $default_thumbnail = 'placeholder_video.svg'; break; } break; case 2: // music file $default_thumbnail = 'placeholder_audio.svg'; break; case 4: // other files switch ($this->mime_type) { case 'application/zip': case 'zip': case 'arj': case 'rar': case 'gz': $default_thumbnail = 'zip.png'; break; case 'pdf': case 'application/pdf': $default_thumbnail = 'placeholder_pdf.svg'; break; default: if (isset($_MG_CONF['dt'][$this->mime_ext])) { $default_thumbnail = $_MG_CONF['dt'][$this->mime_ext]; } else { switch ($this->mime_ext) { case 'pdf': $default_thumbnail = 'placeholder_pdf.svg'; break; case 'arj': $default_thumbnail = 'zip.png'; break; case 'gz': $default_thumbnail = 'zip.png'; break; default: $default_thumbnail = 'generic.png'; break; } } break; } break; case 5: case 'embed': if (preg_match("/youtube/i", $this->remote_url)) { $default_thumbnail = 'youtube.png'; } else { if (preg_match("/google/i", $this->remote_url)) { $default_thumbnail = 'googlevideo.png'; } else { $default_thumbnail = 'remote.png'; } } break; } if ($this->tn_attached == 1) { $media_thumbnail = $_MG_CONF['mediaobjects_url'] . '/' . $default_thumbnail; $media_thumbnail_file = $_MG_CONF['path_mediaobjects'] . $default_thumbnail; foreach ($_MG_CONF['validExtensions'] as $ext) { if (file_exists($_MG_CONF['path_mediaobjects'] . 'tn/' . $this->filename[0] . '/tn_' . $this->filename . $ext)) { $media_thumbnail = $_MG_CONF['mediaobjects_url'] . '/tn/' . $this->filename[0] . '/tn_' . $this->filename . $ext; $media_thumbnail_file = $_MG_CONF['path_mediaobjects'] . 'tn/' . $this->filename[0] . '/tn_' . $this->filename . $ext; break; } } } else { $media_thumbnail = $_MG_CONF['mediaobjects_url'] . '/' . $default_thumbnail; $media_thumbnail_file = $_MG_CONF['path_mediaobjects'] . $default_thumbnail; } // type == 1 video // type == 2 audio if (($this->type == 1 || $this->type == 2 || $this->type == 5) && ($MG_albums[$this->album_id]->playback_type == 0 || $MG_albums[$this->album_id]->playback_type == 1) && $_MG_CONF['popup_from_album'] == 1) { if ($MG_albums[$this->album_id]->playback_type == 0) { if ($this->type == 2) { // determine what type of player we will use (WMP, QT or Flash) $player = $_MG_CONF['mp3_player']; if (isset($_MG_USERPREFS['mp3_player']) && $_MG_USERPREFS['mp3_player'] != -1) { $player = $_MG_USERPREFS['mp3_player']; } switch ($player) { case 0: // WMP $new_y = 260; $new_x = 340; break; case 1: // QT $new_y = 25; $new_x = 350; break; case 2: $new_y = 360; $new_x = 580; break; } if ($this->mime_type == 'audio/mpeg') { $new_y = 360; $new_x = 580; } if ($this->tn_attached == 1 && $player != 2) { $tnsize = @getimagesize($media_thumbnail_file); $new_y += $tnsize[0]; if ($tnsize[1] > $new_x) { $new_x = $tnsize[1]; } } if ($MG_albums[$this->album_id]->playback_type == 0) { $url_display_item = "javascript:showVideo('" . $_MG_CONF['site_url'] . '/video.php?n=' . $this->id . "'," . $new_y . ',' . $new_x . ')'; } else { $url_display_item = $_MG_CONF['site_url'] . '/download.php?mid=' . $this->id; } $resolution_x = $new_x; $resolution_y = $new_y; } else { // must be a video... // set the default playback options... $playback_options['play'] = $_MG_CONF['swf_play']; $playback_options['menu'] = $_MG_CONF['swf_menu']; $playback_options['quality'] = $_MG_CONF['swf_quality']; $playback_options['height'] = $_MG_CONF['swf_height']; $playback_options['width'] = $_MG_CONF['swf_width']; $playback_options['loop'] = $_MG_CONF['swf_loop']; $playback_options['scale'] = $_MG_CONF['swf_scale']; $playback_options['wmode'] = $_MG_CONF['swf_wmode']; $playback_options['allowscriptaccess'] = $_MG_CONF['swf_allowscriptaccess']; $playback_options['bgcolor'] = $_MG_CONF['swf_bgcolor']; $playback_options['swf_version'] = $_MG_CONF['swf_version']; $playback_options['flashvars'] = $_MG_CONF['swf_flashvars']; $poResult = DB_query("SELECT * FROM {$_TABLES['mg_playback_options']} WHERE media_id='" . DB_escapeString($this->id) . "'"); while ($poRow = DB_fetchArray($poResult)) { $playback_options[$poRow['option_name']] = $poRow['option_value']; } if ($this->resolution_x > 0) { $resolution_x = $this->resolution_x; $resolution_y = $this->resolution_y; } else { if ($this->media_resolution_x == 0 && $this->remote_media != 1) { $size = @filesize($_MG_CONF['path_mediaobjects'] . 'orig/' . $this->filename[0] . '/' . $this->filename . '.' . $this->mime_ext); // skip files over 8M in size.. if ($size < 8388608) { $ThisFileInfo = IMG_getMediaMetaData($_MG_CONF['path_mediaobjects'] . 'orig/' . $this->filename[0] . '/' . $this->filename . '.' . $this->mime_ext); if ($ThisFileInfo['video']['resolution_x'] < 1 || $ThisFileInfo['video']['resolution_y'] < 1) { if (isset($ThisFileInfo['meta']['onMetaData']['width']) && isset($ThisFileInfo['meta']['onMetaData']['height'])) { $resolution_x = $ThisFileInfo['meta']['onMetaData']['width']; $resolution_y = $ThisFileInfo['meta']['onMetaData']['height']; } else { $resolution_x = -1; $resolution_y = -1; } } else { $resolution_x = $ThisFileInfo['video']['resolution_x']; $resolution_y = $ThisFileInfo['video']['resolution_y']; } if ($resolution_x != 0) { $sql = "UPDATE " . $_TABLES['mg_media'] . " SET media_resolution_x=" . intval($resolution_x) . ",media_resolution_y=" . intval($resolution_y) . " WHERE media_id='" . DB_escapeString($this->id) . "'"; DB_query($sql, 1); } } } else { $resolution_x = $this->resolution_x; $resolution_y = $this->resolution_y; } } $resolution_x = $playback_options['width']; $resolution_y = $playback_options['height']; if ($resolution_x < 1 || $resolution_y < 1) { $resolution_x = 480; $resolution_y = 320; } else { $resolution_x = $resolution_x + 40; $resolution_y = $resolution_y + 40; } if ($this->mime_type == 'video/x-flv' && $_MG_CONF['use_flowplayer'] != 1) { $resolution_x = $resolution_x + 60; if ($resolution_x < 590) { $resolution_x = 590; } $resolution_y = $resolution_y + 80; if ($resolution_y < 500) { $resolution_y = 500; } } if ($this->type == 5) { $resolution_x = 460; $resolution_y = 380; } $url_display_item = "javascript:showVideo('" . $_MG_CONF['site_url'] . '/video.php?n=' . $this->id . "'," . $resolution_y . ',' . $resolution_x . ')'; } } else { $url_display_item = $_MG_CONF['site_url'] . '/download.php?mid=' . $this->id; } // check to see if comments and rating are enabled, if not, put a link to edit... if ($MG_albums[$this->album_id]->access == 3) { $T->set_var(array('edit_link' => '<br/><a href="' . $_MG_CONF['site_url'] . '/admin.php?mode=mediaedit&s=1&album_id=' . $this->album_id . '&mid=' . $this->id . '">' . $LANG_MG01['edit'] . '</a>')); } else { $T->set_var(array('edit_link' => '')); } } else { if ($MG_albums[$this->album_id]->useAlternate == 1 && $this->type != 5 && !empty($this->remote_url)) { $url_display_item = $this->remote_url; } else { $url_display_item = $_MG_CONF['site_url'] . '/media.php?f=0' . '&sort=' . $sortOrder . '&s=' . $this->id; } } if ($this->type == 4) { // other $url_display_item = $_MG_CONF['site_url'] . '/download.php?mid=' . $this->id; } if (strstr($media_thumbnail_file, '.svg')) { $media_size = array($MG_albums[$this->album_id]->tnWidth, $MG_albums[$this->album_id]->tnHeight); } else { $media_size = @getimagesize($media_thumbnail_file); } if ($media_size == false) { if ($this->type == 2) { $default_thumbnail = 'placeholder_audio.svg'; } else { $default_thumbnail = 'placeholder.svg'; } $media_thumbnail = $_MG_CONF['mediaobjects_url'] . '/' . $default_thumbnail; $media_thumbnail_file = $_MG_CONF['path_mediaobjects'] . $default_thumbnail; $media_size = array($tn_width, $tn_height); //@getimagesize($media_thumbnail_file); } $media_time = MG_getUserDateTimeFormat($this->time); $upload_time = MG_getUserDateTimeFormat($this->upload_time); $url_media_item = $url_display_item; // -- decide what thumbnail size to use, small, medium, large... if (isset($_MG_USERPREFS['tn_size']) && $_MG_USERPREFS['tn_size'] != -1) { $tn_size = $_MG_USERPREFS['tn_size']; } else { $tn_size = $MG_albums[$this->album_id]->tn_size; } switch ($tn_size) { case '0': //small $tn_height = 100; $tn_width = 100; break; case '1': //medium $tn_height = 150; $tn_width = 150; break; case '2': $tn_height = 200; $tn_width = 200; break; case '3': case '4': $tn_height = $MG_albums[$this->album_id]->tnHeight; $tn_width = $MG_albums[$this->album_id]->tnWidth; if ($tn_height == 0) { $tn_height = 200; } if ($tn_width == 0) { $tn_width = 200; } break; default: $tn_height = 150; $tn_width = 150; break; } if ($media_size[0] > $media_size[1]) { // landscape $ratio = $media_size[0] / $tn_width; $newwidth = $tn_width; $newheight = round($media_size[1] / $ratio); } else { $ratio = $media_size[1] / $tn_height; if ($ratio == 0) { $newheight = $tn_height; $newwidth = $tn_width; } else { $newheight = $tn_height; $newwidth = round($media_size[0] / $ratio); } } if ($media_size[0] > $media_size[1]) { $ratio = $media_size[0] / 50; $smallwidth = 50; $smallheight = round($media_size[1] / $ratio); } else { $ratio = $media_size[1] / 50; if ($ratio == 0) { $smallheight = 50; $smallwidth = 50; } else { $smallheight = 50; $smallwidth = round($media_size[0] / $ratio); } } if ($this->owner_id != "" && $this->owner_id > 1) { $username = DB_getItem($_TABLES['users'], 'username', "uid=" . intval($this->owner_id)); } else { $username = '******'; } if (!isset($resolution_x)) { $resolution_x = $newwidth; } if (!isset($resolution_y)) { $resolution_y = $newheight; } if ($this->mime_type == 'audio/mpeg' && $MG_albums[$this->album_id]->mp3ribbon) { $T->set_var(array('mp3_file' => $_MG_CONF['mediaobjects_url'] . '/orig/' . $this->filename[0] . '/' . $this->filename . '.' . $this->mime_ext, 'site_url' => $_MG_CONF['site_url'], 'id' => $this->mime_ext . rand())); $T->parse('mp3_podcast', 'mp3_podcast'); } else { $T->set_var(array('mp3_podcast' => '')); } /* * build the small rating bar * */ if ($MG_albums[$this->album_id]->enable_rating > 0) { $uid = COM_isAnonUser() ? 1 : $_USER['uid']; $static = false; // check to see if we are the owner, if so, no rating for us... if (isset($_USER['uid']) && $_USER['uid'] == $this->owner_id) { $static = true; $voted = 0; } else { if (in_array($this->id, $ratedIds)) { $static = true; $voted = 1; } else { $static = 0; $voted = 0; } } if ($MG_albums[$this->album_id]->enable_rating == 1 && COM_isAnonUser()) { $static = true; } if ($_MG_CONF['use_large_stars'] == 1) { $starSize = ''; } else { $starSize = 'sm'; } $rating_box = RATING_ratingBar('mediagallery', $this->id, $this->votes, $this->rating, $voted, 5, $static, $starSize); } else { $rating_box = ''; } $T->set_var('rating_box', '<center>' . $rating_box . '</center>'); $fs_bytes = @filesize($_MG_CONF['path_mediaobjects'] . 'orig/' . $this->filename[0] . '/' . $this->filename . '.' . $this->mime_ext); $fileSize = MG_get_size($fs_bytes); $direct_url = 'disp/' . $this->filename[0] . '/' . $this->filename . '.' . $this->mime_ext; if (!file_exists($_MG_CONF['path_mediaobjects'] . $direct_url)) { $direct_url = 'disp/' . $this->filename[0] . '/' . $this->filename . '.jpg'; } if ($MG_albums[$this->album_id]->access == 3) { $edit_item = '<a href="' . $_MG_CONF['site_url'] . '/admin.php?mode=mediaedit&s=1&album_id=' . $this->album_id . '&mid=' . $this->id . '">' . $LANG_MG01['edit'] . '</a>'; } else { $edit_item = ''; } $L = new Template(MG_getTemplatePath($this->album_id)); $L->set_file('media_link', 'medialink.thtml'); $L->set_var('href', $url_media_item); if ($this->type == 0) { if ($this->remote == 1) { $L->set_var('hrefdirect', $this->remote_url); } else { $L->set_var('hrefdirect', $_MG_CONF['mediaobjects_url'] . '/' . $direct_url); } } $caption = PLG_replaceTags(str_replace('$', '$', $this->title), 'mediagallery', 'media_description'); if ($this->owner_id == $_USER['uid'] || SEC_hasRights('mediagallery.admin')) { $caption .= '<br />(' . $this->id . ')'; } $L->set_var('caption', $caption); $L->set_var('id', 'id' . rand()); $L->parse('media_link_start', 'media_link'); $media_start_link = $L->finish($L->get_var('media_link_start')); $T->set_var(array('play_now' => '', 'download_now' => $_MG_CONF['site_url'] . '/download.php?mid=' . $this->id, 'play_in_popup' => "javascript:showVideo('" . $_MG_CONF['site_url'] . '/video.php?n=' . $this->id . "'," . $resolution_y . ',' . $resolution_x . ')', 'row_height' => $tn_height + 40, 'media_title' => PLG_replaceTags($this->title, 'mediagallery', 'media_title'), 'media_description' => PLG_replaceTags(nl2br($this->description), 'mediagallery', 'media_description'), 'media_tag' => strip_tags($this->title), 'media_time' => $media_time[0], 'upload_time' => $upload_time[0], 'media_owner' => $username, 'site_url' => $_MG_CONF['site_url'], 'lang_published' => $LANG_MG03['published'], 'lang_on' => $LANG_MG03['on'], 'lang_hyphen' => $this->album == '' ? '' : '-', 'media_link_start' => $media_start_link, 'media_link_end' => '</a>', 'artist' => $this->artist, 'musicalbum' => $this->album != '' ? $this->album : '', 'genre' => $this->genre != '' ? $this->genre : '', 'alt_edit_link' => $edit_item, 'filesize' => $fileSize, 'media_id' => $this->id, 'raw_media_thumbnail' => $media_thumbnail, 'display_url' => $url_media_item)); // frame template variables $F->set_var(array('media_id' => $this->id, 'media_link_start' => $media_start_link, 'media_link_end' => '</a>', 'url_media_item' => $url_media_item, 'url_display_item' => $url_display_item, 'media_thumbnail' => $media_thumbnail, 'media_size' => 'width="' . $newwidth . '" height="' . $newheight . '"', 'media_height' => $newheight, 'media_width' => $newwidth, 'border_width' => $newwidth + 15, 'border_height' => $newheight + 15, 'row_height' => $tn_height + 40, 'frWidth' => $newwidth - $MG_albums[$this->album_id]->frWidth, 'frHeight' => $newheight - $MG_albums[$this->album_id]->frHeight, 'media_tag' => strip_tags($this->description), 'filesize' => $fileSize)); $F->parse('media', 'media_frame'); $media_item_thumbnail = $F->finish($F->get_var('media')); $T->set_var(array('media_item_thumbnail' => $media_item_thumbnail, 'url_media_item' => $url_media_item, 'url_display_item' => $url_display_item, 'media_thumbnail' => $media_thumbnail, 'media_size' => 'width="' . $newwidth . '" height="' . $newheight . '"')); if ($MG_albums[$this->album_id]->enable_keywords) { if (!empty($this->keywords)) { $kwText = ''; $keyWords = array(); $keyWords = explode(' ', $this->keywords); $numKeyWords = count($keyWords); for ($i = 0; $i < $numKeyWords; $i++) { $keyWords[$i] = str_replace('"', ' ', $keyWords[$i]); $searchKeyword = $keyWords[$i]; $keyWords[$i] = str_replace('_', ' ', $keyWords[$i]); $kwText .= '<a href="' . $_MG_CONF['site_url'] . '/search.php?mode=search&swhere=1&keywords=' . $searchKeyword . '&keyType=any">' . $keyWords[$i] . '</a> '; } $T->set_var(array('media_keywords' => $kwText, 'lang_keywords' => $LANG_MG01['keywords'])); $T->parse('media_cell_keywords', 'media_cell_keywords'); } else { $T->set_var('lang_keywords', ''); } } else { $T->set_var(array('media_cell_keywords' => '', 'lang_keywords' => '')); } if ($MG_albums[$this->album_id]->enable_rating) { $rating = $LANG_MG03['rating'] . ': <strong> ' . $this->rating / 2 . '</strong>/5 (' . $this->votes . ' ' . $LANG_MG03['votes'] . ')'; $T->set_var('media_rating', $rating); $T->parse('media_rate_results', 'media_rate_results'); } if ($MG_albums[$this->album_id]->enable_comments) { if ($this->type == 4 || $this->type == 1 && $MG_albums[$this->album_id]->playback_type != 2 || $this->type == 2 && $MG_albums[$this->album_id]->playback_type != 2 || $this->type == 5 && $MG_albums[$this->album_id]->playback_type != 2) { $cmtLink = '<a href="' . $_MG_CONF['site_url'] . '/media.php?f=0' . '&sort=' . $sortOrder . '&s=' . $this->id . '">' . $LANG_MG03['comments'] . '</a>'; $cmtLink_alt = ''; } else { $cmtLink = $LANG_MG03['comments']; $cmtLink_alt = '<a href="' . $_MG_CONF['site_url'] . '/media.php?f=0' . '&sort=' . $sortOrder . '&s=' . $this->id . '">' . $LANG_MG03['comments'] . '</a>'; } $T->set_var(array('media_comments_count' => $this->comments, 'lang_comments' => $cmtLink, 'lang_comments_hot' => $cmtLink_alt)); $T->parse('media_comments', 'media_comments'); } if ($MG_albums[$this->album_id]->enable_views) { $T->set_var(array('media_views_count' => $this->views, 'lang_views' => $LANG_MG03['views'])); $T->parse('media_views', 'media_views'); } $T->set_var(array('max-width' => $tn_width)); PLG_templateSetVars('mediagallery', $T); $T->parse('media_cell', 'media_cell_image'); $retval = $T->finish($T->get_var('media_cell')); return $retval; }
function MG_index() { global $_USER, $_MG_CONF, $_CONF, $_TABLES, $MG_albums, $LANG_MG00, $LANG_MG01, $LANG_MG02, $LANG_MG03, $themeStyle; $display = ''; $media_size = false; $page = 0; if (isset($_GET['page'])) { $page = COM_applyFilter($_GET['page'], true); } if ($page != 0) { $page = $page - 1; } $themeStyle = MG_getThemeCSS(0); if (!isset($_MG_CONF['album_display_columns']) || $_MG_CONF['album_display_columns'] < 1) { $_MG_CONF['album_display_columns'] = 1; } switch ($_MG_CONF['album_display_columns']) { case 1: $albumListTemplate = 'gallery_page_body_1.thtml'; $albumColumnWidth = "100%"; break; case 2: $albumListTemplate = 'gallery_page_body_2.thtml'; $albumColumnWidth = "50%"; break; default: $albumListTemplate = 'gallery_page_body_3.thtml'; $albumColumnWidth = @intval(100 / $_MG_CONF['album_display_columns']) . '%'; if ($albumColumnWidth == 0) { $albumColumnWidth = "25%"; } break; } $T = new Template(MG_getTemplatePath(0)); $T->set_file(array('page' => 'gallery_page.thtml', 'body' => $albumListTemplate, 'noitems' => 'gallery_page_noitems.thtml')); $T->set_var(array('lang_menulabel' => $_MG_CONF['menulabel'], 'lang_search' => $LANG_MG01['search'], 'site_url' => $_MG_CONF['site_url'])); if ($_MG_CONF['rss_full_enabled']) { $feedUrl = MG_getFeedUrl($_MG_CONF['rss_feed_name'] . '.rss'); $rsslink = '<a href="' . $feedUrl . '"' . ' type="application/rss+xml">'; $rsslink .= '<img src="' . MG_getImageFile('feed.png') . '" alt="" style="border:none;"/></a>'; $T->set_var('rsslink', $rsslink); $T->set_var('rsslink_url', $feedUrl); } else { $T->set_var('rsslink', ''); } $nFrame = new mgFrame(); $nFrame->constructor($_MG_CONF['indexskin']); $MG_albums[0]->albumFrameTemplate = $nFrame->getTemplate(); $MG_albums[0]->afrWidth = $nFrame->frame['wHL'] + $nFrame->frame['wHR']; $MG_albums[0]->afrHeight = $nFrame->frame['hVT'] + $nFrame->frame['hVB']; // Let's build our admin menu options $showAdminBox = 0; $admin_box_item = ''; $admin_box = '<form name="adminbox" id="adminbox" action="' . $_MG_CONF['site_url'] . '/admin.php" method="get" style="margin:0;padding:0;">' . LB; $admin_box .= '<div>'; $admin_box .= '<select onchange="javascript:forms[\'adminbox\'].submit();" name="mode">' . LB; $admin_box_item .= '<option label="' . $LANG_MG01['options'] . '" value="">' . $LANG_MG01['options'] . '</option>' . LB; if (($MG_albums[0]->member_uploads || $MG_albums[0]->access == 3) && !COM_isAnonUser()) { $admin_box_item .= '<option value="upload">' . $LANG_MG01['add_media'] . '</option>' . LB; $showAdminBox = 1; } if ($MG_albums[0]->owner_id) { $admin_box_item .= '<option value="albumsort">' . $LANG_MG01['sort_albums'] . '</option>' . LB; $admin_box_item .= '<option value="globalattr">' . $LANG_MG01['globalattr'] . '</option>' . LB; $admin_box_item .= '<option value="globalperm">' . $LANG_MG01['globalperm'] . '</option>' . LB; $queue_count = DB_count($_TABLES['mg_media_album_queue']); $admin_box_item .= '<option value="moderate">' . $LANG_MG01['media_queue'] . ' (' . $queue_count . ')</option>' . LB; $admin_box_item .= '<option value="wmmanage">' . $LANG_MG01['wm_management'] . '</option>' . LB; $admin_box_item .= '<option value="create">' . $LANG_MG01['create_album'] . '</option>' . LB; $showAdminBox = 1; } elseif ($MG_albums[0]->access == 3) { $admin_box_item .= '<option value="create">' . $LANG_MG01['create_album'] . '</option>' . LB; $showAdminBox = 1; } elseif ($_MG_CONF['member_albums'] == 1 && !COM_isAnonUser() && $_MG_CONF['member_album_root'] == 0 && $_MG_CONF['member_create_new']) { $admin_box_item .= '<option value="create">' . $LANG_MG01['create_album'] . '</option>' . LB; $showAdminBox = 1; } $admin_box .= $admin_box_item; $admin_box .= '</select>' . LB; $admin_box .= '<input type="hidden" name="album_id" value="0"/>' . LB; $admin_box .= ' <input type="submit" value="' . $LANG_MG03['go'] . '"/>' . LB; $admin_box .= '</div>'; $admin_box .= '</form>'; // build ul $admin_menu = ''; $showAdminMenu = 0; $admin_url = $_MG_CONF['site_url'] . '/admin.php?album_id=0'; if (($MG_albums[0]->member_uploads || $MG_albums[0]->access == 3) && !COM_isAnonUser()) { $admin_menu .= '<li><a href="' . $admin_url . '&mode=upload">' . $LANG_MG01['add_media'] . '</a></li>'; $showAdminMenu = 1; } if ($MG_albums[0]->owner_id) { $admin_menu .= '<li><a href="' . $admin_url . '&mode=albumsort">' . $LANG_MG01['sort_albums'] . '</a></li>'; $admin_menu .= '<li><a href="' . $admin_url . '&mode=globalattr">' . $LANG_MG01['globalattr'] . '</a></li>' . LB; $admin_menu .= '<li><a href="' . $admin_url . '&mode=globalperm">' . $LANG_MG01['globalperm'] . '</a></li>' . LB; $queue_count = DB_count($_TABLES['mg_media_album_queue']); $admin_menu .= '<li><a href="' . $admin_url . '&mode=moderate">' . $LANG_MG01['media_queue'] . ' (' . $queue_count . ')</a></li>' . LB; $admin_menu .= '<li><a href="' . $admin_url . '&mode=wmmanage">' . $LANG_MG01['wm_management'] . '</a></li>' . LB; $admin_menu .= '<li><a href="' . $admin_url . '&mode=create">' . $LANG_MG01['create_album'] . '</a></li>' . LB; $showAdminMenu = 1; } elseif ($MG_albums[0]->access == 3) { $admin_Menu .= '<li><a href="' . $abmin_url . '&mode=create">' . $LANG_MG01['create_album'] . '</a></li>' . LB; $showAdminMenu = 1; } elseif ($_MG_CONF['member_albums'] == 1 && !COM_isAnonUser() && $_MG_CONF['member_album_root'] == 0 && $_MG_CONF['member_create_new']) { $admin_menu .= '<li><a href="' . $admin_url . '&mode=create">' . $LANG_MG01['create_album'] . '</a></li>' . LB; $showAdminMenu = 1; } // end of ul if ($showAdminBox == 0) { $admin_box = ''; $admin_box_item = ''; } if ($showAdminMenu == 1) { $T->set_var('admin_menu', $admin_menu); } $T->set_var('select_adminbox', $admin_box); $T->set_var('select_box_items', $admin_box_item); $album_count = 0; $width = intval(100 / $_MG_CONF['album_display_columns']); $rowcounter = 0; $albumCount = 0; $indexCounter = 0; if (COM_isAnonUser()) { $lastlogin = time(); } else { if (!COM_isAnonUser()) { $lastlogin = $_USER['lastlogin']; } else { $lastlogin = time(); } } $children = $MG_albums[0]->getChildren(); $nrows = count($children); $checkCounter = 0; $aCount = 0; $achild = array(); for ($i = 0; $i < $nrows; $i++) { $access = $MG_albums[$children[$i]]->access; if ($access == 0 || $MG_albums[$children[$i]]->hidden == 1 && $access != 3) { // no op } else { $achild[] = $MG_albums[$children[$i]]->id; $aCount++; } } if ($_MG_CONF['album_display_rows'] < 1) { $_MG_CONF['album_display_rows'] = 9; } $items_per_page = $_MG_CONF['album_display_columns'] * $_MG_CONF['album_display_rows']; $begin = $items_per_page * $page; $end = $items_per_page; $nrows = count($achild); $indexCounter = $begin; $noParse = 0; $needFinalParse = 0; if ($nrows > 0) { $k = 0; $T->set_block('body', 'AlbumColumn', 'AColumn'); $T->set_block('body', 'AlbumRow', 'ARow'); for ($i = $begin; $i < $begin + $items_per_page; $i += $_MG_CONF['album_display_columns']) { for ($j = $i; $j < $i + $_MG_CONF['album_display_columns']; $j++) { $album_last_image = $_MG_CONF['mediaobjects_url'] . '/placeholder.svg'; if ($j >= $nrows) { $k = $i + $_MG_CONF['album_display_columns'] - $j; $m = $k % $_MG_CONF['album_display_columns']; for ($z = $m; $z > 0; $z--) { $needFinalParse = 1; } if ($needFinalParse == 1) { $T->parse('ARow', 'AlbumRow', true); $T->set_var('AColumn', ''); } $noParse = 1; break; } $access = $MG_albums[$achild[$indexCounter]]->access; if ($access == 0 || $MG_albums[$achild[$indexCounter]]->hidden == 1 && $access != 3) { $j--; $indexCounter++; continue; } $albumCount++; if ($MG_albums[$achild[$indexCounter]]->media_count > 0) { if ($MG_albums[$achild[$indexCounter]]->cover_filename != '' && $MG_albums[$achild[$indexCounter]]->cover_filename != '0') { $album_last_update = MG_getUserDateTimeFormat($MG_albums[$achild[$indexCounter]]->last_update); if (substr($MG_albums[$achild[$indexCounter]]->cover_filename, 0, 3) == 'tn_') { $offset = 3; } else { $offset = 0; } foreach ($_MG_CONF['validExtensions'] as $ext) { if (file_exists($_MG_CONF['path_mediaobjects'] . 'tn/' . $MG_albums[$achild[$indexCounter]]->cover_filename[$offset] . '/' . $MG_albums[$achild[$indexCounter]]->cover_filename . $ext)) { $album_last_image = $_MG_CONF['mediaobjects_url'] . '/tn/' . $MG_albums[$achild[$indexCounter]]->cover_filename[$offset] . '/' . $MG_albums[$achild[$indexCounter]]->cover_filename . $ext; $media_size = @getimagesize($_MG_CONF['path_mediaobjects'] . 'tn/' . $MG_albums[$achild[$indexCounter]]->cover_filename[$offset] . '/' . $MG_albums[$achild[$indexCounter]]->cover_filename . $ext); break; } } $album_media_count = $MG_albums[$achild[$indexCounter]]->media_count; if (!COM_isAnonUser()) { if ($MG_albums[$achild[$indexCounter]]->last_update > $lastlogin) { $album_last_update[0] = '<font color="red">' . $album_last_update[0] . '</font>'; } } $T->set_var(array('updated_prompt' => $_MG_CONF['dfid'] == '99' ? '' : $LANG_MG03['updated_prompt'])); } else { $album_media_count = $MG_albums[$achild[$indexCounter]]->media_count; $album_last_update = MG_getUserDateTimeFormat($MG_albums[$achild[$indexCounter]]->last_update); $filename = $MG_albums[$achild[$indexCounter]]->findCover(); if ($filename == '') { $album_last_image = $_MG_CONF['mediaobjects_url'] . '/placeholder.svg'; $media_size = array(200, 200); } else { if (substr($filename, 0, 3) == 'tn_') { $offset = 3; } else { $offset = 0; } foreach ($_MG_CONF['validExtensions'] as $ext) { if (file_exists($_MG_CONF['path_mediaobjects'] . 'tn/' . $filename[$offset] . '/' . $filename . $ext)) { $album_last_image = $_MG_CONF['mediaobjects_url'] . '/tn/' . $filename[$offset] . '/' . $filename . $ext; $media_size = @getimagesize($_MG_CONF['path_mediaobjects'] . 'tn/' . $filename[$offset] . '/' . $filename . $ext); break; } } } $T->set_var(array('updated_prompt' => $_MG_CONF['dfid'] == '99' ? '' : $LANG_MG03['updated_prompt'])); } } else { // nothing in the album yet... // here we need to search the sub-albums if any and see if we can find a picture.... $album_media_count = 0; $album_last_update[0] = ""; $filename = $MG_albums[$achild[$indexCounter]]->findCover(); if ($filename == '') { $album_last_image = $_MG_CONF['mediaobjects_url'] . '/placeholder.svg'; $media_size = array(200, 200); } else { foreach ($_MG_CONF['validExtensions'] as $ext) { if (file_exists($_MG_CONF['path_mediaobjects'] . 'tn/' . $filename[0] . '/' . $filename . $ext)) { $album_last_image = $_MG_CONF['mediaobjects_url'] . '/tn/' . $filename[0] . '/' . $filename . $ext; $media_size = @getimagesize($_MG_CONF['path_mediaobjects'] . 'tn/' . $filename[0] . '/' . $filename . $ext); break; } } } $T->set_var('updated_prompt', ''); } $T->clear_var(array('lang_views', 'views')); if ($MG_albums[$achild[$indexCounter]]->enable_album_views) { $T->set_var(array('lang_views' => $LANG_MG03['views'], 'views' => $MG_albums[$achild[$indexCounter]]->views)); } if ($MG_albums[$achild[$indexCounter]]->tn_attached == 1) { $media_size = false; foreach ($_MG_CONF['validExtensions'] as $ext) { if (file_exists($_MG_CONF['path_mediaobjects'] . 'covers/cover_' . $MG_albums[$achild[$indexCounter]]->id . $ext)) { $album_last_image = $_MG_CONF['mediaobjects_url'] . '/covers/cover_' . $MG_albums[$achild[$indexCounter]]->id . $ext; $media_size = @getimagesize($_MG_CONF['path_mediaobjects'] . 'covers/cover_' . $MG_albums[$achild[$indexCounter]]->id . $ext); break; } } } // a little fail safe here to make sure we don't show empty boxes... if ($media_size === false || $media_size[0] == 0 || $media_size[1] == 0) { $album_last_image = $_MG_CONF['mediaobjects_url'] . '/placeholder.svg'; $media_size = array(200, 200); } // set the image size here... switch ($_MG_CONF['gallery_tn_size']) { case '0': //small $tn_height = 100; $tn_width = 100; break; case '1': //medium $tn_height = 150; $tn_width = 150; break; case '2': $tn_height = 200; $tn_width = 200; break; case '3': $tn_height = $_MG_CONF['gallery_tn_height']; $tn_width = $_MG_CONF['gallery_tn_width']; break; default: $tn_height = 200; $tn_width = 200; break; } if ($media_size[0] > $media_size[1]) { $ratio = $media_size[0] / $tn_height; $newwidth = $tn_height; $newheight = @round($media_size[1] / $ratio); } else { $ratio = $media_size[1] / $tn_height; $newheight = $tn_height; $newwidth = @round($media_size[0] / $ratio); } // pull the sub-album info here $subAlbumDisplay = ''; if (isset($_MG_CONF['subalbum_select']) && $_MG_CONF['subalbum_select'] == 1) { $subAlbumDisplay = '<form name="subalbums' . $MG_albums[$achild[$indexCounter]]->id . '" action="' . $_MG_CONF['site_url'] . '/album.php' . '" method="get" style="margin:0;padding:0">'; $subAlbumDisplay .= '<select name="aid" onchange="forms[\'subalbums' . $MG_albums[$achild[$indexCounter]]->id . '\'].submit()">'; $subAlbumDisplay .= '<optgroup label="' . $LANG_MG01['select_subalbum'] . '">' . LB; } $saRows = 0; $T->clear_var(array('lang_subalbums', 'subalbumcount', 'subalbumlist')); if (!empty($MG_albums[$achild[$indexCounter]]->children)) { $SAchildren = $MG_albums[$achild[$indexCounter]]->getChildren(); foreach ($SAchildren as $SAchild) { if ($MG_albums[$SAchild]->access > 0) { if ($MG_albums[$SAchild]->hidden) { if ($MG_albums[$SAchild]->access == 3) { $mediaCount = $MG_albums[$SAchild]->getMediaCount(); if ($_MG_CONF['subalbum_select'] == 1) { if (strlen($MG_albums[$SAchild]->title) > 50) { $aTitle = substr($MG_albums[$SAchild]->title, 0, 50) . '...'; } else { $aTitle = $MG_albums[$SAchild]->title; } $subAlbumDisplay .= '<option value="' . $MG_albums[$SAchild]->id . '">' . $aTitle . ' (' . $mediaCount . ')</option>'; } else { $subAlbumDisplay .= '<li><a href="' . $_MG_CONF['site_url'] . '/album.php?aid=' . $MG_albums[$SAchild]->id . '&page=1' . '">' . $MG_albums[$SAchild]->title . ' (' . $mediaCount . ')</a></li>'; } $saRows++; } } else { $mediaCount = $MG_albums[$SAchild]->getMediaCount(); if ($_MG_CONF['subalbum_select'] == 1) { if (strlen($MG_albums[$SAchild]->title) > 50) { $aTitle = substr($MG_albums[$SAchild]->title, 0, 50) . '...'; } else { $aTitle = $MG_albums[$SAchild]->title; } $subAlbumDisplay .= '<option value="' . $MG_albums[$SAchild]->id . '">' . $aTitle . ' (' . $mediaCount . ')</option>'; } else { $subAlbumDisplay .= '<li><a href="' . $_MG_CONF['site_url'] . '/album.php?aid=' . $MG_albums[$SAchild]->id . '&page=1' . '">' . $MG_albums[$SAchild]->title . ' (' . $mediaCount . ')</a></li>'; } $saRows++; } } } if ($_MG_CONF['subalbum_select'] == 1) { $subAlbumDisplay .= '</optgroup></select>'; $subAlbumDisplay .= ' <input type="submit" value="' . $LANG_MG03['go'] . '" />'; $subAlbumDisplay .= '<input type="hidden" name="page" value="1"/>'; $subAlbumDisplay .= '</form>'; } if ($_MG_CONF['album_display_columns'] > 1 && $_MG_CONF['subalbum_select'] != 1) { $T->set_var(array('subalbumlist' => '<span style="font-weight:bold;">' . $LANG_MG01['subalbums'] . '</span> (' . $saRows . ')')); } else { $T->set_var(array('lang_subalbums' => $LANG_MG01['subalbums'], 'subalbumcount' => '(' . $saRows . ')', 'subalbumlist' => $subAlbumDisplay)); } } if ($saRows == 0) { $T->clear_var(array('lang_subalbums', 'subalbumcount', 'subalbumlist')); } $T->clear_var(array('saulstart', 'saulend')); if ($saRows > 0 && $_MG_CONF['subalbum_select'] != 1) { $T->set_var(array('saulstart' => '<ul>', 'saulend' => '</ul>')); } // now pull the total image count for all sub albums... $total_images_subalbums = $MG_albums[$achild[$indexCounter]]->getMediaCount(); $owner_id = $MG_albums[$achild[$indexCounter]]->owner_id; if ($owner_id == '' || !isset($MG_albums[$achild[$indexCounter]]->owner_id)) { $owner_id = 0; } $ownername = DB_getItem($_TABLES['users'], 'username', "uid=" . intval($owner_id)); $F = new Template($_MG_CONF['template_path']); $F->set_var('media_frame', $MG_albums[0]->albumFrameTemplate); $F->set_var(array('border_width' => $newwidth + 20, 'border_height' => $newheight + 20, 'media_link_start' => '<a href="' . $_MG_CONF['site_url'] . '/album.php?aid=' . $MG_albums[$achild[$indexCounter]]->id . '&page=1' . '">', 'media_link_end' => '</a>', 'url_media_item' => $_MG_CONF['site_url'] . '/album.php?aid=' . $MG_albums[$achild[$indexCounter]]->id . '&page=1', 'media_thumbnail' => $album_last_image, 'media_size' => 'width="' . $newwidth . '" height="' . $newheight . '"', 'media_height' => $newheight, 'media_width' => $newwidth, 'media_tag' => strip_tags($MG_albums[$achild[$indexCounter]]->title), 'frWidth' => $newwidth - $MG_albums[0]->afrWidth, 'frHeight' => $newheight - $MG_albums[0]->afrHeight)); $F->parse('media', 'media_frame'); $media_item_thumbnail = $F->finish($F->get_var('media')); $T->set_var(array('media_item_thumbnail' => $media_item_thumbnail, 'class' => $rowcounter % 2, 'table_column_width' => 'width="' . $width . '%"', 'album_id' => $MG_albums[$achild[$indexCounter]]->id, 'album_title' => PLG_replaceTags($MG_albums[$achild[$indexCounter]]->title, 'mediagallery', 'album_title'), 'album_desc' => $MG_albums[$achild[$indexCounter]]->description == '' ? '' : PLG_replaceTags($MG_albums[$achild[$indexCounter]]->description, 'mediagallery', 'album_description'), 'album_media_count' => $album_media_count, 'subalbum_media_count' => $total_images_subalbums, 'album_owner' => $ownername, 'album_last_update' => $album_last_update[0], 'column_width' => $albumColumnWidth, 'column_width2' => $tn_height + 35 . 'px', 'lang_album' => $LANG_MG00['album'], 'border_width' => $newwidth + 20, 'border_height' => $newheight + 20, 'media_link_start' => '<a href="' . $_MG_CONF['site_url'] . '/album.php?aid=' . $MG_albums[$achild[$indexCounter]]->id . '&page=1' . '">', 'media_link_end' => '</a>', 'url_media_item' => $_MG_CONF['site_url'] . '/album.php?aid=' . $MG_albums[$achild[$indexCounter]]->id . '&page=1', 'media_thumbnail' => $album_last_image, 'media_size' => 'width="' . $newwidth . '" height="' . $newheight . '"', 'media_height' => $newheight, 'media_width' => $newwidth, 'media_tag' => strip_tags($MG_albums[$achild[$indexCounter]]->title), 'frWidth' => $newwidth - $MG_albums[0]->afrWidth, 'frHeight' => $newheight - $MG_albums[0]->afrHeight)); $T->parse('AColumn', 'AlbumColumn', true); $indexCounter++; } if ($noParse == 1) { break; } else { $T->parse('ARow', 'AlbumRow', true); $T->set_var('AColumn', ''); } } } $T->set_var(array('bottom_pagination' => COM_printPageNavigation($_MG_CONF['site_url'] . '/index.php', $page + 1, ceil($aCount / $items_per_page)), 'table_columns' => $_MG_CONF['album_display_columns'])); if ($albumCount == 0) { $T->set_var(array('noitems' => $LANG_MG03['no_album_objects'])); $T->parse('gallery_noitems', 'noitems'); } else { $T->parse('gallery_body', 'body'); } $T->parse('output', 'page'); $nCSS = $nFrame->getCSS(); if ($nCSS != '') { $outputHandle = outputHandler::getInstance(); $outputHandle->addStyle($nCSS); } $display .= MG_siteHeader($LANG_MG00['plugin']); $display .= $T->finish($T->get_var('output')); $display .= MG_siteFooter(); echo $display; exit; }
function albumThumbnail() { global $_CONF, $_MG_CONF, $_MG_USERPREFS, $_TABLES, $_USER, $LANG_MG00, $LANG_MG01, $LANG_MG03, $MG_albums; if ($this->media_count > 0) { if ($this->cover_filename != '' && $this->cover_filename != '0') { $media_size = false; foreach ($_MG_CONF['validExtensions'] as $ext) { if (file_exists($_MG_CONF['path_mediaobjects'] . 'tn/' . $this->cover_filename[0] . '/' . $this->cover_filename . $ext)) { $album_last_image = $_MG_CONF['mediaobjects_url'] . '/tn/' . $this->cover_filename[0] . '/' . $this->cover_filename . $ext; $mediasize = @getimagesize($_MG_CONF['path_mediaobjects'] . 'tn/' . $this->cover_filename[0] . '/' . $this->cover_filename . $ext); break; } } $album_last_update = MG_getUserDateTimeFormat($this->last_update); if ($mediasize == false) { $album_last_image = $_MG_CONF['mediaobjects_url'] . '/placeholder.svg'; $mediasize = array($this->tnWidth, $this->tnHeight); } } else { $filename = $this->findCover(); if ($filename == '' || $filename == NULL || $filename == " ") { $album_last_image = $_MG_CONF['mediaobjects_url'] . '/placeholder.svg'; $mediasize = array($this->tnWidth, $this->tnHeight); } else { $mediasize = false; foreach ($_MG_CONF['validExtensions'] as $ext) { if (file_exists($_MG_CONF['path_mediaobjects'] . 'tn/' . $filename[0] . '/' . $filename . $ext)) { $album_last_image = $_MG_CONF['mediaobjects_url'] . '/tn/' . $filename[0] . '/' . $filename . $ext; $mediasize = @getimagesize($_MG_CONF['path_mediaobjects'] . 'tn/' . $filename[0] . '/' . $filename . $ext); break; } } if ($mediasize == false) { $album_last_image = $_MG_CONF['mediaobjects_url'] . '/placeholder.svg'; $mediasize = array($this->tnWidth, $this->tnHeight); //@getimagesize($_MG_CONF['path_mediaobjects'] . 'missing.png'); } } } $album_media_count = $this->media_count; if ($this->last_update > 0) { $album_last_update = MG_getUserDateTimeFormat($this->last_update); $lang_updated = $_MG_CONF['dfid'] == '99' ? '' : $LANG_MG03['updated_prompt']; } else { $album_last_update[0] = ''; $lang_updated = ''; } $lang_updated = $_MG_CONF['dfid'] == '99' ? '' : $LANG_MG03['updated_prompt']; if (!COM_isAnonUser()) { $lastlogin = DB_getItem($_TABLES['userinfo'], 'lastlogin', "uid = '" . (int) $_USER['uid'] . "'"); if ($this->last_update > $lastlogin) { $album_last_update[0] = '<font color="red">' . $album_last_update[0] . '</font>'; } } } else { // nothing in the album yet... $filename = $this->findCover(); if ($filename == '') { $album_last_image = $_MG_CONF['mediaobjects_url'] . '/placeholder.svg'; $mediasize = array($this->tnWidth, $this->tnHeight); } else { $mediasize = false; foreach ($_MG_CONF['validExtensions'] as $ext) { if (file_exists($_MG_CONF['path_mediaobjects'] . 'tn/' . $filename[0] . '/' . $filename . $ext)) { $album_last_image = $_MG_CONF['mediaobjects_url'] . '/tn/' . $filename[0] . '/' . $filename . $ext; $mediasize = @getimagesize($_MG_CONF['path_mediaobjects'] . 'tn/' . $filename[0] . '/' . $filename . $ext); break; } } if ($mediasize == false) { $album_last_image = $_MG_CONF['mediaobjects_url'] . '/placeholder.svg'; $mediasize = array($this->tnWidth, $this->tnHeight); // @getimagesize($_MG_CONF['path_mediaobjects'] . 'missing.png'); } } $album_last_update[0] = ''; $lang_updated = ''; } if ($this->tn_attached == 1) { $mediasize = false; foreach ($_MG_CONF['validExtensions'] as $ext) { if (file_exists($_MG_CONF['path_mediaobjects'] . 'covers/cover_' . $this->id . $ext)) { $album_last_image = $_MG_CONF['mediaobjects_url'] . '/covers/cover_' . $this->id . $ext; $mediasize = @getimagesize($_MG_CONF['path_mediaobjects'] . 'covers/cover_' . $this->id . $ext); break; } } if ($mediasize == false) { $album_last_image = $_MG_CONF['mediaobjects_url'] . '/placeholder.svg'; $mediasize = array($this->tnWidth, $this->tnHeight); //@getimagesize($_MG_CONF['path_mediaobjects'] . 'missing.png'); } } $subalbums = count($this->children); $total_images_subalbums = $this->getMediaCount(); if (isset($_MG_USERPREFS['tn_size']) && $_MG_USERPREFS['tn_size'] != -1) { $tn_size = $_MG_USERPREFS['tn_size']; } else { $tn_size = $MG_albums[$this->parent]->tn_size; } switch ($tn_size) { case '0': //small $tn_height = 100; $tn_width = 100; break; case '1': //medium $tn_height = 150; $tn_width = 150; break; case '2': $tn_height = 200; $tn_width = 200; break; case '3': case '4': $tn_height = $MG_albums[$this->parent]->tnHeight; $tn_width = $MG_albums[$this->parent]->tnWidth; if ($tn_height == 0) { $tn_height = 200; } if ($tn_width == 0) { $tn_width = 200; } break; default: $tn_height = 200; $tn_width = 200; break; } if ($mediasize[0] > $mediasize[1]) { $ratio = $mediasize[0] / $tn_height; $newwidth = $tn_height; $newheight = round($mediasize[1] / $ratio); } else { $ratio = $mediasize[1] / $tn_height; $newheight = $tn_height; $newwidth = round($mediasize[0] / $ratio); } $F = new Template($_MG_CONF['template_path']); $F->set_var('media_frame', $MG_albums[$this->parent]->albumFrameTemplate); $F->set_var(array('border_width' => $newwidth + 20, 'border_height' => $newheight + 20, 'media_link_start' => '<a href="' . $_MG_CONF['site_url'] . '/album.php?aid=' . $this->id . '&page=1' . '">', 'media_link_end' => '</a>', 'url_media_item' => $_MG_CONF['site_url'] . '/album.php?aid=' . $this->id . '&page=1', 'media_thumbnail' => $album_last_image, 'media_size' => 'width="' . $newwidth . '" height="' . $newheight . '"', 'media_height' => $newheight, 'media_width' => $newwidth, 'media_tag' => $this->title, 'frWidth' => $newwidth - $MG_albums[$this->parent]->afrWidth, 'frHeight' => $newheight - $MG_albums[$this->parent]->afrHeight)); $F->parse('media', 'media_frame'); $media_item_thumbnail = $F->finish($F->get_var('media')); $C = new Template(MG_getTemplatePath($this->parent)); if ($this->parent != 0 && $MG_albums[$this->parent]->display_columns == 1) { $C->set_file('cell', 'album_page_body_album_cell_1.thtml'); } else { $C->set_file('cell', 'album_page_body_album_cell.thtml'); } $C->set_var(array('media_item_thumbnail' => $media_item_thumbnail, 'media_item_thumbnail_raw' => $album_last_image, 'u_viewalbum' => $_MG_CONF['site_url'] . '/album.php?aid=' . $this->id . '&page=1', 'album_last_image' => $album_last_image, 'album_title' => $this->title, 'album_media_count' => $this->media_count, 'subalbum_media_count' => $total_images_subalbums, 'album_desc' => PLG_replaceTags($this->description, 'mediagallery', 'album_description'), 'album_last_update' => $album_last_update[0], 'img_height' => $newheight, 'img_width' => $newwidth, 's_media_size' => 'width="' . $newwidth . '" height="' . $newheight . '"', 'border_width' => $newwidth + 20, 'border_height' => $newheight + 20, 'row_height' => $tn_height + 40, 'updated' => $lang_updated, 'lang_album' => $LANG_MG00['album'], 'lang_views' => $LANG_MG03['views'], 'views' => $this->views)); if ($this->enable_album_views) { $C->set_var(array('lang_views' => $LANG_MG03['views'], 'views' => $this->views)); } else { $C->set_var(array('lang_views' => '', 'views' => '')); } if ($subalbums > 0) { $C->set_var(array('subalbumcount' => '(' . $subalbums . ')', 'lang_subalbums' => $LANG_MG01['subalbums'])); } else { $C->set_var(array('subalbumcount' => '', 'lang_subalbums' => '')); } PLG_templateSetVars('mediagallery', $C); $C->parse('output', 'cell'); $celldisplay = $C->finish($C->get_var('output')); return $celldisplay; }
/** * Build the HTML of EXIF/IPTC metadata for an item * * This will return the HTML table of the EXIF/IPTC data in an item. * * @param int $mid Media ID of item to process * @param int $columns Number of columns to format output * @param int $mqueue Are we reading the moderation queue or live media tables * @return string HTML (table) or null string if no metadata available * */ function MG_readEXIF($mid, $columns = 2, $mqueue = 0) { global $_CONF, $_MG_CONF, $_TABLES, $LANG_MG01, $LANG_MG04; $count = 0; $exifItems = 0; $rowclass = 1; $retval = ''; $media_filename = DB_getItem($mqueue ? $_TABLES['mg_mediaqueue'] : $_TABLES['mg_media'], 'media_filename', "media_id='" . DB_escapeString($mid) . "'"); if ($media_filename == '') { return ''; } $media_mime_ext = DB_getItem($mqueue ? $_TABLES['mg_mediaqueue'] : $_TABLES['mg_media'], 'media_mime_ext', "media_id='" . DB_escapeString($mid) . "'"); $aid = DB_getItem($_TABLES['mg_media_albums'], 'album_id', 'media_id="' . DB_escapeString($mid) . '"'); // setup the template... $T = new Template(MG_getTemplatePath($aid)); $T->set_file(array('exif' => 'exif_detail.thtml')); $T->set_block('exif', 'exifColumn', 'eColumn'); $T->set_block('exif', 'exifRow', 'eRow'); $exif = array(); if ($_MG_CONF['discard_original'] == 1) { $exif = ExifProcessor($_MG_CONF['path_mediaobjects'] . 'disp/' . $media_filename[0] . '/' . $media_filename . '.jpg'); } else { $exif = ExifProcessor($_MG_CONF['path_mediaobjects'] . 'orig/' . $media_filename[0] . '/' . $media_filename . '.' . $media_mime_ext); } for ($i = 0; $i < count($exif); $i++) { $T->set_var(array('label' => $exif[$i]['title'], 'value' => $exif[$i]['value'])); $T->parse('eColumn', 'exifColumn', true); $count++; if ($count == $columns) { $T->set_var('rowclass', $rowclass % 2 + 1); $rowclass++; $count = 0; $T->parse('eRow', 'exifRow', true); $T->set_var('eColumn', ''); } $exifItems++; } if ($count != 0) { $T->parse('eRow', 'exifRow', true); } $T->set_var('lang_exifheader', $LANG_MG04['exif_header']); $T->set_var('exif_title', $LANG_MG01['image_properties']); $T->parse('output', 'exif'); $retval .= $T->finish($T->get_var('output')); if ($exifItems == 0) { return ''; } else { return $retval; } }
function MG_profileblocksdisplay($uid) { global $_TABLES, $_MG_CONF, $_CONF, $LANG_MG10, $_USER; $retval = ''; if ($_MG_CONF['profile_hook'] != 1) { return ''; } if ((!isset($_USER['uid']) || $_USER['uid'] < 2) && $_MG_CONF['loginrequired'] == 1) { return ''; } if (empty($uid)) { return ''; } $username = DB_getItem($_TABLES['users'], 'username', 'uid=' . intval($uid)); if (empty($username)) { return ''; } $T = COM_newTemplate(MG_getTemplatePath(0)); $T->set_file('mblock', 'profile_media.thtml'); $T->set_block('mblock', 'itemRow', 'iRow'); $T->set_var('start_block_last10mediaitems', COM_startBlock($LANG_MG10['last_10'] . $username)); $T->set_var('start_block_useralbums', COM_startBlock($LANG_MG10['albums_owned'] . $username)); $T->set_var('lang_thumbnail', $LANG_MG10['thumbnail']); $T->set_var('lang_title', $LANG_MG10['title']); $T->set_var('lang_album', $LANG_MG10['album']); $T->set_var('lang_album_description', $LANG_MG10['album_desc']); $T->set_var('lang_upload_date', $LANG_MG10['upload_date']); $T->set_var('end_block', COM_endBlock()); $sql = "SELECT a.album_id,m.media_upload_time,m.media_id,m.media_filename,m.mime_type," . "m.media_mime_ext,m.media_title,m.remote_media,m.media_type,m.media_tn_attached " . "FROM {$_TABLES['mg_albums']} AS a LEFT JOIN {$_TABLES['mg_media_albums']} AS ma " . "ON a.album_id=ma.album_id LEFT JOIN {$_TABLES['mg_media']} AS m ON ma.media_id=m.media_id " . "WHERE m.media_user_id=" . intval($uid) . " AND a.hidden=0 " . COM_getPermSQL('and') . " ORDER BY m.media_upload_time DESC LIMIT 5"; $result = DB_query($sql); $class = 0; $mCount = 0; while ($row = DB_fetchArray($result)) { $album_id = $row['album_id']; $album_data = MG_getAlbumData($album_id, array('album_title')); $album_title = strip_tags($album_data['album_title']); $upload_time = MG_getUserDateTimeFormat($row['media_upload_time']); $url_media = $_MG_CONF['site_url'] . '/media.php?s=' . $row['media_id']; $url_album = $_MG_CONF['site_url'] . '/album.php?aid=' . $album_id; $tn_size = 10; list($url_thumb, $p_thumb, $msize) = Media::getThumbInfo($row, $tn_size); $atnsize = ''; if ($msize != false) { list($newwidth, $newheight) = Media::getImageWH($msize[0], $msize[1], 50, 50); $atnsize = 'width="' . $newwidth . '" height="' . $newheight . '" '; } $T->set_var('mediaitem_image', '<img src="' . $url_thumb . '" alt="" ' . $atnsize . 'style="border:none;vertical-align:bottom;"' . XHTML . '>'); $T->set_var('mediaitem_begin_href', '<a href="' . $url_media . '">'); $T->set_var('mediaitem_title', strip_tags($row['media_title'])); $T->set_var('mediaitem_end_href', '</a>'); $T->set_var('mediaitem_album_begin_href', '<a href="' . $url_album . '">'); $T->set_var('mediaitem_album_title', $album_title); $T->set_var('mediaitem_date', $upload_time[0]); $T->set_var('rowclass', $class % 2 ? '1' : '2'); $T->parse('iRow', 'itemRow', true); $class++; $mCount++; } if ($mCount != 0) { $retval .= $T->finish($T->parse('output', 'mblock')); } $T = COM_newTemplate(MG_getTemplatePath(0)); $T->set_file('ablock', 'profile_album.thtml'); $T->set_block('ablock', 'itemRow', 'iRow'); $T->set_var('start_block_useralbums', COM_startBlock($LANG_MG10['albums_owned'] . $username)); $T->set_var('lang_thumbnail', $LANG_MG10['thumbnail']); $T->set_var('lang_album', $LANG_MG10['album']); $T->set_var('lang_album_description', $LANG_MG10['album_desc']); $T->set_var('end_block', COM_endBlock()); $sql = "SELECT album_id,album_title,album_desc,tn_attached " . "FROM " . $_TABLES['mg_albums'] . " WHERE owner_id=" . intval($uid) . " AND hidden=0 " . COM_getPermSQL('and') . " ORDER BY last_update DESC LIMIT 10"; $result = DB_query($sql); $class = 0; $aCount = 0; while ($row = DB_fetchArray($result)) { $aid = $row['album_id']; $url_album = $_MG_CONF['site_url'] . '/album.php?aid=' . $row['album_id']; $url_thumb = ''; $msize = false; if ($row['tn_attached'] == 1) { list($url_thumb, $msize) = MG_getImageUrl('covers/cover_' . $row['album_id']); } else { $cover_file = MG_getAlbumCover($aid); if ($cover_file != '') { $offset = substr($cover_file, 0, 3) == 'tn_' ? 3 : 0; list($url_thumb, $msize) = MG_getImageUrl('tn/' . $cover_file[$offset] . '/' . $cover_file); } } if ($msize == false || $url_thumb == '') { $url_thumb = $_MG_CONF['mediaobjects_url'] . '/empty.png'; $msize = getimagesize($_MG_CONF['path_mediaobjects'] . 'empty.png'); } $atnsize = ''; if ($msize != false) { list($newwidth, $newheight) = Media::getImageWH($msize[0], $msize[1], 50, 50); $atnsize = 'width="' . $newwidth . '" height="' . $newheight . '" '; } $T->set_var('album_cover', '<img src="' . $url_thumb . '" alt="" ' . $atnsize . 'style="border:none;vertical-align:bottom;"' . XHTML . '>'); $T->set_var('album_begin_href', '<a href="' . $url_album . '">'); $T->set_var('album_title', strip_tags($row['album_title'])); $T->set_var('album_end_href', '</a>'); $T->set_var('album_desc', strip_tags($row['album_desc'])); $T->set_var('rowclass', $class % 2 ? '1' : '2'); $T->parse('iRow', 'itemRow', true); $class++; $aCount++; } if ($aCount != 0) { $retval .= $T->finish($T->parse('output', 'ablock')); } return $retval; }
function MG_albumThumbnail($album_id) { global $_MG_CONF, $_TABLES, $_USER, $LANG_MG00, $LANG_MG01, $LANG_MG03; $sql = "SELECT album_title,album_parent,album_views,enable_album_views," . "media_count,album_desc,album_cover_filename,last_update,tn_attached " . "FROM {$_TABLES['mg_albums']} " . "WHERE album_id=" . intval($album_id); $result = DB_query($sql); $album_data = DB_fetchArray($result); $cover_filename = $album_data['album_cover_filename']; if ($album_data['media_count'] > 0) { if ($cover_filename != '' && $cover_filename != '0') { // Testing! if (strpos($cover_filename, 'tn_') === 0) { $tmpfilename = 'tn/' . $cover_filename[3] . '/' . $cover_filename; } else { $type = $_MG_CONF['gallery_tn_size']; // Root album if ($album_data['album_parent'] > 0) { $type = DB_getItem($_TABLES['mg_albums'], 'tn_size', 'album_id=' . $album_data['album_parent']); } $tmpfilename = 'tn/' . $cover_filename[0] . '/' . $cover_filename; $tmpfilename = MG_getThumbPath($tmpfilename, $type); $tmpfilename = rtrim($tmpfilename, '.'); } list($album_last_image, $mediasize) = MG_getImageUrl($tmpfilename); $album_last_update = MG_getUserDateTimeFormat($album_data['last_update']); if ($mediasize == false) { $album_last_image = $_MG_CONF['mediaobjects_url'] . '/empty.png'; $mediasize = @getimagesize($_MG_CONF['path_mediaobjects'] . 'empty.png'); } } else { $filename = MG_getAlbumCover($album_id); if ($filename == '' || $filename == NULL || $filename == " ") { $album_last_image = $_MG_CONF['mediaobjects_url'] . '/empty.png'; $mediasize = @getimagesize($_MG_CONF['path_mediaobjects'] . 'empty.png'); } else { list($album_last_image, $mediasize) = MG_getImageUrl('tn/' . $filename[0] . '/' . $filename); if ($mediasize == false) { $album_last_image = $_MG_CONF['mediaobjects_url'] . '/missing.png'; $mediasize = @getimagesize($_MG_CONF['path_mediaobjects'] . 'missing.png'); } } } $album_media_count = $album_data['media_count']; if ($album_data['last_update'] > 0) { $album_last_update = MG_getUserDateTimeFormat($album_data['last_update']); $lang_updated = $_MG_CONF['dfid'] == '99' ? '' : $LANG_MG03['updated_prompt']; } else { $album_last_update[0] = ''; $lang_updated = ''; } $lang_updated = $_MG_CONF['dfid'] == '99' ? '' : $LANG_MG03['updated_prompt']; if (isset($_USER['uid']) && $_USER['uid'] > 1) { $lastlogin = DB_getItem($_TABLES['userinfo'], 'lastlogin', "uid = '" . $_USER['uid'] . "'"); if ($album_data['last_update'] > $lastlogin) { $album_last_update[0] = '<span class="mgUpdated">' . $album_last_update[0] . '</span>'; } } } else { // nothing in the album yet... $filename = MG_getAlbumCover($album_id); if ($filename == '') { $album_last_image = $_MG_CONF['mediaobjects_url'] . '/empty.png'; $mediasize = @getimagesize($_MG_CONF['path_mediaobjects'] . 'empty.png'); } else { list($album_last_image, $mediasize) = MG_getImageUrl('tn/' . $filename[0] . '/' . $filename); if ($mediasize == false) { $album_last_image = $_MG_CONF['mediaobjects_url'] . '/missing.png'; $mediasize = @getimagesize($_MG_CONF['path_mediaobjects'] . 'missing.png'); } } $album_last_update[0] = ''; $lang_updated = ''; } if ($album_data['tn_attached'] == 1) { list($album_last_image, $mediasize) = MG_getImageUrl('covers/cover_' . $album_id); if ($mediasize == false) { $album_last_image = $_MG_CONF['mediaobjects_url'] . '/missing.png'; $mediasize = @getimagesize($_MG_CONF['path_mediaobjects'] . 'missing.png'); } } $children = MG_getAlbumChildren($album_id); $subalbums = count($children); $total_images_subalbums = MG_getMediaCount($album_id); $parent_album = new mgAlbum($album_data['album_parent']); $_MG_USERPREFS = MG_getUserPrefs(); if (isset($_MG_USERPREFS['tn_size']) && $_MG_USERPREFS['tn_size'] != -1) { $tn_size = $_MG_USERPREFS['tn_size']; } else { $tn_size = $parent_album->tn_size; } list($tn_height, $tn_width) = MG_getTNSize($tn_size, $parent_album->tnHeight, $parent_album->tnWidth); list($newwidth, $newheight) = MG_getImageWH_3($mediasize[0], $mediasize[1], $tn_width, $tn_height); $media_item_thumbnail = MG_getFramedImage($parent_album->album_skin, $album_data['album_title'], $_MG_CONF['site_url'] . '/album.php?aid=' . $album_id . '&page=1', $album_last_image, $newwidth, $newheight); $C = COM_newTemplate(MG_getTemplatePath($album_data['album_parent'])); $C->set_file('cell', 'album_page_album_cell.thtml'); $C->set_var(array('media_item_thumbnail' => $media_item_thumbnail, 'u_viewalbum' => $_MG_CONF['site_url'] . '/album.php?aid=' . $album_id . '&page=1', 'album_last_image' => $album_last_image, 'album_title' => $album_data['album_title'], 'album_media_count' => $album_data['media_count'], 'subalbum_media_count' => $total_images_subalbums, 'album_desc' => PLG_replaceTags($album_data['album_desc']), 'album_last_update' => $album_last_update[0], 'img_height' => $newheight, 'img_width' => $newwidth, 's_media_size' => 'width="' . $newwidth . '" height="' . $newheight . '"', 'row_height' => $tn_height, 'updated' => $lang_updated, 'lang_album' => $LANG_MG00['album'], 'lang_views' => $LANG_MG03['views'], 'views' => $album_data['album_views'], 'lang_views' => $album_data['enable_album_views'] ? $LANG_MG03['views'] : '', 'views' => $album_data['enable_album_views'] ? $album_data['album_views'] : '', 'subalbumcount' => $subalbums > 0 ? '(' . $subalbums . ')' : '', 'lang_subalbums' => $subalbums > 0 ? $LANG_MG01['subalbums'] : '')); PLG_templateSetVars('mediagallery', $C); $C->parse('output', 'cell'); $celldisplay = $C->finish($C->get_var('output')); return $celldisplay; }
$resolution_x = $ThisFileInfo['video']['resolution_x']; $resolution_y = $ThisFileInfo['video']['resolution_y']; } if ($resolution_x != 0) { $sql = "UPDATE " . $_TABLES['mg_media'] . " SET media_resolution_x=" . $resolution_x . ",media_resolution_y=" . $resolution_y . " WHERE media_id='" . DB_escapeString($row['media_id']) . "'"; DB_query($sql); } } else { $resolution_x = $row['media_resolution_x']; $resolution_y = $row['media_resolution_y']; } } // Initialize the flvpopup.thtml template $T->set_file('video', 'flvpopup.thtml'); // now the player specific items. $F = new Template(MG_getTemplatePath($aid)); if ($_MG_CONF['use_flowplayer'] == 1) { // FlowPlayer Setup $F->set_file(array('player' => 'flvfp.thtml')); } else { $F->set_file(array('player' => 'flvmg.thtml')); } if ($playback_options['play'] == 1) { // auto start $playButton = ''; $autoplay = 'true'; } else { if ($row['media_tn_attached'] == 1) { $playImage = MG_getImageFile('blank_blk.jpg'); $playButtonMG = ''; foreach ($_MG_CONF['validExtensions'] as $ext) {
function MG_deleteAlbumConfirm($album_id, $actionURL = '') { global $_USER, $_CONF, $_TABLES, $MG_albums, $_MG_CONF, $LANG_MG00, $LANG_MG01, $_POST, $REMOTE_ADDR, $album_selectbox; if ($actionURL == '') { $actionURL = $_CONF['site_admin_url'] . '/plugins/mediagallery/index.php'; } $retval = ''; $retval .= COM_startBlock($LANG_MG01['delete_album'], '', COM_getBlockTemplate('_admin_block', 'header')); $T = new Template(MG_getTemplatePath($album_id)); $T->set_file('admin', 'deletealbum.thtml'); $T->set_var('site_url', $_CONF['site_url']); $T->set_var('site_admin_url', $_CONF['site_admin_url']); $T->set_var('album_id', $album_id); if ($MG_albums[$album_id]->access != 3) { COM_errorLog("MediaGallery: Someone has tried to delete a album they do not have permissions. User id: {$_USER['uid']}, Username: {$_USER['username']}, IP: {$REMOTE_ADDR}", 1); return MG_genericError($LANG_MG00['access_denied_msg']); } if (!isset($MG_albums[$album_id]->id)) { COM_errorLog("MediaGallery: Someone has tried to delete a album to non-existent parent album. User id: {$_USER['uid']}, Username: {$_USER['username']}, IP: {$REMOTE_ADDR}", 1); return MG_genericError($LANG_MG00['access_denied_msg']); } $album_selectbox = '<select name="target"><option value="0">' . $LANG_MG01['delete_all_media'] . '</option>'; $level = 0; $MG_albums[0]->buildAlbumBox(-1, 3, $album_id, 'create'); $album_selectbox .= '</select>'; $T->set_var(array('album_id' => $album_id, 'album_title' => strip_tags($MG_albums[$album_id]->title), 'album_desc' => $MG_albums[$album_id]->description, 's_form_action' => $actionURL, 'select_destination' => $album_selectbox, 'lang_delete' => $LANG_MG01['delete'], 'lang_cancel' => $LANG_MG01['cancel'], 'lang_delete_album' => $LANG_MG01['delete_album'], 'lang_title' => $LANG_MG01['title'], 'lang_description' => $LANG_MG01['description'], 'lang_move_all_media' => $LANG_MG01['move_all_media'], 'lang_album_delete_help' => $LANG_MG01['album_delete_help'])); $T->parse('output', 'admin'); $retval .= $T->finish($T->get_var('output')); $retval .= COM_endBlock(COM_getBlockTemplate('_admin_block', 'footer')); return $retval; }
function _mg_autotags($op, $content = '', $autotag = '') { global $MG_albums, $_MG_CONF, $_CONF, $_MG_USERPREFS, $_TABLES, $LANG_MG00, $LANG_MG03, $side_count, $swfjsinclude; global $mgAutoTagArray, $mg_installed_version; static $ss_count = 0; if ($mg_installed_version != $_MG_CONF['pi_version']) { return $content; } $default_thumbnail = 'placeholder.svg'; if ($op == 'parse') { if (!isset($mgAutoTagArray['count']) || empty($mgAutoTagArray['count'])) { $mgAutoTagArray['count'] = 0; } /* * Process the auto tag to remove any embedded */ $tag = str_replace(' ', ' ', $autotag['tagstr']); $parms = explode(' ', $tag); // Extra test to see if autotag was entered with a space // after the module name if (substr($parms[0], -1) == ':') { $startpos = strlen($parms[0]) + strlen($parms[1]) + 2; $label = str_replace(']', '', substr($tag, $startpos)); $tagid = $parms[1]; } else { $label = str_replace(']', '', substr($tag, strlen($parms[0]) + 1)); $parms = explode(':', $parms[0]); if (count($parms) > 2) { // whoops, there was a ':' in the tag id ... array_shift($parms); $tagid = implode(':', $parms); } else { $tagid = $parms[1]; } } $autotag['parm1'] = str_replace(']', '', $tagid); $autotag['parm2'] = $label; /* * end of tag replacement */ $T = new Template($_MG_CONF['template_path']); // see if we have an alignment option included $caption = $autotag['parm2']; $aSet = 0; $skip = 0; // default values for parameters $border = $_MG_CONF['at_border']; $align = $_MG_CONF['at_align']; $width = $_MG_CONF['at_width']; $height = $_MG_CONF['at_height']; $src = $_MG_CONF['at_src']; $autoplay = $_MG_CONF['at_autoplay']; $enable_link = $_MG_CONF['at_enable_link']; $delay = $_MG_CONF['at_delay']; $transition = 'Fade'; $showtitle = $_MG_CONF['at_showtitle']; $destination = 'content'; $target = ''; $linkID = 0; $alt = 0; $link_src = 'disp'; $classes = ''; $nosize = 0; $tag = ''; if ($align != '') { $aSet = 1; } // parameter processing - logic borrowed from // Dirk Haun's Flickr plugin $px = explode(' ', trim($autotag['parm2'])); if (is_array($px)) { foreach ($px as $part) { if (substr($part, 0, 6) == 'width:') { $a = explode(':', $part); $width = $a[1]; $skip++; } elseif (substr($part, 0, 7) == 'height:') { $a = explode(':', $part); $height = $a[1]; $skip++; } elseif (substr($part, 0, 7) == 'border:') { $a = explode(':', $part); $border = $a[1]; $skip++; } elseif (substr($part, 0, 6) == 'align:') { $a = explode(':', $part); $align = $a[1]; $skip++; $aSet = 1; } elseif (substr($part, 0, 4) == 'src:') { $a = explode(':', $part); $src = $a[1]; $skip++; } elseif (substr($part, 0, 9) == 'autoplay:') { $a = explode(':', $part); $autoplay = $a[1]; $skip++; } elseif (substr($part, 0, 5) == 'link:') { $a = explode(':', $part); $enable_link = $a[1]; $skip++; } elseif (substr($part, 0, 6) == 'delay:') { $a = explode(':', $part); $delay = $a[1]; $skip++; } elseif (substr($part, 0, 11) == 'transition:') { $a = explode(':', $part); $transition = $a[1]; $skip++; } elseif (substr($part, 0, 6) == 'title:') { $a = explode(':', $part); $showtitle = $a[1]; $skip++; } elseif (substr($part, 0, 5) == 'dest:') { $a = explode(':', $part); $destination = $a[1]; $skip++; if ($destination != 'content' && $destination != 'block') { $destination = 'content'; } } elseif (substr($part, 0, 7) == 'linkid:') { $a = explode(':', $part); $linkID = $a[1]; $skip++; } elseif (substr($part, 0, 4) == 'alt:') { $a = explode(':', $part); $alt = $a[1]; $skip++; } elseif (substr($part, 0, 7) == 'target:') { $a = explode(':', $part); $target = $a[1]; $skip++; } elseif (substr($part, 0, 5) == 'type:') { $a = explode(':', $part); $mp3_type = $a[1]; $skip++; } elseif (substr($part, 0, 6) == 'class:') { $a = explode(':', $part); $c = explode(',', $a[1]); foreach ($c as $class) { $classes .= ' ' . $class; } $skip++; } elseif (substr($part, 0, 7) == 'nosize:') { $a = explode(':', $part); $nosize = $a[1]; $skip++; } elseif (substr($part, 0, 4) == 'tag:') { $a = explode(':', $part); $tag = str_replace('_', ' ', $a[1]); $skip++; } elseif (substr($part, 0, 8) == 'linksrc:') { $a = explode(':', $part); $link_src = $a[1]; if (!in_array($link_src, array('tn', 'disp', 'orig'))) { $link_src = 'disp'; } $skip++; } else { break; } } if ($skip != 0) { if (count($px) > $skip) { for ($i = 0; $i < $skip; $i++) { array_shift($px); } $caption = trim(implode(' ', $px)); } else { $caption = ''; } } } else { $caption = trim($autotag['parm2']); } if ($tag == '') { $tag = $caption; } if (!is_numeric($autotag['parm1'][0])) { switch ($autotag['parm1'][0]) { case 'n': $align = ''; $aSet = 1; break; case 'c': $align = "center"; $aSet = 1; break; case 'l': $align = "left"; $aSet = 1; break; case 'r': $align = "right"; $aSet = 1; break; case 'a': $align = !($side_count % 2) ? "left" : "right"; $side_count++; $aSet = 1; break; default: $align = !($side_count % 2) ? "left" : "right"; $side_count++; break; } $parm1 = COM_applyFilter(substr($autotag['parm1'], 1, strlen($autotag['parm1']) - 1)); } else { $parm1 = COM_applyFilter($autotag['parm1']); if ($aSet == 0 || $align == 'auto') { $align = !($side_count % 2) ? "left" : "right"; $side_count++; } } if ($align == 'none') { $align = ''; } if (!in_array($autotag['tag'], array('album', 'media', 'img', 'slideshow', 'fslideshow', 'video', 'audio', 'download', 'image', 'oimage', 'mlink', 'alink', 'playall'))) { return $content; } MG_initAlbums(); // sanity check incase the album has been deleted or something... if ($autotag['tag'] != 'media' && $autotag['tag'] != 'image' && $autotag['tag'] != 'video' && $autotag['tag'] != 'audio' && $autotag['tag'] != 'download' && $autotag['tag'] != 'oimage' && $autotag['tag'] != 'img' && $autotag['tag'] != 'mlink' && $autotag['tag'] != 'alink' && $autotag['tag'] != 'playall') { if (!isset($MG_albums[$parm1]->id)) { $link = ''; $content = str_replace($autotag['tagstr'], $link, $content); return $content; } } $ss_count = mt_rand(0, 32768); switch ($autotag['tag']) { case 'download': $side_count--; $sql = "SELECT ma.album_id FROM {$_TABLES['mg_media']} AS m LEFT JOIN {$_TABLES['mg_media_albums']} AS ma ON m.media_id=ma.media_id WHERE m.media_id='" . DB_escapeString($parm1) . "'"; $result = DB_query($sql); if (DB_numRows($result) > 0) { $row = DB_fetchArray($result); $aid = $row['album_id']; if (!isset($MG_albums[$aid]->id) || $MG_albums[$aid]->access == 0) { $link = ''; $content = str_replace($autotag['tagstr'], $link, $content); return $content; } $link = '<a href="' . $_MG_CONF['site_url'] . '/download.php?mid=' . $parm1 . '">'; if ($caption != "") { $link .= $caption; } else { $link .= 'download'; } $link .= '</a>'; if ($destination != 'block') { $content = str_replace($autotag['tagstr'], $link, $content); } else { $autoTagCount = $mgAutoTagArray['count']; $mgAutoTagArray['tags'][$autoTagCount] = $link; $mgAutoTagArray['count']++; $link = ''; $content = str_replace($autotag['tagstr'], $link, $content); } return $content; } else { $link = ''; $content = str_replace($autotag['tagstr'], $link, $content); return $content; } break; case 'mlink': $side_count--; $sql = "SELECT m.remote_url,ma.album_id FROM {$_TABLES['mg_media']} AS m LEFT JOIN {$_TABLES['mg_media_albums']} AS ma ON m.media_id=ma.media_id WHERE m.media_id='" . DB_escapeString($parm1) . "'"; $result = DB_query($sql); if (DB_numRows($result) > 0) { $row = DB_fetchArray($result); $aid = $row['album_id']; if (!isset($MG_albums[$aid]->id) || $MG_albums[$aid]->access == 0) { $link = ''; $content = str_replace($autotag['tagstr'], $link, $content); return $content; } if ($alt == 1 && $row['remote_url'] != '') { $link = '<a href="' . $row['remote_url'] . '"' . ($target == '' ? '' : ' target="' . $target . '"') . '>'; } else { $link = '<a href="' . $_MG_CONF['site_url'] . '/media.php?f=0&sort=0&s=' . $parm1 . '"' . ($target == '' ? '' : ' target="' . $target . '"') . '>'; } if ($caption != "") { $link .= $caption; } else { $link .= $LANG_MG03['click_here']; } $link .= '</a>'; if ($destination != 'block') { $content = str_replace($autotag['tagstr'], $link, $content); } else { $autoTagCount = $mgAutoTagArray['count']; $mgAutoTagArray['tags'][$autoTagCount] = $link; $mgAutoTagArray['count']++; $link = ''; $content = str_replace($autotag['tagstr'], $link, $content); } $content = str_replace($autotag['tagstr'], $link, $content); return $content; } else { $link = ''; $content = str_replace($autotag['tagstr'], $link, $content); return $content; } break; case 'playall': if (!isset($MG_albums[$parm1]->id) || $MG_albums[$parm1]->access == 0 || COM_isAnonUser() && $_MG_CONF['loginrequired'] == 1) { $link = ''; $content = str_replace($autotag['tagstr'], $link, $content); return $content; } $V = new Template(MG_getTemplatePath(0)); $V->set_file(array('xspf' => 'xspf_radio.thtml')); $V->set_var(array('aid' => $parm1, 'site_url' => $_MG_CONF['site_url'], 'autoplay' => $autoplay ? 'play' : 'stop', 'id' => 'mp3radio' . rand(), 'id2' => 'mp3radio' . rand())); $V->parse('output', 'xspf'); if ($align != '' && $align != "center") { $link = '<span style="float:' . $align . ';padding:5px;">' . $V->finish($V->get_var('output')) . '</span>'; } else { if ($align == "center") { $link = '<span style="text-align:center;padding:5px;">' . $V->finish($V->get_var('output')) . '</span>'; } else { $link = '<span style="padding:5px;">' . $V->finish($V->get_var('output')) . '</span>'; } } if ($destination != 'block') { $content = str_replace($autotag['tagstr'], $link, $content); } else { $autoTagCount = $mgAutoTagArray['count']; $mgAutoTagArray['tags'][$autoTagCount] = $link; $mgAutoTagArray['count']++; $link = ''; $content = str_replace($autotag['tagstr'], $link, $content); } $content = str_replace($autotag['tagstr'], $link, $content); return $content; break; case 'video': $sql = "SELECT ma.album_id,m.media_id,m.mime_type,m.remote_url,m.media_filename,m.media_mime_ext,m.media_original_filename,m.media_tn_attached,m.media_resolution_x,m.media_resolution_y,m.remote_media FROM {$_TABLES['mg_media']} AS m LEFT JOIN {$_TABLES['mg_media_albums']} AS ma ON m.media_id=ma.media_id WHERE m.media_id='" . DB_escapeString($parm1) . "'"; $result = DB_query($sql); if (DB_numRows($result) > 0) { $row = DB_fetchArray($result); $aid = $row['album_id']; if (!isset($MG_albums[$aid]->id) || $MG_albums[$aid]->access == 0) { $link = ''; $content = str_replace($autotag['tagstr'], $link, $content); return $content; } $meta_file_name = $_MG_CONF['path_mediaobjects'] . 'orig/' . $row['media_filename'][0] . '/' . $row['media_filename'] . '.' . $row['media_mime_ext']; $meta = IMG_getMediaMetaData($meta_file_name); if ($meta['mime_type'] == 'video/quicktime' || $meta['mime_type'] == 'video/mp4') { if ($meta['fileformat'] == 'mp4') { $row['mime_type'] = 'video/mp4'; } } // determine height / width and aspect if (($width == 'auto' || $width == 0 || $width == -1 || $height == -1) && $row['media_resolution_x'] > 0 && $row['media_resolution_y'] > 0) { $videoheight = $row['media_resolution_y']; $videowidth = $row['media_resolution_x']; } else { if ($row['media_resolution_x'] > 0 && $row['media_resolution_y'] > 0) { if ($row['media_resolution_x'] >= $row['media_resolution_y']) { // landscape $ratio = $row['media_resolution_y'] / $row['media_resolution_x']; $orientation = 0; } else { // portrait $ratio = $row['media_resolution_x'] / $row['media_resolution_y']; $orientation = 1; } } else { $ratio = 0.75; $orientation = 0; } if ($orientation == 0) { if ($width > 0 && $height == 0) { $videoheight = round($width * $ratio); $videowidth = $width; } else { if ($width == 0 && $height == 0) { $videoheight = 200 * $ratio; $videowidth = 200; } else { if ($width == 0 && $height > 0) { $videowidth = round($height / $ratio); $videoheight = $height; } else { if ($width > 0 && $height > 0) { $videowidth = $width; $videoheight = $height; } } } } } else { if ($width > 0 && $height == 0) { $videoheight = round($width / $ratio); $videowidth = $width; } else { if ($width == 0 && $height == 0) { $videoheight = 200; $videowidth = round(200 / $ratio); } else { if ($width == 0 && $height > 0) { $videowidth = round($height * $ratio); $videoheight = $height; } else { if ($width > 0 && $height > 0) { $videowidth = $width; $videoheight = $height; } } } } } } switch ($row['mime_type']) { case 'embed': if (preg_match("/vimeo/i", $row['remote_url'])) { $vimeo = 'vimeo, '; } else { $vimeo = ''; } if ($align != '' && $align != "center") { $link = '<div class="js-video [' . $vimeo . 'widescreen] ' . $classes . '"><span style="float:' . $align . ';padding:5px;">' . $row['remote_url'] . '</span></div>'; } else { if ($align == 'center') { $link = '<div class="js-video [' . $vimeo . 'widescreen] ' . $classes . '"><span style="text-align:center;padding:5px;">' . $row['remote_url'] . '</span></div>'; } else { $link = '<div class="js-video [' . $vimeo . 'widescreen] ' . $classes . '"><span style="padding:5px;">' . $row['remote_url'] . '</span></div>'; } } if ($destination != 'block') { $content = str_replace($autotag['tagstr'], $link, $content); } else { $autoTagCount = $mgAutoTagArray['count']; $mgAutoTagArray['tags'][$autoTagCount] = $link; $mgAutoTagArray['count']++; $link = ''; $content = str_replace($autotag['tagstr'], $link, $content); } return $content; break; case 'video/x-ms-asf': case 'video/x-ms-asf-plugin': case 'video/avi': case 'video/msvideo': case 'video/x-msvideo': case 'video/avs-video': case 'video/x-ms-wmv': case 'video/x-ms-wvx': case 'video/x-ms-wm': case 'application/x-troff-msvideo': case 'application/x-ms-wmz': case 'application/x-ms-wmd': $V = new Template(MG_getTemplatePath(0)); $V->set_file('video', 'view_asf.thtml'); $V->set_var(array('autostart' => $autoplay ? 'true' : 'false', 'enablecontextmenu' => 'true', 'stretchtofit' => 'false', 'showstatusbar' => 'false', 'showcontrols' => 'true', 'showdisplay' => 'false', 'height' => $videoheight, 'width' => $videowidth, 'bgcolor' => '#FFFFFF', 'playcount' => '9999', 'loop' => 'true', 'movie' => $_MG_CONF['mediaobjects_url'] . '/orig/' . $row['media_filename'][0] . '/' . $row['media_filename'] . '.' . $row['media_mime_ext'], 'autostart0' => $autoplay ? '1' : '0', 'enablecontextmenu0' => '1', 'stretchtofit0' => '0', 'showstatusbar0' => '0', 'uimode0' => 'none', 'showcontrols0' => '1', 'showdisplay0' => '0')); $V->parse('output', 'video'); if ($align != '' && $align != "center") { $u_image = '<span style="float:' . $align . ';padding:5px;">' . $V->finish($V->get_var('output')) . '</span>'; } else { if ($align == 'center') { $u_image = '<span style="text-align:center;padding:5px;">' . $V->finish($V->get_var('output')) . '</span>'; } else { $u_image = '<span style="padding:5px;">' . $V->finish($V->get_var('output')) . '</span>'; } } break; case 'video/mp4': if ($row['media_tn_attached'] == 1) { $foundTN = 0; foreach ($_MG_CONF['validExtensions'] as $ext) { if (file_exists($_MG_CONF['path_mediaobjects'] . '/orig/' . $row['media_filename'][0] . '/tn_' . $row['media_filename'] . $ext)) { $thumb = $_MG_CONF['mediaobjects_url'] . '/orig/' . $row['media_filename'][0] . '/tn_' . $row['media_filename'] . $ext; $media_size_orig = $media_size_disp = @getimagesize($_MG_CONF['path_mediaobjects'] . '/orig/' . $row['media_filename'][0] . '/tn_' . $row['media_filename'] . $ext); $foundTN = 1; break; } } if ($foundTN == 0) { foreach ($_MG_CONF['validExtensions'] as $ext) { if (file_exists($_MG_CONF['path_mediaobjects'] . '/tn/' . $row['media_filename'][0] . '/tn_' . $row['media_filename'] . $ext)) { $thumb = $_MG_CONF['mediaobjects_url'] . '/tn/' . $row['media_filename'][0] . '/tn_' . $row['media_filename'] . $ext; $media_size_orig = $media_size_disp = @getimagesize($_MG_CONF['path_mediaobjects'] . '/tn/' . $row['media_filename'][0] . '/tn_' . $row['media_filename'] . $ext); break; } } } } else { $thumb = ''; //$_MG_CONF['mediaobjects_url'] . '/video-placeholder.png'; // $thumb = $_MG_CONF['mediaobjects_url'].'/placeholder_video_w.svg'; } $V = new Template(MG_getTemplatePath(0)); $V->set_file(array('video' => 'view_mp4.thtml')); $V->set_var(array('mime_type' => 'video/mp4', 'autoref' => 'true', 'autoplay' => $autoplay ? 'true' : 'false', 'autoplay_text' => $autoplay ? ' autoplay ' : '', 'controller' => 'true', 'kioskmode' => 'true', 'scale' => 'aspect', 'height' => $videoheight, 'width' => $videowidth, 'bgcolor' => '#F0F0F0', 'loop' => 'true', 'movie' => $_MG_CONF['mediaobjects_url'] . '/orig/' . $row['media_filename'][0] . '/' . $row['media_filename'] . '.' . $row['media_mime_ext'], 'thumbnail' => $thumb, 'site_url' => $_MG_CONF['site_url'], 'player_url' => $_CONF['site_url'] . '/javascript/addons/mediaplayer/')); if ($align != '' && $align != "center") { $V->set_var('alignment', 'float:' . $align . ';'); } else { if ($align == 'center') { $V->set_var('alignment', 'text-align:center;'); } else { $V->set_var('alignment', 'text-align:center;'); } } $V->parse('output', 'video'); $u_image = $V->finish($V->get_var('output')); break; case 'video/mpeg': case 'video/x-motion-jpeg': case 'video/quicktime': case 'video/mpeg': case 'video/x-mpeg': case 'video/x-mpeq2a': case 'video/x-qtc': case 'video/x-m4v': $V = new Template(MG_getTemplatePath(0)); $V->set_file(array('video' => 'view_quicktime.thtml')); $V->set_var(array('autoref' => 'true', 'autoplay' => $autoplay ? 'true' : 'false', 'controller' => 'true', 'kioskmode' => 'true', 'scale' => 'aspect', 'height' => $videoheight, 'width' => $videowidth, 'bgcolor' => '#F0F0F0', 'loop' => 'true', 'movie' => $_MG_CONF['mediaobjects_url'] . '/orig/' . $row['media_filename'][0] . '/' . $row['media_filename'] . '.' . $row['media_mime_ext'])); $V->parse('output', 'video'); if ($align != '' && $align != "center") { $u_image = '<div style="float:' . $align . ';padding:5px;">' . $V->finish($V->get_var('output')) . '</div>'; } else { if ($align == 'center') { $u_image = '<div style="text-align:center;padding:5px;">' . $V->finish($V->get_var('output')) . '</div>'; } else { $u_image = '<div style="padding:5px;">' . $V->finish($V->get_var('output')) . '</div>'; } } break; case 'application/x-shockwave-flash': // set the default playback options... $playback_options['play'] = $_MG_CONF['swf_play']; $playback_options['menu'] = $_MG_CONF['swf_menu']; $playback_options['quality'] = $_MG_CONF['swf_quality']; $playback_options['height'] = $_MG_CONF['swf_height']; $playback_options['width'] = $_MG_CONF['swf_width']; $playback_options['loop'] = $_MG_CONF['swf_loop']; $playback_options['scale'] = $_MG_CONF['swf_scale']; $playback_options['wmode'] = $_MG_CONF['swf_wmode']; $playback_options['allowscriptaccess'] = $_MG_CONF['swf_allowscriptaccess']; $playback_options['bgcolor'] = $_MG_CONF['swf_bgcolor']; $playback_options['swf_version'] = $_MG_CONF['swf_version']; $playback_options['flashvars'] = $_MG_CONF['swf_flashvars']; $poResult = DB_query("SELECT * FROM {$_TABLES['mg_playback_options']} WHERE media_id='" . $row['media_id'] . "'"); while ($poRow = DB_fetchArray($poResult)) { $playback_options[$poRow['option_name']] = $poRow['option_value']; } if ($swfjsinclude > 0) { $u_image = ''; } else { $S = new Template(MG_getTemplatePath(0)); $S->set_file(array('swf' => 'swfobject.thtml')); $S->set_var(array('site_url' => $_MG_CONF['site_url'])); $S->parse('output', 'swf'); $u_image = $S->finish($S->get_var('output')); $swfjsinclude++; } $V = new Template(MG_getTemplatePath(0)); $V->set_file(array('video' => 'view_swf.thtml')); $V->set_var(array('site_url' => $_MG_CONF['site_url'], 'lang_noflash' => $LANG_MG03['no_flash'], 'play' => $autoplay ? 'true' : 'false', 'menu' => $playback_options['menu'] ? 'true' : 'false', 'loop' => $playback_options['loop'] ? 'true' : 'false', 'scale' => $playback_options['scale'], 'wmode' => $playback_options['wmode'], 'flashvars' => $playback_options['flashvars'], 'quality' => $playback_options['quality'], 'height' => $videoheight, 'width' => $videowidth, 'asa' => $playback_options['allowscriptaccess'], 'bgcolor' => $playback_options['bgcolor'], 'swf_version' => $playback_options['swf_version'], 'filename' => $row['media_original_filename'], 'id' => $row['media_filename'] . rand(), 'id2' => $row['media_filename'] . rand(), 'movie' => $_MG_CONF['mediaobjects_url'] . '/orig/' . $row['media_filename'][0] . '/' . $row['media_filename'] . '.' . $row['media_mime_ext'])); $V->parse('output', 'video'); if ($align != '' && $align != "center") { $u_image = '<div style="float:' . $align . ';padding:5px;">' . $V->finish($V->get_var('output')) . '</div>'; } else { if ($align == "center") { $u_image = '<div style="text-align:center;padding:5px;">' . $V->finish($V->get_var('output')) . '</div>'; } else { $u_image = '<div style="padding:5px;">' . $V->finish($V->get_var('output')) . '</div>'; } } break; case 'video/x-flv': // set the default playback options... $playback_options['play'] = $_MG_CONF['swf_play']; $playback_options['menu'] = $_MG_CONF['swf_menu']; $playback_options['quality'] = $_MG_CONF['swf_quality']; $playback_options['height'] = $_MG_CONF['swf_height']; $playback_options['width'] = $_MG_CONF['swf_width']; $playback_options['loop'] = $_MG_CONF['swf_loop']; $playback_options['scale'] = $_MG_CONF['swf_scale']; $playback_options['wmode'] = $_MG_CONF['swf_wmode']; $playback_options['allowscriptaccess'] = $_MG_CONF['swf_allowscriptaccess']; $playback_options['bgcolor'] = $_MG_CONF['swf_bgcolor']; $playback_options['swf_version'] = $_MG_CONF['swf_version']; $playback_options['flashvars'] = $_MG_CONF['swf_flashvars']; $poResult = DB_query("SELECT * FROM {$_TABLES['mg_playback_options']} WHERE media_id='" . $row['media_id'] . "'"); while ($poRow = DB_fetchArray($poResult)) { $playback_options[$poRow['option_name']] = $poRow['option_value']; } if ($swfjsinclude > 0) { $u_image = ''; } else { $S = new Template(MG_getTemplatePath(0)); $S->set_file(array('swf' => 'swfobject.thtml')); $S->set_var(array('site_url' => $_MG_CONF['site_url'])); $S->parse('output', 'swf'); $u_image = $S->finish($S->get_var('output')); $swfjsinclude++; } $V = new Template(MG_getTemplatePath(0)); $V->set_file('video', 'view_flv_light.thtml'); $playImage = MG_getImageFile('blank_blk.jpg'); // now the player specific items. $F = new Template(MG_getTemplatePath(0)); $F->set_file(array('player' => 'flvfp.thtml')); if ($autoplay == 1) { // auto start $playButton = ''; } else { 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)) { $playImage = $_MG_CONF['mediaobjects_url'] . '/tn/' . $row['media_filename'][0] . '/tn_' . $row['media_filename'] . $ext; break; } } } $playButton = "{ url: '" . $playImage . "', overlayId: 'play' },"; } if ($row['remote_media'] == 1) { $urlParts = array(); $urlParts = parse_url($row['remote_url']); $pathParts = array(); $pathParts = explode('/', $urlParts['path']); $ppCount = count($pathParts); $pPath = ''; for ($row = 1; $row < $ppCount - 1; $row++) { $pPath .= '/' . $pathParts[$row]; } $videoFile = $pathParts[$ppCount - 1]; $pos = strrpos($videoFile, '.'); if ($pos === false) { $basefilename = $videoFile; } else { $basefilename = substr($videoFile, 0, $pos); } $videoFile = $basefilename; $streamingServerURL = "streamingServerURL: '" . $urlParts['scheme'] . '://' . $urlParts['host'] . $pPath . "',"; $streamingServer = "streamingServer: 'fms',"; } else { $streamingServerURL = ''; $streamingServer = ''; $videoFile = urlencode($_MG_CONF['mediaobjects_url'] . '/orig/' . $row['media_filename'][0] . '/' . $row['media_filename'] . '.' . $row['media_mime_ext']); } $width = $videowidth; $height = $videoheight + 22; $resolution_x = $videowidth; $resolution_y = $videoheight; $id = 'id_' . rand(); $id2 = 'id2_' . rand(); $F->set_var(array('site_url' => $_MG_CONF['site_url'], 'lang_noflash' => $LANG_MG03['no_flash'], 'play' => $autoplay ? 'true' : 'false', 'menu' => $playback_options['menu'] ? 'true' : 'false', 'loop' => $playback_options['loop'] ? 'true' : 'false', 'scale' => $playback_options['scale'], 'wmode' => $playback_options['wmode'], 'width' => $width, 'height' => $height, 'streamingServerURL' => $streamingServerURL, 'streamingServer' => $streamingServer, 'videoFile' => $videoFile, 'playButton' => $playButton, 'id' => $id, 'id2' => $id2, 'resolution_x' => $resolution_x, 'resolution_y' => $resolution_y)); $F->parse('output', 'player'); $flv_player = $F->finish($F->get_var('output')); $V->set_var(array('site_url' => $_MG_CONF['site_url'], 'lang_noflash' => $LANG_MG03['no_flash'], 'id' => $id, 'id2' => $id2, 'width' => $resolution_x, 'height' => $resolution_y, 'flv_player' => $flv_player)); $V->parse('output', 'video'); if ($align != '' && $align != "center") { $u_image .= '<span class="' . $classes . '" style="float:' . $align . ';padding:5px;">' . $V->finish($V->get_var('output')) . '</span>'; } else { if ($align == "center") { $u_image .= '<span class="' . $classes . '" style="text-align:center;padding:5px;">' . $V->finish($V->get_var('output')) . '</span>'; } else { $u_image .= '<span class="' . $classes . '" style="padding:5px;">' . $V->finish($V->get_var('output')) . '</span>'; } } break; } $link = $u_image; if ($destination != 'block') { $content = str_replace($autotag['tagstr'], $link, $content); } else { $autoTagCount = $mgAutoTagArray['count']; $mgAutoTagArray['tags'][$autoTagCount] = $link; $mgAutoTagArray['count']++; $link = ''; $content = str_replace($autotag['tagstr'], $link, $content); } return $content; } else { $link = ''; $content = str_replace($autotag['tagstr'], $link, $content); return $content; } break; case 'audio': $sql = "SELECT ma.album_id,m.media_title,m.mime_type,m.media_tn_attached,m.media_filename,m.media_mime_ext FROM {$_TABLES['mg_media']} AS m LEFT JOIN {$_TABLES['mg_media_albums']} AS ma ON m.media_id=ma.media_id WHERE m.media_id='" . DB_escapeString($parm1) . "'"; $result = DB_query($sql); if (DB_numRows($result) > 0) { $row = DB_fetchArray($result); $aid = $row['album_id']; if (!isset($MG_albums[$aid]->id) || $MG_albums[$aid]->access == 0) { $link = ''; $content = str_replace($autotag['tagstr'], $link, $content); return $content; } switch ($row['mime_type']) { case 'audio/mpeg': $playback_options['height'] = 50; $playback_options['width'] = 300; $V = new Template(MG_getTemplatePath(0)); if ($mp3_type == 'ribbon') { $tfile = 'mp3_podcast.thtml'; } else { $tfile = 'view_mp3_flv.thtml'; } $autostart = $autoplay ? 'play' : 'stop'; 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)) { $u_tn = $_MG_CONF['mediaobjects_url'] . '/tn/' . $row['media_filename'][0] . '/tn_' . $row['media_filename'] . $ext; $media_size_disp = @getimagesize($_MG_CONF['path_mediaobjects'] . 'tn/' . $row['media_filename'][0] . '/tn_' . $row['media_filename'] . $ext); break; } } $border_width = $media_size_disp[0] + 15; $u_pic = '<img src="' . $u_tn . '" alt="" style="border:none;" />'; $playback_options['width'] = 200; } else { $u_pic = ''; $playback_options['width'] = 200; } $V->set_file(array('audio' => $tfile)); $V->set_var(array('autostart' => $autostart, 'enablecontextmenu' => 'true', 'stretchtofit' => 'false', 'showstatusbar' => 'true', 'uimode' => 'mini', 'height' => $playback_options['height'], 'width' => $playback_options['width'], 'bgcolor' => '#FFFFFF', 'loop' => 'true', 'u_pic' => $u_pic, 'title' => urlencode($row['media_title']), 'id' => 'mp3' . rand(), 'id2' => 'mp3' . rand(), 'site_url' => $_MG_CONF['site_url'], 'movie' => $_MG_CONF['mediaobjects_url'] . '/orig/' . $row['media_filename'][0] . '/' . $row['media_filename'] . '.' . $row['media_mime_ext'], 'mp3_file' => $_MG_CONF['mediaobjects_url'] . '/orig/' . $row['media_filename'][0] . '/' . $row['media_filename'] . '.' . $row['media_mime_ext'])); $V->parse('output', 'audio'); if ($align != '' && $align != "center") { $u_image = '<span style="float:' . $align . ';padding:5px;text-align:center;">' . $V->finish($V->get_var('output')) . '</span>'; } else { if ($align == "center") { $u_image = '<span style="text-align:center;padding:5px;text-align:center;">' . $V->finish($V->get_var('output')) . '</span>'; } else { $u_image = '<span style="padding:5px;text-align:center;">' . $V->finish($V->get_var('output')) . '</span>'; } } break; case 'audio/x-ms-wma': case 'audio/x-ms-wax': case 'audio/x-ms-wmv': $playback_options['height'] = 50; $playback_options['width'] = 300; $V = new Template(MG_getTemplatePath(0)); $tfile = 'view_mp3_wmp.thtml'; $autostart = $autoplay ? '1' : '0'; 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)) { $u_tn = $_MG_CONF['mediaobjects_url'] . '/tn/' . $row['media_filename'][0] . '/tn_' . $row['media_filename'] . $ext; $media_size_disp = @getimagesize($_MG_CONF['path_mediaobjects'] . 'tn/' . $row['media_filename'][0] . '/tn_' . $row['media_filename'] . $ext); break; } } $border_width = $media_size_disp[0] + 15; $u_pic = '<div class=out style="width:' . $border_width . 'px"><div class="in ltin tpin"><img src="' . $u_tn . '" alt="" /></div></div>'; $playback_options['height'] = 50; $playback_options['width'] = 200; } else { $u_pic = ''; $playback_options['height'] = 50; $playback_options['width'] = 200; } $V->set_file(array('audio' => $tfile)); $V->set_var(array('autostart' => $autostart, 'enablecontextmenu' => 'true', 'stretchtofit' => 'false', 'showstatusbar' => 'true', 'uimode' => 'mini', 'height' => $playback_options['height'], 'width' => $playback_options['width'], 'bgcolor' => '#FFFFFF', 'loop' => 'true', 'u_pic' => $u_pic, 'movie' => $_MG_CONF['mediaobjects_url'] . '/orig/' . $row['media_filename'][0] . '/' . $row['media_filename'] . '.' . $row['media_mime_ext'])); $V->parse('output', 'audio'); if ($align != '' && $align != "center") { $u_image = '<div class="' . $classes . '" style="float:' . $align . ';padding:5px;">' . $V->finish($V->get_var('output')) . '</div>'; } else { if ($align == "center") { $u_image = '<div class="' . $classes . '" style="text-align:center;padding:5px;">' . $V->finish($V->get_var('output')) . '</div>'; } else { $u_image = '<div class="' . $classes . '" style="padding:5px;">' . $V->finish($V->get_var('output')) . '</div>'; } } break; } $link = $u_image; if ($destination != 'block') { $content = str_replace($autotag['tagstr'], $link, $content); } else { $autoTagCount = $mgAutoTagArray['count']; $mgAutoTagArray['tags'][$autoTagCount] = $link; $mgAutoTagArray['count']++; $link = ''; $content = str_replace($autotag['tagstr'], $link, $content); } return $content; } else { $link = ''; $content = str_replace($autotag['tagstr'], $link, $content); return $content; } break; case 'fslideshow': if ($parm1 == '' || $parm1 == 0) { return $content; } $aid = $parm1; if (!isset($MG_albums[$parm1]->id) || $MG_albums[$parm1]->access == 0) { $link = ''; $content = str_replace($autotag['tagstr'], $link, $content); return $content; } if ($width > 0 && $height == 0) { $height = $width * 0.75; } else { if ($width == 0 && $height == 0) { $height = $width = 200; } else { if ($width == 0 && $height > 0) { $width = $height * 1.3333; } } } // if none of the above, assume height and width both specified. if ($caption == '' && $_MG_CONF['autotag_caption'] && isset($aid)) { $caption = $MG_albums[$aid]->title; } $captionHTML = '<br /><span style="width:' . $width . 'px;font-style:italic;font-size: smaller;text-indent:0;">' . $caption . '</span>' . LB; $ss_count++; $T = new Template(MG_getTemplatePath(0)); $T->set_file(array('fslideshow' => 'fsat.thtml')); $T->set_var(array('site_url' => $_MG_CONF['site_url'])); $T->set_var(array('id' => 'mms' . $ss_count, 'id2' => 'fsid' . $ss_count, 'movie' => $_MG_CONF['site_url'] . '/xml.php?aid=' . $parm1 . '%26src=' . trim($src), 'dropshadow' => 'true', 'delay' => $delay, 'nolink' => $MG_albums[$parm1]->hidden || $enable_link == 0 ? 'true' : 'false', 'showtitle' => $showtitle == 'bottom' || $showtitle == 'top' ? '&showTitle=' . $showtitle : '', 'width' => $width, 'height' => $height)); $T->parse('output', 'fslideshow'); $swfobject = $T->finish($T->get_var('output')); $link = $swfobject . $captionHTML; if ($align != '' && $align != "center") { $link = '<span class="' . $classes . '" style="float:' . $align . ';padding:5px;text-align:center;">' . $link . '</span>'; } else { if ($align == "center") { $link = '<center><span class="' . $classes . '" style="padding:5px;text-align:center;">' . $link . '</span></center>'; } else { $link = '<span class="' . $classes . '" style="padding:5px;text-align:center;">' . $link . '</span>'; } } if ($destination != 'block') { $content = str_replace($autotag['tagstr'], $link, $content); } else { $autoTagCount = $mgAutoTagArray['count']; $mgAutoTagArray['tags'][$autoTagCount] = $link; $mgAutoTagArray['count']++; $link = ''; $content = str_replace($autotag['tagstr'], $link, $content); } return $content; break; case 'slideshow': if ($parm1 == '' || $parm1 == 0) { return $content; } if (!isset($MG_albums[$parm1]->id) || $MG_albums[$parm1]->access == 0) { $link = ''; $content = str_replace($autotag['tagstr'], $link, $content); return $content; } if ($caption == '' && $_MG_CONF['autotag_caption']) { $caption = $MG_albums[$parm1]->title; } $T->set_file(array('tag' => 'autotag_ss.thtml')); $aid = $parm1; $pics = ''; $counter = 0; $maxwidth = 0; $maxheight = 0; $ss_count++; $sql = "SELECT m.media_filename,m.media_mime_ext,m.remote_url FROM {$_TABLES['mg_media_albums']} as ma INNER JOIN " . $_TABLES['mg_media'] . " as m " . " ON ma.media_id=m.media_id WHERE ma.album_id='" . DB_escapeString($aid) . "' AND m.media_type=0 AND m.include_ss=1 ORDER BY ma.media_order DESC"; $result = DB_query($sql); $T->set_block('tag', 'slides', 'ss'); while ($row = DB_fetchArray($result)) { switch ($src) { case 'orig': $media_size = @getimagesize($_MG_CONF['path_mediaobjects'] . 'orig/' . $row['media_filename'][0] . '/' . $row['media_filename'] . '.' . $row['media_mime_ext']); $ext = $row['media_mime_ext']; break; case 'disp': foreach ($_MG_CONF['validExtensions'] as $tnext) { if (file_exists($_MG_CONF['path_mediaobjects'] . 'disp/' . $row['media_filename'][0] . '/' . $row['media_filename'] . $tnext)) { $media_size = @getimagesize($_MG_CONF['path_mediaobjects'] . 'disp/' . $row['media_filename'][0] . '/' . $row['media_filename'] . $tnext); $ext = substr($tnext, 1, 3); break; } } break; default: foreach ($_MG_CONF['validExtensions'] as $tnext) { if (file_exists($_MG_CONF['path_mediaobjects'] . 'tn/' . $row['media_filename'][0] . '/' . $row['media_filename'] . $tnext)) { $media_size = @getimagesize($_MG_CONF['path_mediaobjects'] . 'tn/' . $row['media_filename'][0] . '/' . $row['media_filename'] . $tnext); $ext = substr($tnext, 1, 3); break; } } $src = 'tn'; break; } if ($media_size == false) { continue; } $counter++; if ($width > 0 && $height == 0) { if ($media_size[0] > $media_size[1]) { // landscape $ratio = $media_size[0] / $width; $newwidth = $width; $newheight = round($media_size[1] / $ratio); } else { // portrait $ratio = $media_size[1] / $width; $newheight = $width; $newwidth = round($media_size[0] / $ratio); } } else { if ($width == 0 && $height == 0) { if ($media_size[0] > $media_size[1]) { // landscape $ratio = $media_size[0] / 200; $newwidth = 200; $newheight = round($media_size[1] / $ratio); } else { // portrait $ratio = $media_size[1] / 200; $newheight = 200; $newwidth = round($media_size[0] / $ratio); } } else { if ($width == 0 && $height > 0) { if ($height > $media_size[1]) { $newheight = $media_size[1]; $newwidth = $media_size[0]; } else { $ratio = $height / $media_size[1]; $newheight = $height; $newwidth = round($media_size[0] * $ratio); } } else { $newwidth = $width; $newheight = $height; } } } if ($newheight > $maxheight) { $maxheight = $newheight; } if ($newwidth > $maxwidth) { $maxwidth = $newwidth; } $active = ''; if ($counter == 1) { $active = ' active '; } if ($MG_albums[$parm1]->hidden == 1 || $enable_link == 0) { $pics .= '<img class="slideshowThumbnail' . $ss_count . $active . ' ' . $classes . '" src="' . $_MG_CONF['mediaobjects_url'] . '/' . $src . '/' . $row['media_filename'][0] . '/' . $row['media_filename'] . '.' . $ext . '" alt="" style="width:' . $newwidth . 'px;height:' . $newheight . 'px;border:none;position:absolute;left:0px;top:0px;" />' . LB; } else { $pics .= '<img class="slideshowThumbnail' . $ss_count . $active . ' ' . $classes . '". src="' . $_MG_CONF['mediaobjects_url'] . '/' . $src . '/' . $row['media_filename'][0] . '/' . $row['media_filename'] . '.' . $ext . '" alt="" style="width:' . $newwidth . 'px;height:' . $newheight . 'px;border:none;position:absolute;left:0px;top:0px;" />' . LB; } $T->set_var(array('img_url' => $_MG_CONF['mediaobjects_url'] . '/' . $src . '/' . $row['media_filename'][0] . '/' . $row['media_filename'] . '.' . $ext, 'img_width' => $newwidth, 'img_height' => $newheight)); $T->parse('ss', 'slides', true); } if ($delay <= 0) { $delay = 10; } if ($MG_albums[$parm1]->hidden == 1 || $enable_link == 0) { $ss_url = ''; } else { $ss_url = '<a href="' . $_MG_CONF['site_url'] . '/album.php?aid=' . $aid . '"' . ($target == '' ? '' : ' target="' . $target . '"') . '>'; $ss_url = $_MG_CONF['site_url'] . '/album.php?aid=' . $aid; } if ($counter != 0) { $T->set_var(array('align' => $align, 'pics' => $pics, 'caption' => $caption, 'maxheight' => $maxheight, 'maxwidth' => $maxwidth, 'width' => $maxwidth, 'framewidth' => $maxwidth + 10, 'ss_count' => $ss_count, 'delay' => $delay * 1000, 'border' => $border ? 'border: silver solid;border-width: 1px;' : '', 'sslink' => $ss_url)); if ($align == 'left' || $align == 'right') { $T->set_var('float', 'float: ' . $align . ';'); } else { $T->set_var('float', 'float:left;'); $align = 'left'; } if ($align == 'left') { $T->set_var('margin-right', 'margin-right:15px;'); } else { $T->set_var('margin-right', ''); } $T->parse('output', 'tag'); $link = $T->finish($T->get_var('output')); } else { $link = ''; } if ($destination != 'block') { $content = str_replace($autotag['tagstr'], $link, $content); } else { $autoTagCount = $mgAutoTagArray['count']; $mgAutoTagArray['tags'][$autoTagCount] = $link; $mgAutoTagArray['count']++; $link = ''; $content = str_replace($autotag['tagstr'], $link, $content); } return $content; break; case 'album': if ($parm1 == '' || $parm1 == 0) { $side_count--; return $content; } if (!isset($MG_albums[$parm1]->id) || $MG_albums[$parm1]->access == 0) { $link = ''; $content = str_replace($autotag['tagstr'], $link, $content); $side_count--; return $content; } $ss_count++; if ($border == 0) { $T->set_file(array('tag' => 'autotag_nb.thtml')); } else { $T->set_file(array('tag' => 'autotag.thtml')); } if ($tag != '') { $alttag = ' alt="' . $tag . '" title="' . $tag . '"'; } else { $alttag = ' alt=""'; if ($_MG_CONF['autotag_caption']) { $caption = $MG_albums[$parm1]->title; } } $aid = $parm1; if ($MG_albums[$parm1]->tn_attached == 1) { foreach ($_MG_CONF['validExtensions'] as $ext) { if (file_exists($_MG_CONF['path_mediaobjects'] . 'covers/cover_' . $parm1 . $ext)) { $tnImage = $_MG_CONF['mediaobjects_url'] . '/covers/cover_' . $parm1 . $ext; $tnFileName = $_MG_CONF['path_mediaobjects'] . 'covers/cover_' . $parm1 . $ext; break; } } } else { $filename = $MG_albums[$aid]->findCover(); if ($filename != '') { foreach ($_MG_CONF['validExtensions'] as $ext) { if (file_exists($_MG_CONF['path_mediaobjects'] . 'tn/' . $filename[0] . '/' . $filename . $ext)) { $tnImage = $_MG_CONF['mediaobjects_url'] . '/tn/' . $filename[0] . '/' . $filename . $ext; $tnFileName = $_MG_CONF['path_mediaobjects'] . 'tn/' . $filename[0] . '/' . $filename . $ext; break; } } } else { $tnImage = $_MG_CONF['mediaobjects_url'] . '/placeholder.svg'; $tnFileName = $_MG_CONF['path_mediaobjects'] . 'placeholder.svg'; } } $media_size = @getimagesize($tnFileName); if ($media_size == false) { $tnImage = $_MG_CONF['mediaobjects_url'] . '/placeholder.svg'; $tnFileName = $_MG_CONF['path_mediaobjects'] . 'placeholder.svg'; $media_size = array(200, 200); } if ($width > 0 && $height == 0) { $ratio = $media_size[0] / $width; $newwidth = $width; $newheight = round($media_size[1] / $ratio); } else { if ($width == 0 && $height == 0) { if ($media_size[0] > $media_size[1]) { // landscape $ratio = $media_size[0] / 200; $newwidth = 200; $newheight = round($media_size[1] / $ratio); } else { // portrait $ratio = $media_size[1] / 200; $newheight = 200; $newwidth = round($media_size[0] / $ratio); } } else { if ($width == 0 && $height > 0) { $ratio = $height / $media_size[1]; $newheight = $height; $newwidth = round($media_size[0] * $ratio); } else { $newwidth = $width; $newheight = $height; } } } $album_image = '<img src="' . $tnImage . '" ' . $alttag . ' style="'; if ($nosize == 0 && $height != -1 && $width != -1) { $album_image .= 'width:' . $newwidth . 'px;height:' . $newheight . 'px;'; } $album_image .= 'border:none;" />'; $tagtext = $album_image; if ($linkID == 0) { $url = $_MG_CONF['site_url'] . '/album.php?aid=' . $parm1; } else { if ($linkID < 1000000) { $url = $_MG_CONF['site_url'] . '/album.php?aid=' . $linkID; } else { $url = $_MG_CONF['site_url'] . '/media.php?s=' . $linkID; } } if ($enable_link == 0) { $link = $tagtext; } else { $link = '<a href="' . $url . '"' . ($target == '' ? '' : ' target="' . $target . '"') . '>' . $tagtext . '</a>'; } $T->set_var(array('ss_count' => $ss_count, 'align' => $align, 'autotag' => $link, 'caption' => $caption, 'width' => $newwidth, 'framewidth' => $newwidth + 10)); if ($align == 'left' || $align == 'right') { $T->set_var('float', 'float:' . $align . ';'); } else { $T->set_var('float', ''); } if ($align == 'left') { $T->set_var('margin-right', 'margin-right:15px;'); } else { $T->set_var('margin-right', ''); } $T->parse('output', 'tag'); $link = $T->finish($T->get_var('output')); if ($align == 'center') { $link = '<center>' . $link . '</center>'; } if ($destination != 'block') { $content = str_replace($autotag['tagstr'], $link, $content); } else { $autoTagCount = $mgAutoTagArray['count']; $mgAutoTagArray['tags'][$autoTagCount] = $link; $mgAutoTagArray['count']++; $link = ''; $content = str_replace($autotag['tagstr'], $link, $content); } return $content; break; case 'alink': if ($parm1 == '' || $parm1 == 0) { $side_count--; return $content; } if (!isset($MG_albums[$parm1]->id) || $MG_albums[$parm1]->access == 0) { $link = ''; $content = str_replace($autotag['tagstr'], $link, $content); $side_count--; return $content; } if ($caption == '') { $caption = $MG_albums[$parm1]->title; } $link = '<a href="' . $_MG_CONF['site_url'] . '/album.php?aid=' . $MG_albums[$parm1]->id . '">' . $caption . '</a>'; $content = str_replace($autotag['tagstr'], $link, $content); return $content; break; case 'media': /* image, oimage and img are depreciated */ /* image, oimage and img are depreciated */ case 'image': case 'oimage': case 'img': if ($parm1 == '' || $parm1 == 0) { return $content; } $direct_link = ''; $ss_count++; if ($border == 0) { $T->set_file(array('tag' => 'autotag_nb.thtml')); } else { $T->set_file(array('tag' => 'autotag.thtml')); } if ($tag != '') { $alttag = ' alt="' . $tag . '" title="' . $tag . '"'; } else { $alttag = ' alt=""'; } $sql = "SELECT ma.album_id,m.media_title,m.media_type,m.media_filename,m.media_mime_ext,m.mime_type,m.media_tn_attached,m.remote_url FROM {$_TABLES['mg_media']} AS m LEFT JOIN {$_TABLES['mg_media_albums']} AS ma ON m.media_id=ma.media_id WHERE m.media_id='" . DB_escapeString($parm1) . "'"; $result = DB_query($sql); if (DB_numRows($result) > 0) { $row = DB_fetchArray($result); $aid = $row['album_id']; if (!isset($MG_albums[$aid]->id) || $MG_albums[$aid]->access == 0) { $link = ''; $content = str_replace($autotag['tagstr'], $link, $content); return $content; } if ($caption == '' && $_MG_CONF['autotag_caption']) { $caption = $row['media_title']; } switch ($row['media_type']) { case 0: // standard image if ($autotag['tag'] == 'oimage') { if ($_MG_CONF['discard_originals'] == 1) { $default_thumbnail = 'disp/' . $row['media_filename'][0] . '/' . $row['media_filename'] . '.' . $row['media_mime_ext']; } else { $default_thumbnail = 'orig/' . $row['media_filename'][0] . '/' . $row['media_filename'] . '.' . $row['media_mime_ext']; } } else { switch ($src) { case 'orig': if ($_MG_CONF['discard_originals'] == 1) { $default_thumbnail = 'disp/' . $row['media_filename'][0] . '/' . $row['media_filename'] . '.' . $row['media_mime_ext']; } else { $default_thumbnail = 'orig/' . $row['media_filename'][0] . '/' . $row['media_filename'] . '.' . $row['media_mime_ext']; } break; case 'disp': $default_thumbnail = 'disp/' . $row['media_filename'][0] . '/' . $row['media_filename'] . '.' . $row['media_mime_ext']; break; case 'tn': foreach ($_MG_CONF['validExtensions'] as $ext) { if (file_exists($_MG_CONF['path_mediaobjects'] . 'tn/' . $row['media_filename'][0] . '/' . $row['media_filename'] . $ext)) { $default_thumbnail = 'tn/' . $row['media_filename'][0] . '/' . $row['media_filename'] . $ext; break; } } break; default: foreach ($_MG_CONF['validExtensions'] as $ext) { if (file_exists($_MG_CONF['path_mediaobjects'] . 'tn/' . $row['media_filename'][0] . '/' . $row['media_filename'] . $ext)) { $default_thumbnail = 'tn/' . $row['media_filename'][0] . '/' . $row['media_filename'] . $ext; break; } } break; } foreach ($_MG_CONF['validExtensions'] as $ext) { if (file_exists($_MG_CONF['path_mediaobjects'] . $link_src . '/' . $row['media_filename'][0] . '/' . $row['media_filename'] . $ext)) { $direct_link = $_MG_CONF['mediaobjects_url'] . '/' . $link_src . '/' . $row['media_filename'][0] . '/' . $row['media_filename'] . $ext; break; } } } break; case 1: // video file switch ($row['mime_type']) { case 'application/x-shockwave-flash': $default_thumbnail = 'flash.png'; break; case 'video/quicktime': case 'video/mpeg': case 'video/x-m4v': $default_thumbnail = 'quicktime.png'; break; case 'video/x-ms-asf': case 'video/x-ms-wvx': case 'video/x-ms-wm': case 'video/x-ms-wmx': case 'video/x-msvideo': case 'application/x-ms-wmz': case 'application/x-ms-wmd': $default_thumbnail = 'wmp.png'; break; default: $default_thumbnail = 'video.png'; break; } $src = 'tn'; break; case 2: // music file $src = 'tn'; $default_thumbnail = 'audio.png'; break; } if ($row['media_tn_attached'] == 1 && ($src != 'orig' && $src != 'disp')) { 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 = $_MG_CONF['mediaobjects_url'] . '/' . $default_thumbnail; $media_thumbnail_file = $_MG_CONF['path_mediaobjects'] . $default_thumbnail; } if ($autotag['tag'] == 'img') { if ($align != '' && $align != 'center') { $album_image = '<span class="' . $classes . '" style="float:' . $align . ';padding:5px;"><img src="' . $media_thumbnail . '" ' . $alttag . 'style="border:none;" /></span>'; } else { $album_image = '<img class="' . $classes . '" src="' . $media_thumbnail . '" ' . $alttag . 'style="border:none;" />'; } } else { $album_image = '<img class="' . $classes . '" src="' . $media_thumbnail . '" ' . $alttag . 'style="border:none;" />'; } } else { return $content; // no image found } $mediaSize = @getimagesize($media_thumbnail_file); if ($mediaSize == false) { $link = ''; $content = str_replace($autotag['tagstr'], $link, $content); return $content; } if ($autotag['tag'] == 'oimage' || $src == 'orig') { $newwidth = $mediaSize[0]; $newheight = $mediaSize[1]; } else { if ($width > 0) { $tn_height = $width; } else { switch ($src) { case 'orig': $tn_height = $mediaSize[0]; break; case 'disp': $tn_height = $mediaSize[0]; break; case 'tn': $tn_height = 200; break; default: $tn_height = 200; break; } } if ($mediaSize[0] > $mediaSize[1]) { $ratio = $mediaSize[0] / $tn_height; $newwidth = $tn_height; $newheight = round($mediaSize[1] / $ratio); } else { $ratio = $mediaSize[1] / $tn_height; $newheight = $tn_height; $newwidth = round($mediaSize[0] / $ratio); } } $album_image = '<img class="' . $classes . '" src="' . $media_thumbnail . '" ' . $alttag . ' style='; if ($nosize == 0 && $height != -1 && $width != -1) { $album_image .= '"width:' . $newwidth . 'px;height:' . $newheight . 'px;'; } $album_image .= 'border:none;" />'; $tagtext = $album_image; $link = ''; if ($alt == 1 && $row['remote_url'] != '') { $url = $row['remote_url']; if ($autotag['tag'] != 'image' && $enable_link != 0) { $link = '<a href="' . $url . '"' . ($target == '' ? '' : ' target="' . $target . '"') . '>' . $tagtext . '</a>'; } else { $link = $tagtext; } } else { if ($linkID == 0) { $url = $_MG_CONF['site_url'] . '/media.php?s=' . $parm1; } else { if ($linkID < 1000000) { if (isset($MG_albums[$linkID]->id)) { $url = $_MG_CONF['site_url'] . '/album.php?aid=' . $linkID; if ($autotag['tag'] != 'image' && $MG_albums[$linkID]->hidden != 1 && $enable_link != 0) { $link = '<a href="' . $url . '"' . ($target == '' ? '' : ' target="' . $target . '"') . '>' . $tagtext . '</a>'; } else { $link = $tagtext; } } else { $url = $_MG_CONF['site_url'] . '/media.php?s=' . $parm1; } } else { $linkAID = (int) DB_getItem($_TABLES['mg_media_albums'], 'album_id', 'media_id="' . DB_escapeString($linkID) . '"'); if ($linkAID != 0) { $url = $_MG_CONF['site_url'] . '/media.php?s=' . $linkID; if ($autotag['tag'] != 'image' && $MG_albums[$linkAID]->hidden != 1 && $enable_link != 0) { $link = '<a href="' . $url . '"' . ($target == '' ? '' : ' target="' . $target . '"') . '>' . $tagtext . '</a>'; } else { $link = $tagtext; } } else { $url = $_MG_CONF['site_url'] . '/media.php?s=' . $parm1; } } } } if ($link == '') { if ($autotag['tag'] != 'image' && ($MG_albums[$aid]->hidden != 1 || $enable_link == 2) && $enable_link != 0) { if ($enable_link == 2 && $direct_link != '') { if ($_MG_CONF['disable_lightbox'] == true) { $link = $tagtext; } else { $link = '<a href="' . $direct_link . '" rel="lightbox" data-uk-lightbox title="' . strip_tags(str_replace('$', '$', $caption)) . '">' . $tagtext . '</a>'; } } else { $link = '<a href="' . $url . '"' . ($target == '' ? '' : ' target="' . $target . '"') . '>' . $tagtext . '</a>'; } } else { $link = $tagtext; } } if ($autotag['tag'] == 'img') { if ($align != '' && $align != 'center') { $link = '<span class="' . $classes . '" style="float:' . $align . ';padding:5px;">' . $link . '</span>'; } if ($destination != 'block') { $content = str_replace($autotag['tagstr'], $link, $content); } else { $autoTagCount = $mgAutoTagArray['count']; $mgAutoTagArray['tags'][$autoTagCount] = $link; $mgAutoTagArray['count']++; $link = ''; $content = str_replace($autotag['tagstr'], $link, $content); } return $content; } $T->set_var(array('ss_count' => $ss_count, 'align' => $align, 'autotag' => $link, 'caption' => $caption, 'width' => $newwidth, 'framewidth' => $newwidth + 10)); if ($align == 'left' || $align == 'right') { $T->set_var('float', 'float:' . $align . ';'); } else { $T->set_var('float', ''); } if ($align == 'left') { $T->set_var('margin-right', 'margin-right:15px;'); } else { $T->set_var('margin-right', ''); } $T->parse('output', 'tag'); $link = $T->finish($T->get_var('output')); if ($align == 'center') { $link = '<center>' . $link . '</center>'; } if ($destination != 'block') { $content = str_replace($autotag['tagstr'], $link, $content); } else { $autoTagCount = $mgAutoTagArray['count']; $mgAutoTagArray['tags'][$autoTagCount] = $link; $mgAutoTagArray['count']++; $link = ''; $content = str_replace($autotag['tagstr'], $link, $content); } return $content; break; } } }
/** * edits or creates an album * * @param int album_id album_id to edit * @param string mode create or edit * @param string actionURL where to redirection on finish * @param int oldaid original album id * @return string HTML * */ function MG_editAlbum($album_id = 0, $mode = '', $actionURL = '', $oldaid = 0) { global $_USER, $_CONF, $_TABLES, $_MG_CONF, $LANG_MG00, $LANG_MG01, $LANG_MG03, $LANG_ACCESS, $REMOTE_ADDR; global $MG_albums, $album_selectbox, $_DB_dbms; $valid_albums = 0; if ($actionURL == '') { $actionURL = $_CONF['site_admin_url'] . '/plugins/mediagallery/index.php'; } if ($_DB_dbms == "mssql") { $sql = "SELECT *,CAST(album_desc AS TEXT) as album_desc FROM " . $_TABLES['mg_albums'] . " WHERE album_id=" . $album_id; } else { $sql = "SELECT * FROM " . $_TABLES['mg_albums'] . " WHERE album_id=" . intval($album_id); } $result = DB_query($sql); $numRows = DB_numRows($result); if ($numRows > 0) { $A = DB_fetchArray($result); } $retval = ''; $T = new Template(MG_getTemplatePath($album_id)); $T->set_var('site_url', $_CONF['site_url']); $T->set_var('site_admin_url', $_CONF['site_admin_url']); if ($album_id != 0 && $mode == 'edit') { // If edit, pull up the existing album information... if ($MG_albums[$album_id]->access != 3) { COM_errorLog("MediaGallery: Someone has tried to illegally edit a Media Gallery Album. User id: {$_USER['uid']}, Username: {$_USER['username']}, IP: {$REMOTE_ADDR}", 1); return MG_genericError($LANG_MG00['access_denied_msg']); } } else { if ($album_id == 0 && $mode == 'create') { // create the album... $A['album_id'] = -1; $A['album_order'] = 0; $album_id = -1; $A['album_parent'] = 0; $A['album_title'] = ''; $A['album_desc'] = ''; $A['hidden'] = 0; $A['album_cover'] = -1; $A['featured'] = 0; $A['cbposition'] = 0; $A['cbpage'] = 'all'; $A['owner_id'] = $_USER['uid']; $A['member_uploads'] = $_MG_CONF['ad_member_uploads']; $A['moderate'] = $_MG_CONF['ad_moderate']; $A['tn_attached'] = 0; $A['exif_display'] = $_MG_CONF['ad_exif_display']; $A['enable_slideshow'] = $_MG_CONF['ad_enable_slideshow']; $A['enable_random'] = $_MG_CONF['ad_enable_random']; $A['enable_shutterfly'] = $_MG_CONF['ad_enable_shutterfly']; $A['enable_views'] = $_MG_CONF['ad_enable_views']; $A['enable_keywords'] = $_MG_CONF['ad_enable_keywords']; $A['display_album_desc'] = $_MG_CONF['ad_display_album_desc']; $A['enable_album_views'] = $_MG_CONF['ad_enable_album_views']; $A['image_skin'] = $_MG_CONF['ad_image_skin']; $A['album_skin'] = $_MG_CONF['ad_album_skin']; $A['display_skin'] = $_MG_CONF['ad_display_skin']; $A['enable_sort'] = $_MG_CONF['ad_enable_sort']; $A['enable_rss'] = $_MG_CONF['ad_enable_rss']; $A['enable_postcard'] = $_MG_CONF['ad_enable_postcard']; $A['albums_first'] = $_MG_CONF['ad_albums_first']; $A['enable_rating'] = $_MG_CONF['ad_enable_rating']; $A['enable_comments'] = $_MG_CONF['ad_enable_comments']; $A['tn_size'] = $_MG_CONF['ad_tn_size']; $A['allow_download'] = $_MG_CONF['ad_allow_download']; $A['max_image_height'] = $_MG_CONF['ad_max_image_height']; $A['max_image_width'] = $_MG_CONF['ad_max_image_width']; $A['max_filesize'] = $_MG_CONF['ad_max_filesize']; $A['display_image_size'] = $_MG_CONF['ad_display_image_size']; $A['display_rows'] = $_MG_CONF['ad_display_rows']; $A['display_columns'] = $_MG_CONF['ad_display_columns']; $A['valid_formats'] = $_MG_CONF['ad_valid_formats']; $A['filename_title'] = $_MG_CONF['ad_filename_title']; $A['wm_auto'] = $_MG_CONF['ad_wm_auto']; $A['wm_id'] = $_MG_CONF['ad_wm_id']; $A['opacity'] = $_MG_CONF['ad_wm_opacity']; $A['wm_location'] = $_MG_CONF['ad_wm_location']; $A['album_sort_order'] = $_MG_CONF['ad_album_sort_order']; $A['email_mod'] = $_MG_CONF['ad_email_mod']; $A['album_cover_filename'] = ''; $A['last_update'] = 0; $A['media_count'] = 0; $A['full_display'] = $_MG_CONF['ad_full_display']; $A['playback_type'] = $_MG_CONF['ad_playback_type']; $A['podcast'] = isset($_MG_CONF['ad_podcast']) ? $_MG_CONF['ad_podcast'] : 0; $A['mp3ribbon'] = 0; $A['rsschildren'] = 0; $A['usealternate'] = isset($_MG_CONF['ad_use_alternate']) ? $_MG_CONF['ad_use_alternate'] : 0; $A['skin'] = isset($_MG_CONF['ad_skin']) ? $_MG_CONF['ad_skin'] : 'default'; $gresult = DB_query("SELECT grp_id FROM {$_TABLES['groups']} WHERE grp_name LIKE 'mediagallery Admin'"); $grow = DB_fetchArray($gresult); $grp_id = $grow['grp_id']; $A['group_id'] = $grp_id; $A['mod_group_id'] = $grp_id; $A['perm_owner'] = $_MG_CONF['ad_perm_owner']; $A['perm_group'] = $_MG_CONF['ad_perm_group']; $A['perm_members'] = $_MG_CONF['ad_perm_members']; $A['perm_anon'] = $_MG_CONF['ad_perm_anon']; $A['tnheight'] = $_MG_CONF['ad_tn_height']; $A['tnwidth'] = $_MG_CONF['ad_tn_width']; } } $T->set_var('album_id', $A['album_id']); $retval .= COM_startBlock($mode == 'create' ? $LANG_MG01['create_album'] : $LANG_MG01['edit_album'] . ' - ' . strip_tags($A['album_title']), '', COM_getBlockTemplate('_admin_block', 'header')); // If edit, pull up the existing album information... $T->set_file(array('admin' => 'editalbum.thtml', 'falbum' => 'featured_album.thtml', 'perms_admin' => 'edit_album_permissions.thtml', 'perms_member' => 'edit_album_perm_member.thtml', 'admin_attr' => 'editalbum_admin.thtml', 'admin_formats' => 'editalbum_formats.thtml')); // construct the album jumpbox... if ($mode == 'create') { $select = $oldaid; } else { $select = $A['album_parent']; } $album_selectbox = '<select name="parentaid">'; $valid_albums += $MG_albums[0]->buildAlbumBox($select, 3, $A['album_id'], $mode); $album_selectbox .= '</select>'; $album_select = $album_selectbox; if ($valid_albums == 0) { COM_errorLog("MediaGallery: Someone has tried to illegally create a Medig Gallery Album. User id: {$_USER['uid']}, Username: {$_USER['username']}, IP: {$REMOTE_ADDR}", 1); return MG_genericError($LANG_MG00['access_denied_msg']); } // build exif select box... $exif_select = '<select name="enable_exif">'; $exif_select .= '<option value="0"' . ($A['exif_display'] == 0 ? 'selected="selected"' : '') . '>' . $LANG_MG01['disable_exif'] . '</option>'; $exif_select .= '<option value="1"' . ($A['exif_display'] == 1 ? 'selected="selected"' : '') . '>' . $LANG_MG01['display_below_media'] . '</option>'; $exif_select .= '<option value="2"' . ($A['exif_display'] == 2 ? 'selected="selected"' : '') . '>' . $LANG_MG01['display_in_popup'] . '</option>'; $exif_select .= '<option value="3"' . ($A['exif_display'] == 3 ? 'selected="selected"' : '') . '>' . $LANG_MG01['both'] . '</option>'; $exif_select .= '</select>'; $full_select = '<select name="full_display"' . ($_MG_CONF['discard_original'] ? ' disabled=disabled ' : '') . '>'; $full_select .= '<option value="0"' . ($A['full_display'] == 0 ? 'selected="selected"' : '') . '>' . $LANG_MG01['always'] . '</option>'; $full_select .= '<option value="1"' . ($A['full_display'] == 1 ? 'selected="selected"' : '') . '>' . $LANG_MG01['members_only'] . '</option>'; $full_select .= '<option value="2"' . ($A['full_display'] == 2 ? 'selected="selected"' : '') . '>' . $LANG_MG01['disabled'] . '</option>'; $full_select .= '</select>'; $ranking_select = '<select name="enable_rating">'; $ranking_select .= '<option value="0"' . ($A['enable_rating'] == 0 ? 'selected="selected"' : '') . '>' . $LANG_MG01['disabled'] . '</option>'; $ranking_select .= '<option value="1"' . ($A['enable_rating'] == 1 ? 'selected="selected"' : '') . '>' . $LANG_MG01['members_only'] . '</option>'; $ranking_select .= '<option value="2"' . ($A['enable_rating'] == 2 ? 'selected="selected"' : '') . '>' . $LANG_MG01['always'] . '</option>'; $ranking_select .= '</select>'; $podcast_select = '<input type="checkbox" name="podcast" value="1" ' . ($A['podcast'] ? ' checked="checked"' : '') . '/>'; $mp3ribbon_select = '<input type="checkbox" name="mp3ribbon" value="1" ' . ($A['mp3ribbon'] ? ' checked="checked"' : '') . '/>'; $rsschildren_select = '<input type="checkbox" name="rsschildren" value="1" ' . ($A['rsschildren'] ? ' checked="checked"' : '') . '/>'; $comment_select = '<input type="checkbox" name="enable_comments" value="1" ' . ($A['enable_comments'] ? ' checked="checked"' : '') . '/>'; $ss_select = '<select name="enable_slideshow">'; $ss_select .= '<option value="0" ' . ($A['enable_slideshow'] == 0 ? ' selected="selected"' : '') . '>' . $LANG_MG01['disabled'] . '</option>'; $ss_select .= '<option value="1"' . ($A['enable_slideshow'] == 1 ? ' selected="selected"' : '') . '>' . $LANG_MG01['js_slideshow'] . '</option>'; $ss_select .= '<option value="2"' . ($A['enable_slideshow'] == 2 ? ' selected="selected"' : '') . '>' . $LANG_MG01['lightbox'] . '</option>'; $ss_select .= '<option value="3"' . ($A['enable_slideshow'] == 3 ? ' selected="selected"' : '') . '>' . $LANG_MG01['flash_slideshow_disp'] . '</option>'; $ss_select .= '<option value="4"' . ($A['enable_slideshow'] == 4 ? ' selected="selected"' : '') . '>' . $LANG_MG01['flash_slideshow_full'] . '</option>'; $ss_select .= '<option value="5"' . ($A['enable_slideshow'] == 5 ? ' selected="selected"' : '') . '>' . $LANG_MG01['mp3_jukebox'] . '</option>'; $ss_select .= '</select>'; $sf_select = '<input type="checkbox" name="enable_shutterfly" value="1" ' . ($A['enable_shutterfly'] ? ' checked="checked"' : '') . '/>'; $views_select = '<input type="checkbox" name="enable_views" value="1" ' . ($A['enable_views'] ? ' checked="checked"' : '') . '/>'; $keywords_select = '<input type="checkbox" name="enable_keywords" value="1" ' . ($A['enable_keywords'] ? ' checked="checked"' : '') . '/>'; $sort_select = '<input type="checkbox" name="enable_sort" value="1" ' . ($A['enable_sort'] ? ' checked="checked"' : '') . '/>'; $rss_select = '<input type="checkbox" name="enable_rss" value="1" ' . ($A['enable_rss'] ? ' checked="checked"' : '') . '/>'; $postcard_select = '<select name="enable_postcard">'; $postcard_select .= '<option value="0"' . ($A['enable_postcard'] == 0 ? 'selected="selected"' : '') . '>' . $LANG_MG01['disabled'] . '</option>'; $postcard_select .= '<option value="1"' . ($A['enable_postcard'] == 1 ? 'selected="selected"' : '') . '>' . $LANG_MG01['members_only'] . '</option>'; $postcard_select .= '<option value="2"' . ($A['enable_postcard'] == 2 ? 'selected="selected"' : '') . '>' . $LANG_MG01['all_users'] . '</option>'; $postcard_select .= '</select>'; $afirst_select = '<input type="checkbox" name="albums_first" value="1" ' . ($A['albums_first'] ? ' checked="checked"' : '') . '/>'; $usealternate_select = '<input type="checkbox" name="usealternate" value="1" ' . ($A['usealternate'] ? ' checked="checked"' : '') . '/>'; $album_views_select = '<input type="checkbox" name="enable_album_views" value="1" ' . ($A['enable_album_views'] ? ' checked="checked"' : '') . '/>'; $display_album_desc_select = '<input type="checkbox" name="display_album_desc" value="1" ' . ($A['display_album_desc'] ? ' checked="checked"' : '') . '/>'; $tn_size_select = '<select name="tn_size">'; $tn_size_select .= '<option value="0"' . ($A['tn_size'] == 0 ? 'selected="selected"' : '') . '>' . $LANG_MG01['small'] . '</option>'; $tn_size_select .= '<option value="1"' . ($A['tn_size'] == 1 ? 'selected="selected"' : '') . '>' . $LANG_MG01['medium'] . '</option>'; $tn_size_select .= '<option value="2"' . ($A['tn_size'] == 2 ? 'selected="selected"' : '') . '>' . $LANG_MG01['large'] . '</option>'; $tn_size_select .= '<option value="3"' . ($A['tn_size'] == 3 ? 'selected="selected"' : '') . '>' . $LANG_MG01['custom'] . '</option>'; $tn_size_select .= '<option value="4"' . ($A['tn_size'] == 4 ? 'selected="selected"' : '') . '>' . $LANG_MG01['square'] . '</option>'; $tn_size_select .= '</select>'; $display_image_size_select = '<select name="display_image_size">'; $display_image_size_select .= '<option value="0"' . ($A['display_image_size'] == 0 ? 'selected="selected"' : '') . '>' . $LANG_MG01['size_500x375'] . '</option>'; $display_image_size_select .= '<option value="1"' . ($A['display_image_size'] == 1 ? 'selected="selected"' : '') . '>' . $LANG_MG01['size_600x450'] . '</option>'; $display_image_size_select .= '<option value="2"' . ($A['display_image_size'] == 2 ? 'selected="selected"' : '') . '>' . $LANG_MG01['size_620x465'] . '</option>'; $display_image_size_select .= '<option value="3"' . ($A['display_image_size'] == 3 ? 'selected="selected"' : '') . '>' . $LANG_MG01['size_720x540'] . '</option>'; $display_image_size_select .= '<option value="4"' . ($A['display_image_size'] == 4 ? 'selected="selected"' : '') . '>' . $LANG_MG01['size_800x600'] . '</option>'; $display_image_size_select .= '<option value="5"' . ($A['display_image_size'] == 5 ? 'selected="selected"' : '') . '>' . $LANG_MG01['size_912x684'] . '</option>'; $display_image_size_select .= '<option value="6"' . ($A['display_image_size'] == 6 ? 'selected="selected"' : '') . '>' . $LANG_MG01['size_1024x768'] . '</option>'; $display_image_size_select .= '<option value="7"' . ($A['display_image_size'] == 7 ? 'selected="selected"' : '') . '>' . $LANG_MG01['size_1152x864'] . '</option>'; $display_image_size_select .= '<option value="8"' . ($A['display_image_size'] == 8 ? 'selected="selected"' : '') . '>' . $LANG_MG01['size_1280x1024'] . '</option>'; $display_image_size_select .= '<option value="9"' . ($A['display_image_size'] == 9 ? 'selected="selected"' : '') . '>' . $LANG_MG01['size_custom'] . $_MG_CONF['custom_image_width'] . 'x' . $_MG_CONF['custom_image_height'] . '</option>'; $display_image_size_select .= '</select>'; $rows_input = '<input type="text" size="3" name="display_rows" value="' . $A['display_rows'] . '"/>'; $columns_input = '<input type="text" size="3" name="display_columns" value="' . $A['display_columns'] . '"/>'; $max_image_height_input = '<input type="text" size="4" name="max_image_height" value="' . $A['max_image_height'] . '"/>'; $max_image_width_input = '<input type="text" size="4" name="max_image_width" value="' . $A['max_image_width'] . '"/>'; $tnheight_input = '<input type="text" size="3" name="tnheight" value="' . $A['tnheight'] . '"/>'; $tnwidth_input = '<input type="text" size="3" name="tnwidth" value="' . $A['tnwidth'] . '"/>'; if ($A['max_filesize'] != 0) { $A['max_filesize'] = $A['max_filesize'] / 1024; } $max_filesize_input = '<input type="text" size="10" name="max_filesize" value="' . $A['max_filesize'] . '"/>'; $email_mod_select = '<input type="checkbox" name="email_mod" value="1" ' . ($A['email_mod'] ? ' checked="checked"' : '') . '/>'; $playback_type = '<select name="playback_type">'; $playback_type .= '<option value="0"' . ($A['playback_type'] == 0 ? 'selected="selected"' : '') . '>' . $LANG_MG01['play_in_popup'] . '</option>'; $playback_type .= '<option value="1"' . ($A['playback_type'] == 1 ? 'selected="selected"' : '') . '>' . $LANG_MG01['download_to_local'] . '</option>'; $playback_type .= '<option value="2"' . ($A['playback_type'] == 2 ? 'selected="selected"' : '') . '>' . $LANG_MG01['play_inline'] . '</option>'; $playback_type .= '<option value="3"' . ($A['playback_type'] == 3 ? 'selected="selected"' : '') . '>' . $LANG_MG01['use_mms'] . '</option>'; $playback_type .= '</select>'; $themes = MG_getThemes(); $album_theme_select = '<select name="album_theme">'; for ($i = 0; $i < count($themes); $i++) { $album_theme_select .= '<option value="' . $themes[$i] . '"' . ($A['skin'] == $themes[$i] ? 'selected="selected"' : '') . '>' . $themes[$i] . '</option>'; } $album_theme_select .= '</select>'; $attach_select = '<input type="checkbox" name="attach_tn" value="1" ' . ($A['tn_attached'] ? ' checked="checked"' : '') . '/>'; $result = DB_query("SELECT * FROM {$_TABLES['users']}"); $nRows = DB_numRows($result); $owner_select = '<select name="owner_id">'; for ($i = 0; $i < $nRows; $i++) { $row = DB_fetchArray($result); if ($row['uid'] == 1) { continue; } $owner_select .= '<option value="' . $row['uid'] . '"' . ($A['owner_id'] == $row['uid'] ? 'selected="selected"' : '') . '>' . COM_getDisplayName($row['uid'], $row['username'], $row['fullname'], $row['remoteusername'], $row['remoteservice']) . '</option>'; } $owner_select .= '</select>'; $album_sort_select = '<select name="album_sort_order">'; $album_sort_select .= '<option value="0"' . ($A['album_sort_order'] == 0 ? 'selected="selected"' : '') . '>' . $LANG_MG03['no_sort'] . '</option>'; $album_sort_select .= '<option value="1"' . ($A['album_sort_order'] == 1 ? 'selected="selected"' : '') . '>' . $LANG_MG03['sort_capture_asc'] . '</option>'; $album_sort_select .= '<option value="2"' . ($A['album_sort_order'] == 2 ? 'selected="selected"' : '') . '>' . $LANG_MG03['sort_capture'] . '</option>'; $album_sort_select .= '<option value="3"' . ($A['album_sort_order'] == 3 ? 'selected="selected"' : '') . '>' . $LANG_MG03['sort_upload_asc'] . '</option>'; $album_sort_select .= '<option value="4"' . ($A['album_sort_order'] == 4 ? 'selected="selected"' : '') . '>' . $LANG_MG03['sort_upload'] . '</option>'; $album_sort_select .= '<option value="5"' . ($A['album_sort_order'] == 5 ? 'selected="selected"' : '') . '>' . $LANG_MG03['sort_alpha'] . '</option>'; $album_sort_select .= '<option value="6"' . ($A['album_sort_order'] == 6 ? 'selected="selected"' : '') . '>' . $LANG_MG03['sort_alpha_asc'] . '</option>'; $album_sort_select .= '</select>'; if (SEC_hasRights('mediagallery.admin')) { // // -- build the featured selects and info... // $featured_select = '<input type="checkbox" name="featured" value="1" ' . ($A['featured'] ? ' checked="checked"' : '') . '/>'; // build featurepage select... $featurepage_select = '<select name="featurepage">'; $featurepage_select .= '<option value="all"' . ($A['cbpage'] == 'all' ? 'selected="selected"' : '') . '>' . $LANG_MG01['all'] . '</option>'; $featurepage_select .= '<option value="allnhp"' . ($A['cbpage'] == 'allnhp' ? 'selected="selected"' : '') . '>' . $LANG_MG01['all_nhp'] . '</option>'; $featurepage_select .= '<option value="none"' . ($A['cbpage'] == 'none' ? 'selected="selected"' : '') . '>' . $LANG_MG01['homepage_only'] . '</option>'; $featurepage_select .= COM_topicList('tid,topic', $A['cbpage']); $featurepage_select .= '</select>'; // position $feature_pos = '<select name="featureposition">'; $feature_pos .= '<option value="1"' . ($A['cbposition'] == 1 ? ' selected="selected"' : '') . '>' . $LANG_MG01['top'] . '</option>'; $feature_pos .= '<option value="2"' . ($A['cbposition'] == 2 ? ' selected="selected"' : '') . '>' . $LANG_MG01['after_featured_articles'] . '</option>'; $feature_pos .= '<option value="3"' . ($A['cbposition'] == 3 ? ' selected="selected"' : '') . '>' . $LANG_MG01['bottom'] . '</option>'; $feature_pos .= '</select> '; $T->set_var(array('featured_select' => $featured_select, 'feature_page_select' => $featurepage_select, 'feature_position' => $feature_pos, 'lang_featured_album' => $LANG_MG01['featured_album'], 'lang_set_featured' => $LANG_MG01['set_featured'], 'lang_featured_help' => $LANG_MG01['featured_help'], 'lang_position' => $LANG_MG01['position'], 'lang_topic' => $LANG_MG01['topic'])); $T->parse('featureselect', 'falbum'); $ri_select = '<input type="checkbox" name="enable_random" value="1" ' . ($A['enable_random'] ? ' checked="checked"' : '') . '/>'; $T->set_var(array('height_input' => $max_image_height_input, 'width_input' => $max_image_width_input, 'max_size_input' => $max_filesize_input, 'ri_select' => $ri_select, 'lang_ri_enable' => $LANG_MG01['ri_enable'], 'lang_max_image_height' => $LANG_MG01['max_image_height'], 'lang_max_image_width' => $LANG_MG01['max_image_width'], 'lang_max_filesize' => $LANG_MG01['max_filesize'])); $T->parse('adminattr', 'admin_attr'); $T->set_var(array('jpg_checked' => $A['valid_formats'] & MG_JPG ? ' checked="checked"' : '', 'png_checked' => $A['valid_formats'] & MG_PNG ? ' checked="checked"' : '', 'tif_checked' => $A['valid_formats'] & MG_TIF ? ' checked="checked"' : '', 'gif_checked' => $A['valid_formats'] & MG_GIF ? ' checked="checked"' : '', 'bmp_checked' => $A['valid_formats'] & MG_BMP ? ' checked="checked"' : '', 'tga_checked' => $A['valid_formats'] & MG_TGA ? ' checked="checked"' : '', 'psd_checked' => $A['valid_formats'] & MG_PSD ? ' checked="checked"' : '', 'mp3_checked' => $A['valid_formats'] & MG_MP3 ? ' checked="checked"' : '', 'ogg_checked' => $A['valid_formats'] & MG_OGG ? ' checked="checked"' : '', 'asf_checked' => $A['valid_formats'] & MG_ASF ? ' checked="checked"' : '', 'swf_checked' => $A['valid_formats'] & MG_SWF ? ' checked="checked"' : '', 'mov_checked' => $A['valid_formats'] & MG_MOV ? ' checked="checked"' : '', 'mp4_checked' => $A['valid_formats'] & MG_MP4 ? ' checked="checked"' : '', 'mpg_checked' => $A['valid_formats'] & MG_MPG ? ' checked="checked"' : '', 'zip_checked' => $A['valid_formats'] & MG_ZIP ? ' checked="checked"' : '', 'flv_checked' => $A['valid_formats'] & MG_FLV ? ' checked="checked"' : '', 'rflv_checked' => $A['valid_formats'] & MG_RFLV ? ' checked="checked"' : '', 'emb_checked' => $A['valid_formats'] & MG_EMB ? ' checked="checked"' : '', 'other_checked' => $A['valid_formats'] & MG_OTHER ? ' checked="checked"' : '', 'lang_jpg' => $LANG_MG01['jpg'], 'lang_png' => $LANG_MG01['png'], 'lang_tif' => $LANG_MG01['tif'], 'lang_gif' => $LANG_MG01['gif'], 'lang_bmp' => $LANG_MG01['bmp'], 'lang_tga' => $LANG_MG01['tga'], 'lang_psd' => $LANG_MG01['psd'], 'lang_mp3' => $LANG_MG01['mp3'], 'lang_ogg' => $LANG_MG01['ogg'], 'lang_asf' => $LANG_MG01['asf'], 'lang_swf' => $LANG_MG01['swf'], 'lang_mov' => $LANG_MG01['mov'], 'lang_mp4' => $LANG_MG01['mp4'], 'lang_mpg' => $LANG_MG01['mpg'], 'lang_zip' => $LANG_MG01['zip'], 'lang_flv' => $LANG_MG01['flv'], 'lang_rflv' => $LANG_MG01['rflv'], 'lang_emb' => $LANG_MG01['emb'], 'lang_other' => $LANG_MG01['other'], 'lang_allowed_formats' => $LANG_MG01['allowed_media_formats'], 'lang_image' => $LANG_MG01['image'], 'lang_audio' => $LANG_MG01['audio'], 'lang_video' => $LANG_MG01['video'])); $T->parse('valid_formats', 'admin_formats'); } $r = rand(); if ($A['tn_attached']) { $media_size = false; foreach ($_MG_CONF['validExtensions'] as $ext) { if (file_exists($_MG_CONF['path_mediaobjects'] . 'covers/cover_' . $A['album_id'] . $ext)) { $album_last_image = $_MG_CONF['mediaobjects_url'] . '/covers/cover_' . $A['album_id'] . $ext; $media_size = @getimagesize($_MG_CONF['path_mediaobjects'] . 'covers/cover_' . $A['album_id'] . $ext); if ($media_size != false) { $T->set_var('thumbnail', '<img src="' . $_MG_CONF['mediaobjects_url'] . '/covers/cover_' . $A['album_id'] . $ext . '?r=' . $r . '" alt=""/>'); } break; } } // $T->set_var('thumbnail','<img src="' . $_MG_CONF['mediaobjects_url'] . '/covers/cover_' . $A['album_id'] . '.jpg?r=' . $r . '" alt="">'); } $filename_title_select = '<input type="checkbox" name="filename_title" value="1" ' . ($A['filename_title'] ? ' checked="checked"' : '') . '/>'; // watermark stuff... $wm_auto_select = '<input type="checkbox" name="wm_auto" value="1" ' . ($A['wm_auto'] ? ' checked="checked"' : '') . '/>'; $wm_opacity_select = '<select name="wm_opacity">'; $wm_opacity_select .= '<option value="10"' . ($A['opacity'] == 10 ? 'selected="selected"' : '') . '>10%</option>'; $wm_opacity_select .= '<option value="20"' . ($A['opacity'] == 20 ? 'selected="selected"' : '') . '>20%</option>'; $wm_opacity_select .= '<option value="30"' . ($A['opacity'] == 30 ? 'selected="selected"' : '') . '>30%</option>'; $wm_opacity_select .= '<option value="40"' . ($A['opacity'] == 40 ? 'selected="selected"' : '') . '>40%</option>'; $wm_opacity_select .= '<option value="50"' . ($A['opacity'] == 50 ? 'selected="selected"' : '') . '>50%</option>'; $wm_opacity_select .= '<option value="60"' . ($A['opacity'] == 60 ? 'selected="selected"' : '') . '>60%</option>'; $wm_opacity_select .= '<option value="70"' . ($A['opacity'] == 70 ? 'selected="selected"' : '') . '>70%</option>'; $wm_opacity_select .= '<option value="80"' . ($A['opacity'] == 80 ? 'selected="selected"' : '') . '>80%</option>'; $wm_opacity_select .= '<option value="90"' . ($A['opacity'] == 90 ? 'selected="selected"' : '') . '>90%</option>'; $wm_opacity_select .= '</select>'; $wm_location_select = '<select name="wm_location">'; $wm_location_select .= '<option value="1"' . ($A['wm_location'] == 1 ? 'selected="selected"' : '') . '>' . $LANG_MG01['top_left'] . '</option>'; $wm_location_select .= '<option value="2"' . ($A['wm_location'] == 2 ? 'selected="selected"' : '') . '>' . $LANG_MG01['top_center'] . '</option>'; $wm_location_select .= '<option value="3"' . ($A['wm_location'] == 3 ? 'selected="selected"' : '') . '>' . $LANG_MG01['top_right'] . '</option>'; $wm_location_select .= '<option value="4"' . ($A['wm_location'] == 4 ? 'selected="selected"' : '') . '>' . $LANG_MG01['middle_left'] . '</option>'; $wm_location_select .= '<option value="5"' . ($A['wm_location'] == 5 ? 'selected="selected"' : '') . '>' . $LANG_MG01['middle_center'] . '</option>'; $wm_location_select .= '<option value="6"' . ($A['wm_location'] == 6 ? 'selected="selected"' : '') . '>' . $LANG_MG01['middle_right'] . '</option>'; $wm_location_select .= '<option value="7"' . ($A['wm_location'] == 7 ? 'selected="selected"' : '') . '>' . $LANG_MG01['bottom_left'] . '</option>'; $wm_location_select .= '<option value="8"' . ($A['wm_location'] == 8 ? 'selected="selected"' : '') . '>' . $LANG_MG01['bottom_center'] . '</option>'; $wm_location_select .= '<option value="9"' . ($A['wm_location'] == 9 ? 'selected="selected"' : '') . '>' . $LANG_MG01['bottom_right'] . '</option>'; $wm_location_select .= '</select>'; // now select what watermarks we have permission to use... $whereClause = " WHERE wm_id<>0 AND "; if (SEC_hasRights('mediagallery.admin')) { $whereClause .= "1=1"; } else { $whereClause .= "(owner_id=" . $_USER['uid'] . " OR owner_id=0)"; } $sql = "SELECT * FROM {$_TABLES['mg_watermarks']} " . $whereClause . " ORDER BY owner_id"; $result = DB_query($sql); $nRows = DB_numRows($result); $wm_select = '<select name="wm_id" onchange="change(this)">'; $wm_select .= '<option value="blank.png">' . $LANG_MG01['no_watermark'] . '</option>'; $wm_current = '<img src="' . $_MG_CONF['site_url'] . '/watermarks/blank.png" name="myImage" alt=""/>'; for ($i = 0; $i < $nRows; $i++) { $row = DB_fetchArray($result); $wm_select .= '<option value="' . $row['filename'] . '"' . ($A['wm_id'] == $row['wm_id'] ? 'selected="selected"' : '') . '>' . $row['filename'] . '</option>'; if ($A['wm_id'] == $row['wm_id']) { $wm_current = '<img src="' . $_MG_CONF['site_url'] . '/watermarks/' . $row['filename'] . '" name="myImage" alt=""/>'; } } $wm_select .= '</select>'; $frames = new mgFrame(); $skins = array(); $skins = $frames->getFrames(); $skin_select = '<select name="skin">'; $askin_select = '<select name="askin">'; $dskin_select = '<select name="dskin">'; for ($i = 0; $i < count($skins); $i++) { $skin_select .= '<option value="' . $skins[$i]['dir'] . '"' . ($A['image_skin'] == $skins[$i]['dir'] ? ' selected="selected" ' : '') . '>' . $skins[$i]['name'] . '</option>'; $askin_select .= '<option value="' . $skins[$i]['dir'] . '"' . ($A['album_skin'] == $skins[$i]['dir'] ? ' selected="selected" ' : '') . '>' . $skins[$i]['name'] . '</option>'; $dskin_select .= '<option value="' . $skins[$i]['dir'] . '"' . ($A['display_skin'] == $skins[$i]['dir'] ? ' selected="selected" ' : '') . '>' . $skins[$i]['name'] . '</option>'; } $skin_select .= '</select>'; $askin_select .= '</select>'; $dskin_select .= '</select>'; // permission template $usergroups = SEC_getUserGroups(); $groupdd = ''; $moddd = ''; $groupdd .= '<select name="group_id">'; $moddd .= '<select name="mod_id">'; for ($i = 0; $i < count($usergroups); $i++) { if ($usergroups[key($usergroups)] != 2 && $usergroups[key($usergroups)] != 13) { $groupdd .= '<option value="' . $usergroups[key($usergroups)] . '"'; $moddd .= '<option value="' . $usergroups[key($usergroups)] . '"'; if ($A['group_id'] == $usergroups[key($usergroups)]) { $groupdd .= ' selected="selected"'; } if ($A['mod_group_id'] == $usergroups[key($usergroups)]) { $moddd .= ' selected="selected"'; } $groupdd .= '>' . key($usergroups) . '</option>'; $moddd .= '>' . key($usergroups) . '</option>'; } next($usergroups); } $groupdd .= '</select>'; $moddd .= '</select>'; $upload_select = '<input type="checkbox" name="uploads" value="1" ' . ($A['member_uploads'] ? ' checked="checked"' : '') . '/>'; $moderate_select = '<input type="checkbox" name="moderate" value="1" ' . ($A['moderate'] ? ' checked="checked"' : '') . '/>'; $child_update_select = '<input type="checkbox" name="force_child_update" value="1"/>'; $hidden_select = '<input type="checkbox" name="hidden" value="1" ' . ($A['hidden'] ? ' checked="checked"' : '') . '/>'; $allow_download_select = '<input type="checkbox" name="allow_download" value="1" ' . ($A['allow_download'] ? ' checked="checked"' : '') . '/>'; if (SEC_hasRights('mediagallery.admin')) { $perm_editor = SEC_getPermissionsHTML($A['perm_owner'], $A['perm_group'], $A['perm_members'], $A['perm_anon']); } else { $perm_editor = MG_getMemberPermissionsHTML($A['perm_members'], $A['perm_anon']); } $T->set_var(array('lang_uploads' => $LANG_MG01['anonymous_uploads_prompt'], 'lang_accessrights' => $LANG_ACCESS['accessrights'], 'lang_owner' => $LANG_ACCESS['owner'], 'owner_username' => DB_getItem($_TABLES['users'], 'username', "uid={$A['owner_id']}"), 'owner_id' => $A['owner_id'], 'lang_group' => $LANG_ACCESS['group'], 'lang_permissions' => $LANG_ACCESS['permissions'], 'lang_perm_key' => $LANG_ACCESS['permissionskey'], 'lang_hidden' => $LANG_MG01['hidden'], 'permissions_msg' => $LANG_ACCESS['permmsg'], 'permissions_editor' => $perm_editor, 'origaid' => '<input type="hidden" name="origaid" value="' . $oldaid . '"/>', 'group_dropdown' => $groupdd, 'mod_dropdown' => $moddd, 'lang_member_upload' => $LANG_MG01['member_upload'], 'lang_moderate_album' => $LANG_MG01['mod_album'], 'lang_mod_group' => $LANG_MG01['moderation_group'], 'uploads' => $upload_select, 'moderate' => $moderate_select, 'hidden' => $hidden_select, 'force_child_update' => $child_update_select, 'lang_force_child_update' => $LANG_MG01['force_child_update'], 'lang_allow_download' => $LANG_MG01['allow_download'], 'owner_select' => $owner_select, 'email_mod_select' => $email_mod_select, 'lang_email_mods_on_submission' => $LANG_MG01['email_mods_on_submission'])); if (SEC_hasRights('mediagallery.admin')) { $T->parse('perm_editor', 'perms_admin'); } else { $T->parse('perm_editor', 'perms_member'); } $T->set_var(array('action' => 'album', 'path_mg' => $_MG_CONF['site_url'], 'attach_select' => $attach_select, 'comment_select' => $comment_select, 'exif_select' => $exif_select, 'ranking_select' => $ranking_select, 'podcast_select' => $podcast_select, 'mp3ribbon_select' => $mp3ribbon_select, 'rsschildren_select' => $rsschildren_select, 'full_select' => $full_select, 'ss_select' => $ss_select, 'sf_select' => $sf_select, 'views_select' => $views_select, 'keywords_select' => $keywords_select, 'album_views_select' => $album_views_select, 'display_album_desc_select' => $display_album_desc_select, 'sort_select' => $sort_select, 'rss_select' => $rss_select, 'postcard_select' => $postcard_select, 'afirst_select' => $afirst_select, 'tn_size_select' => $tn_size_select, 'display_image_size' => $display_image_size_select, 'rows_input' => $rows_input, 'columns_input' => $columns_input, 'playback_type' => $playback_type, 'album_title' => $A['album_title'], 'album_desc' => $A['album_desc'], 'album_id' => $A['album_id'], 'parent_select' => $album_select, 'album_cover' => $A['album_cover'], 'album_owner' => $A['owner_id'], 'album_order' => $A['album_order'], 'album_cover_filename' => $A['album_cover_filename'], 'last_update' => $A['last_update'], 'media_count' => $A['media_count'], 'wm_auto_select' => $wm_auto_select, 'wm_opacity_select' => $wm_opacity_select, 'wm_location_select' => $wm_location_select, 'wm_select' => $wm_select, 'wm_current' => $wm_current, 'album_theme_select' => $album_theme_select, 'album_sort_select' => $album_sort_select, 'allow_download_select' => $allow_download_select, 'filename_title_select' => $filename_title_select, 'skin_select' => $skin_select, 'askin_select' => $askin_select, 'dskin_select' => $dskin_select, 'tnheight_input' => $tnheight_input, 'tnwidth_input' => $tnwidth_input, 'usealternate_select' => $usealternate_select, 'lang_usealternate' => $LANG_MG01['use_alternate_url'], 'lang_tnheight' => $LANG_MG01['tn_height'], 'lang_tnwidth' => $LANG_MG01['tn_width'], 'lang_save' => $LANG_MG01['save'], 'lang_edit_title' => $mode == 'create' ? $LANG_MG01['create_album'] : $LANG_MG01['edit_album'], 's_form_action' => $actionURL, 'lang_image_skin' => $LANG_MG01['image_skin'], 'lang_album_skin' => $LANG_MG01['album_skin'], 'lang_display_skin' => $LANG_MG01['display_skin'], 'lang_album_edit_help' => $LANG_MG01['album_edit_help'], 'lang_title' => $LANG_MG01['title'], 'lang_podcast' => $LANG_MG01['podcast'], 'lang_mp3ribbon' => $LANG_MG01['mp3ribbon'], 'lang_rsschildren' => $LANG_MG01['rsschildren'], 'lang_parent_album' => $LANG_MG01['parent_album'], 'lang_description' => $LANG_MG01['description'], 'lang_cancel' => $LANG_MG01['cancel'], 'lang_delete' => $LANG_MG01['delete'], 'lang_comments' => $LANG_MG01['comments_prompt'], 'lang_enable_exif' => $LANG_MG01['enable_exif'], 'lang_enable_ratings' => $LANG_MG01['enable_ratings'], 'lang_ss_enable' => $LANG_MG01['ss_enable'], 'lang_sf_enable' => $LANG_MG01['sf_enable'], 'lang_tn_size' => $LANG_MG01['tn_size'], 'lang_rows' => $LANG_MG01['rows'], 'lang_columns' => $LANG_MG01['columns'], 'lang_av_play_album' => $LANG_MG01['av_play_album'], 'lang_av_play_options' => $LANG_MG01['av_play_options'], 'lang_attached_thumbnail' => $LANG_MG01['attached_thumbnail'], 'lang_thumbnail' => $LANG_MG01['thumbnail'], 'lang_album_attributes' => $LANG_MG01['album_attributes'], 'lang_album_cover' => $LANG_MG01['album_cover'], 'lang_enable_views' => $LANG_MG01['enable_views'], 'lang_enable_keywords' => $LANG_MG01['enable_keywords'], 'lang_enable_album_views' => $LANG_MG01['enable_album_views'], 'lang_enable_sort' => $LANG_MG01['enable_sort'], 'lang_enable_rss' => $LANG_MG01['enable_rss'], 'lang_enable_postcard' => $LANG_MG01['enable_postcard'], 'lang_albums_first' => $LANG_MG01['albums_first'], 'lang_full_display' => $LANG_MG01['full_display'], 'lang_display_image_size' => $LANG_MG01['display_image_size'], 'lang_album_sort' => $LANG_MG01['default_album_sort'], 'lang_watermark' => $LANG_MG01['watermark'], 'lang_wm_auto' => $LANG_MG01['watermark_auto'], 'lang_wm_opacity' => $LANG_MG01['watermark_opacity'], 'lang_wm_location' => $LANG_MG01['watermark_location'], 'lang_wm_id' => $LANG_MG01['watermark_image'], 'lang_unlimited' => $LANG_MG01['zero_unlimited'], 'lang_display_album_desc' => $LANG_MG01['display_album_desc'], 'lang_filename_title' => $LANG_MG01['filename_title'], 'lang_media_attributes' => $LANG_MG01['media_attributes'], 'lang_theme_select' => $LANG_MG01['album_theme'])); if ($_MG_CONF['htmlallowed'] == 1) { $T->set_var('allowed_html', COM_allowedHTML(SEC_getUserPermissions(), false, 'mediagallery', 'album_title')); } $T->parse('output', 'admin'); $retval .= $T->finish($T->get_var('output')); $retval .= COM_endBlock(COM_getBlockTemplate('_admin_block', 'footer')); return $retval; }
/** * Displays pick list of files to process... * * @param int album_id album_id save uploaded media * @return string HTML * */ function MG_FTPpickFiles($album_id, $dir, $purgefiles, $recurse) { global $MG_albums, $_CONF, $_TABLES, $_MG_CONF, $LANG_MG00, $LANG_MG01, $LANG_MG02, $LANG_MG03, $_POST; global $album_jumpbox; global $destDirCount; global $pCount; $destDirCount = 0; $pCount = 0; $retval = ''; $valid_albums = ''; $T = new Template(MG_getTemplatePath($album_id)); $T->set_file(array('admin' => 'ftpimport.thtml')); $T->set_var(array('lang_title' => $LANG_MG01['title'], 'lang_description' => $LANG_MG01['description'], 'lang_parent_album' => $LANG_MG01['parent_album'], 'lang_filelist' => $LANG_MG01['file_list'], 'lang_quick_create' => $LANG_MG01['quick_create'], 'lang_checkall' => $LANG_MG01['check_all'], 'lang_uncheckall' => $LANG_MG01['uncheck_all'], 'dir' => $dir, 'purgefiles' => $purgefiles, 'recurse' => $recurse, 'album_id' => $album_id)); $filelist = MG_listDir($dir, $album_id, $purgefiles, $recurse); $level = 0; $album_jumpbox = '<select name="parentaid">'; if (SEC_hasRights('mediagallery.admin')) { $album_jumpbox .= '<option value="0">' . $LANG_MG01['root_album'] . '</option>'; } else { $album_jumpbox .= '<option disabled value="0">' . $LANG_MG01['root_level'] . '</option>'; } $valid_albums += $MG_albums[0]->buildJumpBox(0, 3); $album_jumpbox .= '</select>'; $T->set_var(array('s_form_action' => $_MG_CONF['site_url'] . '/admin.php', 'action' => 'ftpprocess', 'lang_save' => $LANG_MG01['save'], 'lang_cancel' => $LANG_MG01['cancel'], 'parent_select' => $album_jumpbox, 'filelist' => $filelist)); $T->parse('output', 'admin'); $retval .= $T->finish($T->get_var('output')); return $retval; }
} $row = DB_fetchArray($result); $aid = $row['album_id']; $album_data = MG_getAlbumData($aid, array('skin', 'display_skin', 'album_id', 'playback_type', 'allow_download', 'full_display'), true); if ($album_data['access'] == 0) { $display = COM_startBlock($LANG_ACCESS['accessdenied'], '', COM_getBlockTemplate('_msg_block', 'header')) . '<br' . XHTML . '>' . $LANG_MG00['access_denied_msg'] . COM_endBlock(COM_getBlockTemplate('_msg_block', 'footer')); $display = MG_createHTMLDocument($display); COM_output($display); exit; } $themeCSS = ''; if (!empty($album_data['skin'])) { $skin = $album_data['skin']; if (file_exists($_MG_CONF['path_html'] . 'themes/' . $skin . '/javascript.js')) { $themeCSS .= '<script type="text/javascript" src="' . $_MG_CONF['site_url'] . '/themes/' . $skin . '/javascript.js"></script>' . LB; } if (file_exists($_MG_CONF['path_html'] . 'themes/' . $skin . '/style.css')) { $themeCSS .= '<link rel="stylesheet" type="text/css" href="' . $_MG_CONF['site_url'] . '/themes/' . $skin . '/style.css"' . XHTML . '>' . LB; } } $opt = array('playback_type' => 2, 'skin' => $album_data['skin'], 'display_skin' => $album_data['display_skin'], 'allow_download' => $album_data['allow_download'], 'full_display' => $album_data['full_display']); $object = MG_buildContent($row, $opt); $T = COM_newTemplate(MG_getTemplatePath($aid)); $T->set_file('video', 'view_window.thtml'); $T->set_var(array('site_url' => $_MG_CONF['site_url'], 'themeCSS' => $themeCSS, 'charset' => COM_getCharset(), 'object' => $object[0])); if (!SEC_hasRights('mediagallery.admin')) { $media_views = $row['media_views'] + 1; DB_change($_TABLES['mg_media'], 'media_views', $media_views, 'media_id', addslashes($row['media_id'])); } $display = $T->finish($T->parse('output', 'video')); COM_output($display);
public function displayThumb($opt = array()) { global $_USER, $_CONF, $_MG_CONF, $_TABLES, $LANG_MG03, $LANG_MG01; $sortOrder = isset($opt['sortorder']) ? $opt['sortorder'] : 0; $searchmode = isset($opt['searchmode']) ? $opt['searchmode'] : 0; $album = isset($opt['album_id']) ? $opt['album_id'] : NULL; $mode = isset($opt['imageonly']) ? $opt['imageonly'] : 0; // $mode = 1 return image only if ($album === NULL) { $album = new mgAlbum($this->album_id); } $type = $this->type; $_MG_USERPREFS = MG_getUserPrefs(); // $type == 1 video // $type == 2 audio if (($type == 1 || $type == 2 || $type == 5) && ($album->playback_type == 0 || $album->playback_type == 1) && $_MG_CONF['popup_from_album'] == 1) { if ($album->playback_type == 0) { if ($type == 2) { // determine what type of player we will use (WMP, QT or Flash) $player = $_MG_CONF['mp3_player']; if (isset($_MG_USERPREFS['mp3_player']) && $_MG_USERPREFS['mp3_player'] != -1) { $player = $_MG_USERPREFS['mp3_player']; } switch ($player) { case 0: // WMP $new_y = 260; $new_x = 340; break; case 1: // QT $new_y = 25; $new_x = 350; break; case 2: $new_y = 360; $new_x = 580; break; } if ($this->mime_type == 'audio/mpeg') { $new_y = 360; $new_x = 580; } if ($this->tn_attached == 1 && $player != 2) { $tnsize = $this->media_size; $new_y += $tnsize[0]; if ($tnsize[1] > $new_x) { $new_x = $tnsize[1]; } } if ($album->playback_type == 0) { $url_display_item = self::getHref_showvideo($this->id, $new_y, $new_x); } else { $url_display_item = $_MG_CONF['site_url'] . '/download.php?mid=' . $this->id; } $resolution_x = $new_x; $resolution_y = $new_y; } else { // must be a video... $playback_options['height'] = $_MG_CONF['swf_height']; $playback_options['width'] = $_MG_CONF['swf_width']; $poResult = DB_query("SELECT * FROM {$_TABLES['mg_playback_options']} " . "WHERE media_id='" . addslashes($this->id) . "'"); while ($poRow = DB_fetchArray($poResult)) { $playback_options[$poRow['option_name']] = $poRow['option_value']; } if ($this->resolution_x > 0) { $resolution_x = $this->resolution_x; $resolution_y = $this->resolution_y; } else { if ($this->resolution_x == 0 && $this->remote_media != 1) { $filepath = self::getFilePath('orig', $this->filename, $this->mime_ext); $size = @filesize($filepath); // skip files over 8M in size.. if ($size < 8388608) { list($resolution_x, $resolution_y) = self::getResolutionID3($filepath); } } else { $resolution_x = $this->resolution_x; $resolution_y = $this->resolution_y; } } $resolution_x = $playback_options['width']; $resolution_y = $playback_options['height']; if ($resolution_x < 1 || $resolution_y < 1) { $resolution_x = 480; $resolution_y = 320; } else { $resolution_x = $resolution_x + 40; $resolution_y = $resolution_y + 40; } if ($this->mime_type == 'video/x-flv' && $_MG_CONF['use_flowplayer'] != 1) { $resolution_x = $resolution_x + 60; if ($resolution_x < 590) { $resolution_x = 590; } $resolution_y = $resolution_y + 80; if ($resolution_y < 500) { $resolution_y = 500; } } if ($type == 5) { $resolution_x = 460; $resolution_y = 380; } $url_display_item = self::getHref_showvideo($this->id, $resolution_y, $resolution_x); } } else { $url_display_item = $_MG_CONF['site_url'] . '/download.php?mid=' . $this->id; } } else { if ($album->useAlternate == 1 && $type != 5 && !empty($this->remote_url)) { $url_display_item = $this->remote_url; } else { $url_display_item = $_MG_CONF['site_url'] . '/media.php?f=0' . '&sort=' . $sortOrder . '&s=' . $this->id; } } $url_media_item = $url_display_item; // -- decide what thumbnail size to use, small, medium, large... if (isset($_MG_USERPREFS['tn_size']) && $_MG_USERPREFS['tn_size'] != -1) { $tn_size = $_MG_USERPREFS['tn_size']; } else { if ($searchmode == 1) { $tn_size = $_MG_CONF['search_tn_size']; } else { $tn_size = $album->tn_size; } } list($tn_width, $tn_height) = self::getTNSize($tn_size, $album->tnWidth, $album->tnHeight); list($newwidth, $newheight) = self::getImageWH($this->media_size[0], $this->media_size[1], $tn_width, $tn_height); if (!isset($resolution_x)) { $resolution_x = $newwidth; } if (!isset($resolution_y)) { $resolution_y = $newheight; } $username = '******'; if ($this->owner_id != '' && $this->owner_id > 1) { $username = DB_getItem($_TABLES['users'], 'username', "uid=" . intval($this->owner_id)); } $filepath = self::getFilePath('orig', $this->filename, $this->mime_ext); $fs_bytes = @filesize($filepath); $fileSize = MG_getSize($fs_bytes); $direct_url = self::getFileUrl('disp', $this->filename, $this->mime_ext); $direct_path = self::getFilePath('disp', $this->filename, $this->mime_ext); if (!file_exists($direct_path)) { $direct_url = self::getFileUrl('disp', $this->filename, 'jpg'); } $edit_item = ''; if ($album->access == 3) { $edit_item = '<a href="' . $_MG_CONF['site_url'] . '/admin.php?mode=mediaedit&s=1&album_id=' . $this->album_id . '&mid=' . $this->id . '">' . $LANG_MG01['edit'] . '</a>'; } // build the small rating bar $rating_box = ''; if ($album->enable_rating > 0) { require_once $_CONF['path'] . 'plugins/mediagallery/include/lib-rating.php'; $starSize = $_MG_CONF['use_large_stars'] == 1 ? '' : 'sm'; $rating_box = MG_getRatingBar($album->enable_rating, $this->owner_id, $this->id, $this->votes, $this->rating, $starSize); } $hrefdirect = ''; if ($this->type == 0) { // standard image if ($this->remote == 1) { $hrefdirect = $this->remote_url; } else { $hrefdirect = $direct_url; } } $caption = PLG_replaceTags(str_replace('$', '$', $this->title)); if ($searchmode == 1) { $templatePath = MG_getTemplatePath_byName($_MG_CONF['search_album_skin']); } else { $templatePath = MG_getTemplatePath($this->album_id); } $L = COM_newTemplate($templatePath); $L->set_file('media_link', 'medialink.thtml'); $L->set_var(array('hrefdirect' => $hrefdirect, 'href' => $url_media_item, 'caption' => $caption, 'id' => 'id' . rand())); $media_start_link = $L->finish($L->parse('media_link_start', 'media_link')); if ($searchmode == 1) { $skin = $_MG_CONF['search_frame_skin']; $info = array('media_type' => $this->type, 'mime_type' => $this->mime_type, 'media_filename' => $this->filename, 'media_mime_ext' => $this->mime_ext, 'remote_media' => $this->remote_url, 'media_tn_attached' => $this->tn_attached); list($media_thumbnail, $media_thumbnail_file, $media_size) = self::getThumbInfo($info, $tn_size); } else { $skin = $album->image_skin; $media_thumbnail = $this->media_thumbnail; } $media_item_thumbnail = MG_getFramedImage($skin, $this->title, $url_media_item, $media_thumbnail, $newwidth, $newheight, $media_start_link); if ($mode == 1) { return $media_item_thumbnail; } $edit_link = ''; if (($type == 1 || $type == 2 || $type == 5) && ($album->playback_type == 0 || $album->playback_type == 1) && $_MG_CONF['popup_from_album'] == 1) { // check to see if comments and rating are enabled, if not, put a link to edit... if ($album->access == 3) { $edit_link = '<br' . XHTML . '><a href="' . $_MG_CONF['site_url'] . '/admin.php?mode=mediaedit&s=1&album_id=' . $this->album_id . '&mid=' . $this->id . '">' . $LANG_MG01['edit'] . '</a>'; } } if ($_MG_CONF['use_upload_time'] == 1) { $media_time = MG_getUserDateTimeFormat($this->upload_time); } else { $media_time = MG_getUserDateTimeFormat($this->time); } $media_title = !empty($this->title) ? PLG_replaceTags($this->title) : ''; $T = COM_newTemplate($templatePath); $T->set_file(array('media_cell_image' => 'album_page_media_cell.thtml', 'mp3_podcast' => 'mp3_podcast.thtml')); if ($this->mime_type == 'audio/mpeg' && $album->mp3ribbon) { $T->set_var(array('mp3_file' => self::getFileUrl('orig', $this->filename, $this->mime_ext), 'site_url' => $_MG_CONF['site_url'], 'id' => $this->mime_ext . rand())); $T->parse('mp3_podcast', 'mp3_podcast'); } else { $T->set_var('mp3_podcast', ''); } $T->set_var(array('edit_link' => $edit_link, 'play_now' => '', 'download_now' => $_MG_CONF['site_url'] . '/download.php?mid=' . $this->id, 'play_in_popup' => self::getHref_showvideo($this->id, $resolution_y, $resolution_x), 'row_height' => $tn_height, 'media_title' => $media_title, 'media_description' => PLG_replaceTags(nl2br($this->description)), 'media_tag' => strip_tags($this->title), 'media_time' => $media_time[0], 'media_owner' => $username, 'media_item_thumbnail' => $media_item_thumbnail, 'site_url' => $_MG_CONF['site_url'], 'lang_published' => $LANG_MG03['published'], 'lang_on' => $LANG_MG03['on'], 'lang_hyphen' => $this->album == '' ? '' : '-', 'media_link_start' => $media_start_link, 'media_link_end' => '</a>', 'artist' => $this->artist, 'musicalbum' => $this->album != '' ? $this->album : '', 'genre' => $this->genre != '' ? $this->genre : '', 'alt_edit_link' => $edit_item, 'filesize' => $fileSize, 'media_id' => $this->id, 'rating_box' => $rating_box)); if ($album->enable_keywords) { if (!empty($this->keywords)) { $kwText = ''; $keyWords = array(); $keyWords = explode(' ', $this->keywords); $numKeyWords = count($keyWords); for ($i = 0; $i < $numKeyWords; $i++) { $keyWords[$i] = str_replace('"', ' ', $keyWords[$i]); $searchKeyword = $keyWords[$i]; $keyWords[$i] = str_replace('_', ' ', $keyWords[$i]); $kwText .= '<a href="' . $_MG_CONF['site_url'] . '/search.php?mode=search&swhere=1&keywords=' . $searchKeyword . '&keyType=any">' . $keyWords[$i] . '</a>'; } $T->set_var(array('enable_keywords' => 1, 'media_keywords' => $kwText, 'lang_keywords' => $LANG_MG01['keywords'])); } else { $T->set_var('lang_keywords', ''); } } else { $T->set_var(array('enable_keywords' => '', 'lang_keywords' => '')); } if ($album->enable_comments) { $link = '<a href="' . $_MG_CONF['site_url'] . '/media.php?f=0' . '&sort=' . $sortOrder . '&s=' . $this->id . '">' . $LANG_MG03['comments'] . '</a>'; $cmtLink = $LANG_MG03['comments']; $cmtLink_alt = $link; if ($type == 4 || $type == 1 && $album->playback_type != 2 || $type == 2 && $album->playback_type != 2 || $type == 5 && $album->playback_type != 2) { $cmtLink = $link; $cmtLink_alt = ''; } $T->set_var(array('media_comments_count' => $this->comments, 'lang_comments' => $cmtLink, 'lang_comments_hot' => $cmtLink_alt)); $T->set_var('media_comments', $album->enable_comments); } if ($album->enable_views) { $T->set_var(array('media_views_count' => $this->views, 'lang_views' => $LANG_MG03['views'])); $T->set_var('media_views', $album->enable_views); } PLG_templateSetVars('mediagallery', $T); return $T->finish($T->parse('media_cell', 'media_cell_image')); }
function MG_mediaEdit($album_id, $media_id, $actionURL = '', $mqueue = 0, $view = 0, $back = '') { global $MG_albums, $_USER, $_CONF, $_MG_CONF, $_TABLES, $_MG_CONF, $LANG_MG00, $LANG_MG01, $LANG_MG03, $LANG_MG07, $_POST, $_DB_dbms; MG_initAlbums(); if ($actionURL == '') { $actionURL = $_MG_CONF['site_url'] . '/index.php'; } $retval = ''; $preview = ''; $preview_end = ''; $srcURL = ''; if ($view) { $srcURL = '&s=1'; } $T = new Template(MG_getTemplatePath($album_id)); $T->set_file(array('admin' => 'mediaedit.thtml', 'asf_options' => 'edit_asf_options.thtml', 'mp3_options' => 'edit_mp3_options.thtml', 'swf_options' => 'edit_swf_options.thtml', 'mov_options' => 'edit_mov_options.thtml', 'flv_options' => 'edit_flv_options.thtml')); $T->set_var('album_id', $album_id); // a little sanity check, make sure the media item really belongs to the passed album. $match = 0; // Find which albums this image is already in... $sql = "SELECT album_id FROM " . ($mqueue ? $_TABLES['mg_media_album_queue'] : $_TABLES['mg_media_albums']) . " WHERE media_id='" . DB_escapeString($media_id) . "'"; $result = DB_query($sql); $nRows = DB_numRows($result); $albums = array(); for ($i = 0; $i < $nRows; $i++) { $row = DB_fetchArray($result); $albums[$i] = $row['album_id']; if ($row['album_id'] == $album_id) { $match = 1; } } // pull the media information from the database... $sql = "SELECT * FROM " . ($mqueue ? $_TABLES['mg_mediaqueue'] : $_TABLES['mg_media']) . " WHERE media_id='" . DB_escapeString($media_id) . "'"; $result = DB_query($sql); $row = DB_fetchArray($result); if ($MG_albums[$album_id]->access != 3 && !SEC_inGroup($MG_albums[$album_id]->mod_group_id) && $row['media_user_id'] != $_USER['uid']) { COM_errorLog("Someone has tried to illegally sort albums in Media Gallery. User id: {$_USER['uid']}, Username: {$_USER['username']}, IP: {$REMOTE_ADDR}", 1); return MG_genericError($LANG_MG00['access_denied_msg']); } // Build Album List $level = 0; $album_jumpbox = '<select name="albums" width="40">'; $MG_albums[0]->buildJumpBox($album_id); $album_jumpbox .= '</select>'; // should check the above for errors, etc... if ($row['media_type'] == 0) { if (!function_exists('MG_readEXIF')) { require_once $_CONF['path'] . 'plugins/mediagallery/include/lib-exif.php'; } $exif_info = MG_readEXIF($row['media_id'], 1, $mqueue); if ($exif_info == '') { $exif_info = ''; } } else { $exif_info = ''; } $dtObject = new Date($row['media_time'], $_USER['tzid']); $media_time_month = $dtObject->month; $media_time_day = $dtObject->day; $media_time_year = $dtObject->year; $media_time_hour = $dtObject->hour; $media_time_minute = $dtObject->minute; $month_select = '<select name="media_month">'; $month_select .= COM_getMonthFormOptions($media_time_month); $month_select .= '</select>'; $day_select = '<select name="media_day">'; for ($i = 1; $i < 32; $i++) { $day_select .= '<option value="' . $i . '"' . ($media_time_day == $i ? 'selected="selected"' : "") . '>' . $i . '</option>'; } $day_select .= '</select>'; $current_year = (int) date("Y"); $end_year = $current_year + 10; $year_select = '<select name="media_year">'; for ($i = 1998; $i < $end_year; $i++) { $year_select .= '<option value="' . $i . '"' . ($media_time_year == $i ? 'selected="selected"' : "") . '>' . $i . '</option>'; } $year_select .= '</select>'; $hour_select = '<select name="media_hour">'; for ($i = 0; $i < 24; $i++) { $hour_select .= '<option value="' . $i . '"' . ($media_time_hour == $i ? 'selected="selected"' : "") . '>' . $i . '</option>'; } $hour_select .= '</select>'; $minute_select = '<select name="media_minute">'; for ($i = 0; $i < 60; $i++) { $minute_select .= '<option value="' . $i . '"' . ($media_time_minute == $i ? 'selected="selected"' : "") . '>' . ($i < 10 ? '0' : '') . $i . '</option>'; } $minute_select .= '</select>'; $i = 0; switch ($row['media_type']) { case 0: if (!file_exists($_MG_CONF['path_mediaobjects'] . 'disp/' . $row['media_filename'][0] . '/' . $row['media_filename'] . '.' . $row['media_mime_ext'])) { $pThumbnail = $row['media_filename'][0] . '/' . $row['media_filename'] . '.jpg'; } else { $pThumbnail = $row['media_filename'][0] . '/' . $row['media_filename'] . '.' . $row['media_mime_ext']; } $thumbnail = $_MG_CONF['mediaobjects_url'] . '/tn/' . $pThumbnail; $size = @getimagesize($_MG_CONF['path_mediaobjects'] . 'disp/' . $pThumbnail); if ($_CONF['image_lib'] == 'gdlib' && !function_exists("imagerotate")) { $rotate_right = ''; $rotate_left = ''; } else { $rotate_right = '<a href="' . $_MG_CONF['site_url'] . '/admin.php?mode=rotate&action=right' . $srcURL . '&queue=' . $mqueue . '&media_id=' . $row['media_id'] . '&album_id=' . $album_id . '">' . '<img src="' . $_MG_CONF['site_url'] . '/images/rotate_right_icon.gif" alt="' . $LANG_MG01['rotate_left'] . '" style="border:none;"/></a>'; $rotate_left = '<a href="' . $_MG_CONF['site_url'] . '/admin.php?mode=rotate&action=left' . $srcURL . '&queue=' . $mqueue . '&media_id=' . $row['media_id'] . '&album_id=' . $album_id . '">' . '<img src="' . $_MG_CONF['site_url'] . '/images/rotate_left_icon.gif" alt="' . $LANG_MG01['rotate_right'] . '" style="border:none;"/></a>'; } break; case 1: switch ($row['mime_type']) { case 'video/x-flv': $thumbnail = $_MG_CONF['mediaobjects_url'] . '/flv.png'; $size = @getimagesize($_MG_CONF['path_mediaobjects'] . 'flv.png'); $preview = "<a href=\"javascript:showVideo('" . $_MG_CONF['site_url'] . "/video.php?n=" . $row['media_id'] . ($mqueue ? "&s=q" : '') . "',415,540)\">"; $preview_end = "</a>"; break; case 'application/x-shockwave-flash': $thumbnail = $_MG_CONF['mediaobjects_url'] . '/flash.png'; $size = @getimagesize($_MG_CONF['path_mediaobjects'] . 'flash.png'); $preview = "<a href=\"javascript:showVideo('" . $_MG_CONF['site_url'] . "/video.php?n=" . $row['media_id'] . ($mqueue ? "&s=q" : '') . "',415,540)\">"; $preview_end = "</a>"; break; case 'video/mpeg': case 'video/x-mpeg': case 'video/x-mpeq2a': if ($_MG_CONF['use_wmp_mpeg'] == 1) { $thumbnail = $_MG_CONF['mediaobjects_url'] . '/wmp.png'; $size = @getimagesize($_MG_CONF['path_mediaobjects'] . 'wmp.png'); $preview = "<a href=\"javascript:showVideo('" . $_MG_CONF['site_url'] . "/video.php?n=" . $row['media_id'] . ($mqueue ? "&s=q" : '') . "',415,540)\">"; $preview_end = "</a>"; break; } case 'video/x-motion-jpeg': case 'video/quicktime': case 'video/x-qtc': case 'audio/mpeg': $thumbnail = $_MG_CONF['mediaobjects_url'] . '/quicktime.png'; $size = @getimagesize($_MG_CONF['path_mediaobjects'] . 'quicktime.png'); $preview = "<a href=\"javascript:showVideo('" . $_MG_CONF['site_url'] . "/video.php?n=" . $row['media_id'] . ($mqueue ? "&s=q" : '') . "',415,540)\">"; $preview_end = "</a>"; break; case 'video/x-ms-asf': case 'video/x-ms-asf-plugin': case 'video/avi': case 'video/msvideo': case 'video/x-msvideo': case 'video/avs-video': case 'video/x-ms-wmv': case 'video/x-ms-wvx': case 'video/x-ms-wm': case 'application/x-troff-msvideo': case 'application/x-ms-wmz': case 'application/x-ms-wmd': $thumbnail = $_MG_CONF['mediaobjects_url'] . '/wmp.png'; $size = @getimagesize($_MG_CONF['path_mediaobjects'] . 'wmp.png'); $preview = "<a href=\"javascript:showVideo('" . $_MG_CONF['site_url'] . "/video.php?n=" . $row['media_id'] . ($mqueue ? "&s=q" : '') . "',415,540)\">"; $preview_end = "</a>"; break; default: $thumbnail = $_MG_CONF['mediaobjects_url'] . '/video.png'; $size = @getimagesize($_MG_CONF['path_mediaobjects'] . 'video.png'); break; } $rotate_right = ''; $rotate_left = ''; break; case 2: $thumbnail = $_MG_CONF['mediaobjects_url'] . '/audio.png'; $size = @getimagesize($_MG_CONF['path_mediaobjects'] . 'audio.png'); $preview = "<a href=\"javascript:showVideo('" . $_MG_CONF['site_url'] . "/video.php?n=" . $row['media_id'] . ($mqueue ? "&s=q" : '') . "',325,330)\">"; $preview_end = "</a>"; $rotate_right = ''; $rotate_left = ''; break; case 4: switch ($row['mime_type']) { case 'application/zip': $thumbnail = $_MG_CONF['mediaobjects_url'] . '/zip.png'; $size = @getimagesize($_MG_CONF['path_mediaobjects'] . 'zip.png'); break; case 'application/pdf': $thumbnail = $_MG_CONF['mediaobjects_url'] . '/pdf.png'; $size = @getimagesize($_MG_CONF['path_mediaobjects'] . 'pdf.png'); break; default: $thumbnail = $_MG_CONF['mediaobjects_url'] . '/generic.png'; $size = @getimagesize($_MG_CONF['path_mediaobjects'] . 'generic.png'); break; } $rotate_right = ''; $rotate_left = ''; break; case 5: $thumbnail = $_MG_CONF['mediaobjects_url'] . '/remote.png'; $size = @getimagesize($_MG_CONF['path_mediaobjects'] . 'remote.png'); $rotate_left = ''; $rotate_right = ''; break; } $media_time = MG_getUserDateTimeFormat($row['media_time']); 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)) { $pAttachedThumbnail = $_MG_CONF['path_mediaobjects'] . 'tn/' . $row['media_filename'][0] . '/tn_' . $row['media_filename'] . $ext; $iAttachedThumbnail = $_MG_CONF['mediaobjects_url'] . '/tn/' . $row['media_filename'][0] . '/tn_' . $row['media_filename'] . $ext; break; } } $atnsize = @getimagesize($pAttachedThumbnail); if ($atnsize != FALSE) { if ($atnsize[0] > $atnsize[1]) { $ratio = $atnsize[0] / 200; $newwidth = 200; $newheight = round($atnsize[1] / $ratio); } else { $ratio = $atnsize[1] / 200; $newheight = 200; $newwidth = round($atnsize[0] / $ratio); } $atnsize = 'height="' . $newheight . '" width="' . $newwidth . '"'; } else { $atnsize = ''; } $T->set_var(array('attached_thumbnail' => '<img src="' . $_MG_CONF['mediaobjects_url'] . '/tn/' . $row['media_filename'][0] . '/tn_' . $row['media_filename'] . $ext . '" alt="" ' . $atnsize . '/>')); } // playback options, if needed... if ($row['mime_type'] == 'video/x-ms-asf' || $row['mime_type'] == 'video/x-ms-wvx' || $row['mime_type'] == 'video/x-ms-wm' || $row['mime_type'] == 'video/x-ms-wmx' || $row['mime_type'] == 'video/x-ms-wmv' || $row['mime_type'] == 'audio/x-ms-wma' || $row['mime_type'] == 'video/x-msvideo') { // pull defaults, then override... $playback_options['autostart'] = $_MG_CONF['asf_autostart']; $playback_options['enablecontextmenu'] = $_MG_CONF['asf_enablecontextmenu']; $playback_options['stretchtofit'] = $_MG_CONF['asf_stretchtofit']; $playback_options['uimode'] = $_MG_CONF['asf_uimode']; $playback_options['showstatusbar'] = $_MG_CONF['asf_showstatusbar']; $playback_options['playcount'] = $_MG_CONF['asf_playcount']; $playback_options['height'] = $_MG_CONF['asf_height']; $playback_options['width'] = $_MG_CONF['asf_width']; $playback_options['bgcolor'] = $_MG_CONF['asf_bgcolor']; $poResult = DB_query("SELECT * FROM {$_TABLES['mg_playback_options']} WHERE media_id='" . DB_escapeString($row['media_id']) . "'"); $poNumRows = DB_numRows($poResult); for ($i = 0; $i < $poNumRows; $i++) { $poRow = DB_fetchArray($poResult); $playback_options[$poRow['option_name']] = $poRow['option_value']; } $uimode_select = '<select name="uimode">'; $uimode_select .= '<option value="none" ' . ($playback_options['uimode'] == 'none' ? ' selected="selected"' : '') . '>' . $LANG_MG07['none'] . '</option>'; $uimode_select .= '<option value="mini" ' . ($playback_options['uimode'] == 'mini' ? ' selected="selected"' : '') . '>' . $LANG_MG07['mini'] . '</option>'; $uimode_select .= '<option value="full" ' . ($playback_options['uimode'] == 'full' ? ' selected="selected"' : '') . '>' . $LANG_MG07['full'] . '</option>'; $uimode_select .= '</select>'; $T->set_var(array('autostart_enabled' => $playback_options['autostart'] ? ' checked="checked"' : '', 'autostart_disabled' => $playback_options['autostart'] ? '' : ' checked="checked"', 'enablecontextmenu_enabled' => $playback_options['enablecontextmenu'] ? ' checked="checked"' : '', 'enablecontextmenu_disabled' => $playback_options['enablecontextmenu'] ? '' : ' checked="checked"', 'stretchtofit_enabled' => $playback_options['stretchtofit'] ? ' checked="checked"' : '', 'stretchtofit_disabled' => $playback_options['stretchtofit'] ? '' : ' checked="checked"', 'showstatusbar_enabled' => $playback_options['showstatusbar'] ? ' checked="checked"' : '', 'showstatusbar_disabled' => $playback_options['showstatusbar'] ? '' : ' checked="checked"', 'uimode_select' => $uimode_select, 'uimode' => $playback_options['uimode'], 'playcount' => $playback_options['playcount'], 'height' => $playback_options['height'], 'width' => $playback_options['width'], 'bgcolor' => $playback_options['bgcolor'], 'lang_playcount' => $LANG_MG07['playcount'], 'lang_playcount_help' => $LANG_MG07['playcount_help'], 'lang_playback_options' => $LANG_MG07['playback_options'], 'lang_option' => $LANG_MG07['option'], 'lang_description' => $LANG_MG07['description'], 'lang_on' => $LANG_MG07['on'], 'lang_off' => $LANG_MG07['off'], 'lang_auto_start' => $LANG_MG07['auto_start'], 'lang_auto_start_help' => $LANG_MG07['auto_start_help'], 'lang_enable_context_menu' => $LANG_MG07['enable_context_menu'], 'lang_enable_context_menu_help' => $LANG_MG07['enable_context_menu_help'], 'lang_stretch_to_fit' => $LANG_MG07['stretch_to_fit'], 'lang_stretch_to_fit_help' => $LANG_MG07['stretch_to_fit_help'], 'lang_status_bar' => $LANG_MG07['status_bar'], 'lang_status_bar_help' => $LANG_MG07['status_bar_help'], 'lang_ui_mode' => $LANG_MG07['ui_mode'], 'lang_ui_mode_help' => $LANG_MG07['ui_mode_help'], 'lang_height' => $LANG_MG07['height'], 'lang_width' => $LANG_MG07['width'], 'lang_height_help' => $LANG_MG07['height_help'], 'lang_width_help' => $LANG_MG07['width_help'], 'lang_bgcolor' => $LANG_MG07['bgcolor'], 'lang_resolution' => $LANG_MG07['resolution'], 'resolution' => $row['media_resolution_x'] > 0 && $row['media_resolution_y'] > 0 ? $row['media_resolution_x'] . 'x' . $row['media_resolution_y'] : 'unknown', 'lang_bgcolor_help' => $LANG_MG07['bgcolor_help'])); $T->parse('playback_options', 'asf_options'); } if ($row['mime_type'] == 'audio/mpeg') { // pull defaults, then override... $playback_options['autostart'] = $_MG_CONF['mp3_autostart']; $playback_options['enablecontextmenu'] = $_MG_CONF['mp3_enablecontextmenu']; $playback_options['uimode'] = $_MG_CONF['mp3_uimode']; $playback_options['showstatusbar'] = $_MG_CONF['mp3_showstatusbar']; $playback_options['loop'] = $_MG_CONF['mp3_loop']; $poResult = DB_query("SELECT * FROM {$_TABLES['mg_playback_options']} WHERE media_id='" . DB_escapeString($row['media_id']) . "'"); $poNumRows = DB_numRows($poResult); for ($i = 0; $i < $poNumRows; $i++) { $poRow = DB_fetchArray($poResult); $playback_options[$poRow['option_name']] = $poRow['option_value']; } $uimode_select = '<select name="uimode">'; $uimode_select .= '<option value="none" ' . ($playback_options['uimode'] == 'none' ? ' selected="selected"' : '') . '>' . $LANG_MG07['none'] . '</option>'; $uimode_select .= '<option value="mini" ' . ($playback_options['uimode'] == 'mini' ? ' selected="selected"' : '') . '>' . $LANG_MG07['mini'] . '</option>'; $uimode_select .= '<option value="full" ' . ($playback_options['uimode'] == 'full' ? ' selected="selected"' : '') . '>' . $LANG_MG07['full'] . '</option>'; $uimode_select .= '</select>'; $T->set_var(array('audio_tab' => true, 'autostart_enabled' => $playback_options['autostart'] ? ' checked="checked"' : '', 'autostart_disabled' => $playback_options['autostart'] ? '' : ' checked="checked"', 'enablecontextmenu_enabled' => $playback_options['enablecontextmenu'] ? ' checked="checked"' : '', 'enablecontextmenu_disabled' => $playback_options['enablecontextmenu'] ? '' : ' checked="checked"', 'showstatusbar_enabled' => $playback_options['showstatusbar'] ? ' checked="checked"' : '', 'showstatusbar_disabled' => $playback_options['showstatusbar'] ? '' : ' checked="checked"', 'loop_enabled' => $playback_options['loop'] ? ' checked="checked"' : '', 'loop_disabled' => $playback_options['loop'] ? '' : ' checked="checked"', 'uimode_select' => $uimode_select, 'uimode' => $playback_options['uimode'], 'lang_playback_options' => $LANG_MG07['playback_options'], 'lang_option' => $LANG_MG07['option'], 'lang_description' => $LANG_MG07['description'], 'lang_on' => $LANG_MG07['on'], 'lang_off' => $LANG_MG07['off'], 'lang_auto_start' => $LANG_MG07['auto_start'], 'lang_auto_start_help' => $LANG_MG07['auto_start_help'], 'lang_enable_context_menu' => $LANG_MG07['enable_context_menu'], 'lang_enable_context_menu_help' => $LANG_MG07['enable_context_menu_help'], 'lang_stretch_to_fit' => $LANG_MG07['stretch_to_fit'], 'lang_stretch_to_fit_help' => $LANG_MG07['stretch_to_fit_help'], 'lang_status_bar' => $LANG_MG07['status_bar'], 'lang_status_bar_help' => $LANG_MG07['status_bar_help'], 'lang_ui_mode' => $LANG_MG07['ui_mode'], 'lang_ui_mode_help' => $LANG_MG07['ui_mode_help'], 'lang_loop' => $LANG_MG07['loop'], 'lang_loop_help' => $LANG_MG07['loop_help'])); $T->parse('playback_options', 'mp3_options'); } if ($row['mime_type'] == 'application/x-shockwave-flash' || $row['mime_type'] == 'video/x-flv') { // pull defaults, then override... $playback_options['play'] = $_MG_CONF['swf_play']; $playback_options['menu'] = $_MG_CONF['swf_menu']; $playback_options['quality'] = $_MG_CONF['swf_quality']; $playback_options['height'] = $_MG_CONF['swf_height']; $playback_options['width'] = $_MG_CONF['swf_width']; $playback_options['loop'] = $_MG_CONF['swf_loop']; $playback_options['scale'] = $_MG_CONF['swf_scale']; $playback_options['wmode'] = $_MG_CONF['swf_wmode']; $playback_options['allowscriptaccess'] = $_MG_CONF['swf_allowscriptaccess']; $playback_options['bgcolor'] = $_MG_CONF['swf_bgcolor']; $playback_options['swf_version'] = $_MG_CONF['swf_version']; $poResult = DB_query("SELECT * FROM {$_TABLES['mg_playback_options']} WHERE media_id='" . DB_escapeString($row['media_id']) . "'"); $poNumRows = DB_numRows($poResult); for ($i = 0; $i < $poNumRows; $i++) { $poRow = DB_fetchArray($poResult); $playback_options[$poRow['option_name']] = $poRow['option_value']; } $quality_select = '<select name="quality">'; $quality_select .= '<option value="low" ' . ($playback_options['quality'] == 'low' ? ' selected="selected"' : '') . '>' . $LANG_MG07['low'] . '</option>'; $quality_select .= '<option value="high" ' . ($playback_options['quality'] == 'high' ? ' selected="selected"' : '') . '>' . $LANG_MG07['high'] . '</option>'; $quality_select .= '</select>'; $scale_select = '<select name="scale">'; $scale_select .= '<option value="showall" ' . ($playback_options['scale'] == 'showall' ? ' selected="selected"' : '') . '>' . $LANG_MG07['showall'] . '</option>'; $scale_select .= '<option value="noborder" ' . ($playback_options['scale'] == 'noborder' ? ' selected="selected"' : '') . '>' . $LANG_MG07['noborder'] . '</option>'; $scale_select .= '<option value="exactfit" ' . ($playback_options['scale'] == 'exactfit' ? ' selected="selected"' : '') . '>' . $LANG_MG07['exactfit'] . '</option>'; $scale_select .= '</select>'; $wmode_select = '<select name="wmode">'; $wmode_select .= '<option value="window" ' . ($playback_options['wmode'] == 'window' ? ' selected="selected"' : '') . '>' . $LANG_MG07['window'] . '</option>'; $wmode_select .= '<option value="opaque" ' . ($playback_options['wmode'] == 'opaque' ? ' selected="selected"' : '') . '>' . $LANG_MG07['opaque'] . '</option>'; $wmode_select .= '<option value="transparent" ' . ($playback_options['wmode'] == 'transparent' ? ' selected="selected"' : '') . '>' . $LANG_MG07['transparent'] . '</option>'; $wmode_select .= '</select>'; $asa_select = '<select name="allowscriptaccess">'; $asa_select .= '<option value="always" ' . ($playback_options['allowscriptaccess'] == 'always' ? ' selected="selected"' : '') . '>' . $LANG_MG07['always'] . '</option>'; $asa_select .= '<option value="sameDomain" ' . ($playback_options['allowscriptaccess'] == 'sameDomain' ? ' selected="selected"' : '') . '>' . $LANG_MG07['sameDomain'] . '</option>'; $asa_select .= '<option value="never" ' . ($playback_options['allowscriptaccess'] == 'never' ? ' selected="selected"' : '') . '>' . $LANG_MG07['never'] . '</option>'; $asa_select .= '</select>'; $T->set_var(array('play_enabled' => $playback_options['play'] ? ' checked="checked"' : '', 'play_disabled' => $playback_options['play'] ? '' : ' checked="checked"', 'menu_enabled' => $playback_options['menu'] ? ' checked="checked"' : '', 'menu_disabled' => $playback_options['menu'] ? '' : ' checked="checked"', 'loop_enabled' => $playback_options['loop'] ? ' checked="checked"' : '', 'loop_disabled' => $playback_options['loop'] ? '' : ' checked="checked"', 'quality_select' => $quality_select, 'scale_select' => $scale_select, 'wmode_select' => $wmode_select, 'asa_select' => $asa_select, 'flashvars' => isset($playback_options['flashvars']) ? $playback_options['flashvars'] : '', 'height' => $playback_options['height'], 'width' => $playback_options['width'], 'bgcolor' => $playback_options['bgcolor'], 'swf_version' => $playback_options['swf_version'], 'lang_playback_options' => $LANG_MG07['playback_options'], 'lang_option' => $LANG_MG07['option'], 'lang_description' => $LANG_MG07['description'], 'lang_on' => $LANG_MG07['on'], 'lang_off' => $LANG_MG07['off'], 'lang_height' => $LANG_MG07['height'], 'lang_width' => $LANG_MG07['width'], 'lang_height_help' => $LANG_MG07['height_help'], 'lang_width_help' => $LANG_MG07['width_help'], 'lang_auto_start' => $LANG_MG07['auto_start'], 'lang_auto_start_help' => $LANG_MG07['auto_start_help'], 'lang_menu' => $LANG_MG07['menu'], 'lang_menu_help' => $LANG_MG07['menu_help'], 'lang_scale' => $LANG_MG07['scale'], 'lang_swf_scale_help' => $LANG_MG07['swf_scale_help'], 'lang_wmode' => $LANG_MG07['wmode'], 'lang_wmode_help' => $LANG_MG07['wmode_help'], 'lang_loop' => $LANG_MG07['loop'], 'lang_loop_help' => $LANG_MG07['loop_help'], 'lang_quality' => $LANG_MG07['quality'], 'lang_quality_help' => $LANG_MG07['quality_help'], 'lang_flash_vars' => $LANG_MG07['flash_vars'], 'lang_asa' => $LANG_MG07['asa'], 'lang_asa_help' => $LANG_MG07['asa_help'], 'lang_bgcolor' => $LANG_MG07['bgcolor'], 'lang_bgcolor_help' => $LANG_MG07['bgcolor_help'], 'lang_swf_version_help' => $LANG_MG07['swf_version_help'])); if ($row['mime_type'] == 'application/x-shockwave-flash') { $T->parse('playback_options', 'swf_options'); } else { $T->parse('playback_options', 'flv_options'); } } if ($row['media_mime_ext'] == 'mov' || $row['media_mime_ext'] == 'mp4' || $row['mime_type'] == 'video/quicktime' || $row['mime_type'] == 'video/mpeg') { // pull defaults, then override... $playback_options['autoref'] = $_MG_CONF['mov_autoref']; $playback_options['autoplay'] = $_MG_CONF['mov_autoplay']; $playback_options['controller'] = $_MG_CONF['mov_controller']; $playback_options['kioskmode'] = isset($_MG_CONF['mov_kioskmod']) ? $_MG_CONF['mov_kiokmode'] : ''; $playback_options['scale'] = $_MG_CONF['mov_scale']; $playback_options['loop'] = $_MG_CONF['mov_loop']; $playback_options['height'] = $_MG_CONF['mov_height']; $playback_options['width'] = $_MG_CONF['mov_width']; $playback_options['bgcolor'] = $_MG_CONF['mov_bgcolor']; $poResult = DB_query("SELECT * FROM {$_TABLES['mg_playback_options']} WHERE media_id='" . DB_escapeString($row['media_id']) . "'"); $poNumRows = DB_numRows($poResult); for ($i = 0; $i < $poNumRows; $i++) { $poRow = DB_fetchArray($poResult); $playback_options[$poRow['option_name']] = $poRow['option_value']; } $scale_select = '<select name="scale">'; $scale_select .= '<option value="tofit" ' . ($playback_options['scale'] == 'tofit' ? ' selected="selected"' : '') . '>' . $LANG_MG07['to_fit'] . '</option>'; $scale_select .= '<option value="aspect" ' . ($playback_options['scale'] == 'aspect' ? ' selected="selected"' : '') . '>' . $LANG_MG07['aspect'] . '</option>'; $scale_select .= '<option value="1" ' . ($playback_options['scale'] == '1' ? ' selected="selected"' : '') . '>' . $LANG_MG07['normal_size'] . '</option>'; $scale_select .= '</select>'; $T->set_var(array('autoref_enabled' => $playback_options['autoref'] ? ' checked="checked"' : '', 'autoref_disabled' => $playback_options['autoref'] ? '' : ' checked="checked"', 'autoplay_enabled' => $playback_options['autoplay'] ? ' checked="checked"' : '', 'autoplay_disabled' => $playback_options['autoplay'] ? '' : ' checked="checked"', 'controller_enabled' => $playback_options['controller'] ? ' checked="checked"' : '', 'controller_disabled' => $playback_options['controller'] ? '' : ' checked="checked"', 'kioskmode_enabled' => $playback_options['kioskmode'] ? ' checked="checked"' : '', 'kioskmode_disabled' => $playback_options['kioskmode'] ? '' : ' checked="checked"', 'scale_select' => $scale_select, 'loop_enabled' => $playback_options['loop'] ? ' checked="checked"' : '', 'loop_disabled' => $playback_options['loop'] ? '' : ' checked="checked"', 'height' => $playback_options['height'], 'width' => $playback_options['width'], 'bgcolor' => $playback_options['bgcolor'], 'lang_playback_options' => $LANG_MG07['playback_options'], 'lang_option' => $LANG_MG07['option'], 'lang_description' => $LANG_MG07['description'], 'lang_on' => $LANG_MG07['on'], 'lang_off' => $LANG_MG07['off'], 'lang_height' => $LANG_MG07['height'], 'lang_width' => $LANG_MG07['width'], 'lang_height_help' => $LANG_MG07['height_help'], 'lang_width_help' => $LANG_MG07['width_help'], 'lang_auto_start' => $LANG_MG07['auto_start'], 'lang_auto_start_help' => $LANG_MG07['auto_start_help'], 'lang_auto_ref' => $LANG_MG07['auto_ref'], 'lang_auto_ref_help' => $LANG_MG07['auto_ref_help'], 'lang_controller' => $LANG_MG07['controller'], 'lang_controller_help' => $LANG_MG07['controller_help'], 'lang_kiosk_mode' => $LANG_MG07['kiosk_mode'], 'lang_kiosk_mode_help' => $LANG_MG07['kiosk_mode_help'], 'lang_scale' => $LANG_MG07['scale'], 'lang_scale_help' => $LANG_MG07['scale_help'], 'lang_loop' => $LANG_MG07['loop'], 'lang_loop_help' => $LANG_MG07['loop_help'], 'lang_bgcolor' => $LANG_MG07['bgcolor'], 'lang_bgcolor_help' => $LANG_MG07['bgcolor_help'])); $T->parse('playback_options', 'mov_options'); } $T->set_var(array('original_filename' => $row['media_original_filename'], 'attach_tn' => $row['media_tn_attached'], 'at_tn_checked' => $row['media_tn_attached'] == 1 ? ' checked="checked"' : '', 'album_id' => $album_id, 'media_thumbnail' => $thumbnail, 'nocache' => time(), 'media_id' => $row['media_id'], 'media_title' => $row['media_title'], 'media_desc' => $row['media_desc'], 'media_time' => $media_time[0], 'media_views' => $row['media_views'], 'media_comments' => $row['media_comments'], 'media_exif_info' => $exif_info, 'media_rating_max' => 5, 'height' => $size[1] + 50, 'width' => $size[0] + 40, 'queue' => $mqueue, 'month_select' => $month_select, 'day_select' => $day_select, 'year_select' => $year_select, 'hour_select' => $hour_select, 'minute_select' => $minute_select, 'user_ip' => $row['media_user_ip'], 'album_select' => $album_jumpbox, 'media_rating' => $row['media_rating'] / 2, 'media_votes' => $row['media_votes'], 's_mode' => 'edit', 's_title' => $LANG_MG01['edit_media'], 's_rotate_right' => $rotate_right, 's_rotate_left' => $rotate_left, 's_form_action' => $actionURL, 'allowed_html' => COM_allowedHTML(SEC_getUserPermissions(), false, 'mediagallery', 'media_title'), 'site_url' => $_MG_CONF['site_url'], 'preview' => $preview, 'preview_end' => $preview_end)); if ($row['remote_media'] == 1) { $T->set_var(array('remoteurl' => $row['remote_url'], 'lang_remote_url' => $LANG_MG01['remote_url'])); } else { $T->set_var(array('remoteurl' => $row['remote_url'], 'lang_remote_url' => $LANG_MG01['alternate_url'])); } if ($row['media_type'] == 1) { $T->set_var(array('lang_resolution' => $LANG_MG07['resolution'], 'resolution' => $row['media_resolution_x'] > 0 && $row['media_resolution_y'] > 0 ? $row['media_resolution_x'] . 'x' . $row['media_resolution_y'] : 'unknown')); } else { $T->set_var(array('lang_resolution' => '', 'resolution' => '')); } // Pull user information now if ($row['media_user_id'] != '') { if ($_CONF['show_fullname']) { $displayname = 'fullname'; } else { $displayname = 'username'; } $username = DB_getItem($_TABLES['users'], $displayname, "uid={$row['media_user_id']}"); } else { $username = ''; } $userselect = '<select name="owner_name"> '; $sql = "SELECT * FROM {$_TABLES['users']} WHERE status=3 AND uid > 1 ORDER BY username ASC"; $result = DB_query($sql); while ($userRow = DB_fetchArray($result)) { $userselect .= '<option value="' . $userRow['uid'] . '"' . ($userRow['uid'] == $row['media_user_id'] ? ' selected="selected"' : '') . '>' . $userRow['username'] . '</option>' . LB; } $userselect .= '</select>'; if (SEC_hasRights('mediagallery.admin')) { $T->set_var('username', $userselect); } else { $T->set_var('username', $username); } $cat_select = '<select name="cat_id" id="cat_id">'; $cat_select .= '<option value="">' . $LANG_MG01['no_category'] . '</option>'; $result = DB_query("SELECT * FROM {$_TABLES['mg_category']} ORDER BY cat_id ASC"); while ($catRow = DB_fetchArray($result)) { $cat_select .= '<option value="' . $catRow['cat_id'] . '" ' . ($catRow['cat_id'] == $row['media_category'] ? ' selected="selected"' : '') . '>' . $catRow['cat_name'] . '</option>'; } $cat_select .= '</select>'; // keywords $keywords = $row['media_keywords']; if ($back != '') { $T->set_var(array('rpath' => htmlentities($back, ENT_QUOTES, COM_getEncodingt()))); } else { $T->set_var(array('rpath' => '')); } $artist = $row['artist']; $musicalbum = $row['album']; $genre = $row['genre']; // language items... $T->set_var(array('lang_original_filename' => $LANG_MG01['original_filename'], 'lang_media_item' => $LANG_MG00['media_col_header'], 'lang_media_attributes' => $LANG_MG01['media_attributes'], 'lang_mediaattributes' => $LANG_MG01['mediaattributes'], 'lang_attached_thumbnail' => $LANG_MG01['attached_thumbnail'], 'lang_category' => $LANG_MG01['category'], 'lang_keywords' => $LANG_MG01['keywords'], 'lang_rating' => $LANG_MG03['rating'], 'lang_comments' => $LANG_MG03['comments'], 'lang_votes' => $LANG_MG03['votes'], 'media_edit_title' => $LANG_MG01['media_edit'], 'media_edit_help' => $LANG_MG01['media_edit_help'], 'rotate_left' => $LANG_MG01['rotate_left'], 'rotate_right' => $LANG_MG01['rotate_right'], 'lang_title' => $LANG_MG01['title'], 'albums' => $LANG_MG01['albums'], 'description' => $LANG_MG01['description'], 'capture_time' => $LANG_MG01['capture_time'], 'views' => $LANG_MG03['views'], 'uploaded_by' => $LANG_MG01['uploaded_by'], 'submit' => $LANG_MG01['submit'], 'cancel' => $LANG_MG01['cancel'], 'reset' => $LANG_MG01['reset'], 'lang_save' => $LANG_MG01['save'], 'lang_reset' => $LANG_MG01['reset'], 'lang_cancel' => $LANG_MG01['cancel'], 'lang_reset_rating' => $LANG_MG01['reset_rating'], 'lang_reset_views' => $LANG_MG01['reset_views'], 'cat_select' => $cat_select, 'media_keywords' => $keywords, 'lang_replacefile' => $LANG_MG01['replace_file'], 'artist' => $artist, 'musicalbum' => $musicalbum, 'genre' => $genre, 'lang_artist' => $LANG_MG01['artist'], 'lang_genre' => $LANG_MG01['genre'], 'lang_music_album' => $LANG_MG01['music_album'])); $T->parse('output', 'admin'); $retval .= $T->finish($T->get_var('output')); return $retval; }
/** * Save user uploads * * @param int album_id album_id save uploaded media * @return string HTML * */ function MG_saveRemoteUpload($albumId) { global $MG_albums, $_FILES, $_CONF, $_TABLES, $_MG_CONF, $LANG_MG01, $LANG_MG02, $LANG_MG03, $_POST; $retval = ''; $retval .= COM_startBlock($LANG_MG03['upload_results'], '', COM_getBlockTemplate('_admin_block', 'header')); $T = new Template(MG_getTemplatePath($albumId)); $T->set_file('mupload', 'useruploadstatus.thtml'); $T->set_var('site_url', $_CONF['site_url']); $statusMsg = ''; $file = array(); $file = $_FILES['thumbnail']; $successfull_upload = 0; $remoteURL = array(); $remoteURL = $_POST['remoteurl']; $totalUploads = count($remoteURL); for ($i = 0; $i < $totalUploads; $i++) { $errorFound = 0; if ($remoteURL[$i] == '') { continue; } $URL = $remoteURL[$i]; $uploadType = COM_applyFilter($_POST['type'][$i]); $caption = $_POST['caption'][$i]; $description = $_POST['description'][$i]; $keywords = $_POST['keywords'][$i]; $category = COM_applyFilter($_POST['cat_id'][$i], true); $thumbnail = $file['tmp_name'][$i]; $resolution_x = isset($_POST['width'][$i]) ? COM_applyFilter($_POST['width'][$i], true) : 0; $resolution_y = isset($_POST['height'][$i]) ? COM_applyFilter($_POST['height'][$i], true) : 0; if ($thumbnail != '') { $attachedThumbnail = 1; } else { //Jon Deliz:THUMBNAIL: custom code to check and see if uploadType is 4 (JPG) or 6 (GIF). // If you add other options for photos and want the thumbnail generation to work, you must // add them to this list!!! if (in_array($uploadType, array(4, 6, 7, 8)) && $_MG_CONF['enable_remote_images'] == 1) { $attachedThumbnail = 1; $thumbnail = $URL; } else { $attachedThumbnail = 0; } } // set the mime type here switch ($uploadType) { case 0: // streaming FLV $mimeType = 'video/x-flv'; $urlParts = array(); $urlParts = parse_url($URL); $pathParts = array(); $pathParts = explode('/', $urlParts['path']); $ppCount = count($pathParts); $pPath = ''; for ($x = 1; $x < $ppCount - 1; $x++) { $pPath .= '/' . $pathParts[$x]; } $videoFile = $pathParts[$ppCount - 1]; if ($urlParts['scheme'] != 'rtmp' && $urlParts['scheme'] != 'rtsp') { $statusMsg .= sprintf($LANG_MG02['invalid_remote_url'] . '<br>', $i); $errorFound++; $retval = MG_errorHandler($statusMsg); return $retval; } break; case 1: $mimeType = 'video/quicktime'; break; case 2: $mimeType = 'video/x-ms-asf'; break; case 3: $mimeType = 'audio/mpeg'; break; case 4: $mimeType = 'image/jpg'; break; case 5: $mimeType = 'embed'; $videoFile = 'Embedded Video'; if (!preg_match("/embed/i", $URL) && !preg_match("/movie/i", $URL)) { $statusMsg .= sprintf($LANG_MG02['invalid_embed_url'] . '<br>', $i); $errorFound++; $retval = MG_errorHandler($statusMsg); return $retval; exit; } break; case 6: $mimeType = 'image/gif'; break; case 7: $mimeType = 'image/png'; break; case 8: //new case item added to handle GIF images. Approx. line 209 $mimeType = 'image/bmp'; break; default: $fileNumber = $i + 1; $retval = MG_errorHandler($LANG_MG01['file_number'] . ' ' . $fileNumber . ' - ' . $LANG_MG02['no_format']); return $retval; exit; } if ($errorFound) { continue; } list($rc, $msg) = MG_getRemote($URL, $mimeType, $albumId, $caption, $description, $keywords, $category, $attachedThumbnail, $thumbnail, $resolution_x, $resolution_y); $statusMsg .= $msg . "<br />"; if ($rc == true) { $successfull_upload++; } } if ($successfull_upload) { MG_notifyModerators($albumId); } // failsafe check - after all the uploading is done, double check that the database counts // equal the actual count of items shown in the database, if not, fix the counts and log // the error $dbCount = DB_count($_TABLES['mg_media_albums'], 'album_id', intval($albumId)); $aCount = DB_getItem($_TABLES['mg_albums'], 'media_count', "album_id=" . intval($albumId)); if ($dbCount != $aCount) { DB_query("UPDATE " . $_TABLES['mg_albums'] . " SET media_count=" . $dbCount . " WHERE album_id=" . intval($albumId)); COM_errorLog("MediaGallery: Upload processing - Counts don't match - dbCount = " . $dbCount . " aCount = " . $aCount); } $T->set_var('status_message', $statusMsg); $tmp = $_MG_CONF['site_url'] . '/album.php?aid=' . $albumId . '&page=1'; $redirect = sprintf($LANG_MG03['album_redirect'], $tmp); $T->set_var('redirect', $redirect); $T->parse('output', 'mupload'); $retval .= $T->finish($T->get_var('output')); $retval .= COM_endBlock(COM_getBlockTemplate('_admin_block', 'footer')); return $retval; }
/** * Continues a session - handles timeout, looping, etc. * * @parm char session id to continue * @parm int number of items to process per run * 0 indicates initial run * @return char HTML of status screen */ function MG_continueSession($session_id, $item_limit, $refresh_rate) { global $_CONF, $_MG_CONF, $_TABLES, $_USER, $LANG_MG00, $LANG_MG01, $LANG_MG02; $retval = ''; $cycle_start_time = time(); $temp_time = array(); $timer_expired = false; $num_rows = 0; $session_id = COM_applyFilter($session_id); // Pull the session status info $sql = "SELECT * FROM {$_TABLES['mg_sessions']} " . "WHERE session_id='" . addslashes($session_id) . "'"; $result = DB_query($sql, 1); if (DB_error()) { COM_errorLog("MediaGallery: Error - Unable to retrieve batch session data"); return ''; } $nRows = DB_numRows($result); if ($nRows > 0) { $session = DB_fetchArray($result); } else { COM_errorLog("MediaGallery: Error - Unable to find batch session id"); return ''; // no session found } // security check - make sure we are continuing a session that we own... if ($session['session_uid'] != $_USER['uid'] && !SEC_hasRights('mediagallery.admin')) { return COM_showMessageText($LANG_MG00['access_denied_msg']); } // Setup timer information $time_limit = $_MG_CONF['def_time_limit']; @set_time_limit($time_limit + 20); // get execution time $max_execution_time = ini_get('max_execution_time'); if ($time_limit > $max_execution_time) { $time_limit = $max_execution_time; } $label = COM_stripslashes($session['session_description']); // Pull the detail data from the sessions_items table... $sql = "SELECT * FROM {$_TABLES['mg_session_items']} " . "WHERE session_id='" . addslashes($session_id) . "' " . "AND status=0 LIMIT " . $item_limit; $result = DB_query($sql); while (($row = DB_fetchArray($result)) && $timer_expired == false) { // used for calculating loop duration and changing the timer condition $start_temp_time = time(); $function = 'mg_batch_session_' . $session['session_action']; if (function_exists($function)) { $function($row); DB_change($_TABLES['mg_session_items'], 'status', 1, 'id', $row['id']); } // calculate time for each loop iteration $temp_time[$num_rows] = time() - $start_temp_time; // get the max $timer_time = max($temp_time); $num_rows++; // check if timer is about to expire if (time() - $cycle_start_time >= $time_limit - $timer_time) { $timer_expired_secs = time() - $cycle_start_time; $timer_expired = true; } } // end the timer $cycle_end_time = time(); // find how much time the last cycle took $last_cycle_time = $cycle_end_time - $cycle_start_time; $T = COM_newTemplate(MG_getTemplatePath(0)); $T->set_file('batch', 'batch_progress.thtml'); $processing_messages = ''; if ($timer_expired) { $processing_messages = '<p>' . sprintf($LANG_MG01['timer_expired'], $timer_expired_secs) . '</p>'; } $sql = "SELECT COUNT(*) AS processed " . "FROM {$_TABLES['mg_session_items']} " . "WHERE session_id='" . addslashes($session_id) . "' AND status=1"; $result = DB_query($sql); $row = DB_fetchArray($result); $session_items_processed = $row['processed']; $sql = "SELECT COUNT(*) AS processing " . "FROM {$_TABLES['mg_session_items']} " . "WHERE session_id='" . addslashes($session_id) . "'"; $result = DB_query($sql); $row = DB_fetchArray($result); $session_items_processing = $row['processing']; $items_remaining = $session_items_processing - $session_items_processed; if ($items_remaining > 0) { if ($item_limit == 0) { $processing_messages .= '<p>' . $LANG_MG01['begin_processing'] . '</p>'; $item_limit = $_MG_CONF['def_item_limit']; } else { $processing_messages .= '<p>' . sprintf($LANG_MG01['processing_next_items'], $item_limit) . '</p>'; } $form_action = $_MG_CONF['site_url'] . '/batch.php?mode=continue&sid=' . $session_id . '&refresh=' . $refresh_rate . '&limit=' . $item_limit; $next_button = $LANG_MG01['next']; // create the meta tag for refresh $T->set_var("META", '<meta http-equiv="refresh" content="' . $refresh_rate . ';url=' . $form_action . '"' . XHTML . '>'); } else { if ($item_limit == 0) { echo COM_refresh($session['session_origin']); exit; } $next_button = $LANG_MG01['finished']; $processing_messages .= '<p>' . $LANG_MG01['all_done'] . '</p>'; $T->set_var("META", ''); $refresh_rate = -1; $form_action = $session['session_origin']; $result = DB_query("SELECT * FROM {$_TABLES['mg_session_log']} " . "WHERE session_id='" . addslashes($session_id) . "'"); while ($row = DB_fetchArray($result)) { $processing_messages .= '<p>' . $row['session_log'] . '</p>'; } MG_endSession($session_id); } $session_percent = $session_items_processed / $session_items_processing * 100; $session_time = $cycle_end_time - $session['session_start_time']; $T->set_var(array('L_BATCH_PROCESS' => $label, 'L_BATCH' => $LANG_MG01['batch_sessions'], 'L_NEXT' => $next_button, 'L_PROCESSING' => $LANG_MG01['processing'], 'L_CANCEL' => $LANG_MG01['cancel'], 'L_PROCESSING_DETAILS' => $LANG_MG01['processing_details'], 'L_STATUS' => $LANG_MG01['status'], 'L_TOTAL_ITEMS' => $LANG_MG01['total_items'], 'L_ITEMS_PROCESSED' => $LANG_MG01['processed_items'], 'L_ITEMS_REMAINING' => $LANG_MG01['items_remaining'], 'L_POSTS_LAST_CYCLE' => $LANG_MG01['items_last_cycle'], 'L_TIME_LIMIT' => $LANG_MG01['time_limit'], 'L_REFRESH_RATE' => $LANG_MG01['refresh_rate'], 'L_ITEM_RATE' => $LANG_MG01['item_rate'], 'L_ACTIVE_PARAMETERS' => $LANG_MG01['batch_parameters'], 'L_ITEMS_PER_CYCLE' => $LANG_MG01['items_per_cycle'], 'TOTAL_ITEMS' => $session_items_processing, 'ITEMS_PROCESSED' => $session_items_processed, 'ITEMS_REMAINING' => $session_items_processing - $session_items_processed, 'ITEM_RATE' => sprintf($LANG_MG01['seconds_per_item'], round(@($last_cycle_time / $num_rows))), 'PROCESSING_MESSAGES' => $processing_messages, 'SESSION_PERCENT' => round($session_percent, 2) . ' %', 'POST_LIMIT' => $num_rows, 'ITEM_LIMIT' => $item_limit, 'TIME_LIMIT' => $time_limit, 'REFRESH_RATE' => $refresh_rate, 'S_BATCH_ACTION' => $form_action)); $retval .= $T->finish($T->parse('output', 'batch')); return $retval; }
function MG_sendPostCard() { global $MG_albums, $_MG_CONF, $_CONF, $_TABLES, $_USER, $LANG_MG00, $LANG_MG02, $LANG_MG03, $LANG_ACCESS, $_POST; global $LANG_DIRECTION, $LANG_CHARSET; $mid = COM_sanitizeID(COM_applyFilter($_POST['mid'], true)); $toname = COM_applyFilter($_POST['toname']); $toemail = COM_applyFilter($_POST['toemail']); $fromname = COM_applyFilter($_POST['fromname']); $fromemail = COM_applyFilter($_POST['fromemail']); $subject = strip_tags(COM_checkWords($_POST['subject'])); $message = htmlspecialchars(strip_tags(COM_checkWords($_POST['message']))); $ccself = isset($_POST['ccself']) ? 1 : 0; $errCount = 0; $msg = ''; if (!COM_isEmail($toemail)) { $errCount++; } if (!COM_isEmail($fromemail)) { $errCount++; } if (empty($subject)) { $errCount++; } if (empty($message)) { $errCount++; } $captchaString = isset($_POST['captcha']) ? $_POST['captcha'] : ''; $msg = PLG_itemPreSave('mediagallery', $captchaString); if ($msg != '') { $errCount++; } if ($errCount > 0) { return MG_editPostCard('edit', $mid, $msg); } $retval = ''; $aid = DB_getItem($_TABLES['mg_media_albums'], 'album_id', 'media_id="' . DB_escapeString($mid) . '"'); if ($MG_albums[$aid]->access == 0 || $MG_albums[$aid]->enable_postcard == 0 || COM_isAnonUser() && $MG_albums[$aid]->enable_postcard != 2) { $retval = MG_siteHeader(); $retval .= COM_showMessageText($LANG_MG00['access_denied_msg'], $LANG_ACCESS['accessdenied'], true); $retval .= MG_siteFooter(); echo $retval; exit; } $sql = "SELECT * FROM {$_TABLES['mg_media_albums']} as ma LEFT JOIN " . $_TABLES['mg_media'] . " as m " . " ON ma.media_id=m.media_id WHERE m.media_id='" . DB_escapeString($mid) . "'"; $result = DB_query($sql); $nRows = DB_numRows($result); if ($nRows < 1) { $retval = MG_siteHeader(); $retval .= COM_showMessageText($LANG_MG00['access_denied_msg'], $LANG_ACCESS['accessdenied'], true); $retval .= MG_siteFooter(); echo $retval; exit; } $M = DB_fetchArray($result); // trim the database $purgeDate = time() - $_MG_CONF['postcard_retention'] * 86400; DB_query("DELETE FROM {$_TABLES['mg_postcard']} WHERE pc_time < " . $purgeDate); // save this one in the database $newsubject = DB_escapeString($subject); $newmessage = DB_escapeString($message); $pcId = COM_makesid(); $pc_time = time(); if (COM_isAnonUser()) { $uid = 1; } else { $uid = (int) $_USER['uid']; } $sql = "INSERT INTO {$_TABLES['mg_postcard']} (pc_id,mid,to_name,to_email,from_name,from_email,subject,message,pc_time,uid) VALUES ('{$pcId}','" . DB_escapeString($mid) . "','" . DB_escapeString($toname) . "','" . DB_escapeString($toemail) . "','" . DB_escapeString($fromname) . "','" . DB_escapeString($fromemail) . "','{$newsubject}','{$newmessage}',{$pc_time},{$uid})"; $result = DB_query($sql); if (DB_error()) { COM_errorLog("Media Gallery: Error saving postcard"); } COM_clearSpeedlimit($_CONF['commentspeedlimit'], 'mgpostcard'); $last = COM_checkSpeedlimit('mgpostcard'); if ($last > 0) { $msg = sprintf($LANG_MG02['postcard_speedlimit'], $last); return MG_errorHandler($msg); } $alternate_link = $_MG_CONF['site_url'] . '/getcard.php?id=' . $pcId; // build the template... $T = new Template(MG_getTemplatePath($aid)); $T->set_file('postcard', 'postcard.thtml'); $media_size = @getimagesize($_MG_CONF['path_mediaobjects'] . 'tn/' . $M['media_filename'][0] . '/' . $M['media_filename'] . '.jpg'); if (empty($LANG_DIRECTION)) { // default to left-to-right $direction = 'ltr'; } else { $direction = $LANG_DIRECTION; } if (empty($LANG_CHARSET)) { $charset = $_CONF['default_charset']; if (empty($charset)) { $charset = 'iso-8859-1'; } } else { $charset = $LANG_CHARSET; } $T->set_var(array('s_form_action' => $_MG_CONF['site_url'] . '/postcard.php', 'direction' => $direction, 'charset' => $charset, 'mid' => $mid, 'media_title' => $M['media_title'], 'alt_media_title' => htmlspecialchars(strip_tags($M['media_title'])), 'media_description' => isset($M['media_description']) ? $M['media_description'] : '', 'media_url' => $_MG_CONF['site_url'] . '/media.php?s=' . $mid, 'media_image' => $_MG_CONF['mediaobjects_url'] . '/disp/' . $M['media_filename'][0] . '/' . $M['media_filename'] . '.jpg', 'site_url' => $_MG_CONF['site_url'] . '/', 'postcard_subject' => $subject, 'postcard_message' => nl2br($message), 'from_email' => $fromemail, 'site_name' => $_CONF['site_name'], 'site_slogan' => $_CONF['site_slogan'], 'to_name' => $toname, 'from_name' => $fromname, 'pc_id' => $pcId, 'lang_to_name' => $LANG_MG03['to_name'], 'lang_to_email' => $LANG_MG03['to_email'], 'lang_from_name' => $LANG_MG03['from_name'], 'lang_from_email' => $LANG_MG03['from_email'], 'lang_subject' => $LANG_MG03['subject'], 'lang_send' => $LANG_MG03['send'], 'lang_cancel' => $LANG_MG03['cancel'], 'lang_preview' => $LANG_MG03['preview'], 'lang_unable_view' => $LANG_MG03['unable_to_view_postcard'], 'lang_postcard_from' => $LANG_MG03['postcard_from'], 'lang_to' => $LANG_MG03['to'], 'lang_from' => $LANG_MG03['from'], 'lang_visit' => $LANG_MG03['visit'])); $T->parse('output', 'postcard'); $retval .= $T->finish($T->get_var('output')); $msgData['subject'] = htmlspecialchars($subject); $msgData['htmlmessage'] = $retval; $msgData['textmessage'] = sprintf($LANG_MG03['text_body_email'], $fromname, $alternate_link); $msgData['from']['email'] = $fromemail; $msgData['from']['name'] = $fromname; $msgData['to'][] = array('email' => $toemail, 'name' => $toname); if ($ccself) { $msgData['to'][] = array('email' => $fromemail, 'name' => $fromname); } foreach ($_MG_CONF['validExtensions'] as $tnext) { if (file_exists($_MG_CONF['path_mediaobjects'] . 'disp/' . $M['media_filename'][0] . '/' . $M['media_filename'] . $tnext)) { $msgData['embeddedImage'][] = array('file' => $_MG_CONF['path_mediaobjects'] . 'disp/' . $M['media_filename'][0] . '/' . $M['media_filename'] . $tnext, 'name' => "pc-image", 'filename' => $M['media_original_filename'], 'encoding' => 'base64', 'mime' => $M['mime_type']); } } $msgData['embeddedImage'][] = array('file' => MG_getImageFilePath('stamp.gif'), 'name' => "stamp", 'filename' => 'stamp.gif', 'encoding' => 'base64', 'mime' => 'image/gif'); COM_emailNotification($msgData); $msgNo = 8; // update the sent post card database...Or maybe just log it in an error log? $logentry = $fromname . " sent a postcard to " . $toname . " (" . $toemail . ") using media id " . $mid; MG_postcardLog($logentry); COM_updateSpeedlimit('mgpostcard'); header("Location: " . $_MG_CONF['site_url'] . '/media.php?msg=' . $msgNo . '&s=' . $mid); exit; }
function MG_watermarkUploadSave() { global $_USER, $_CONF, $_TABLES, $_MG_CONF, $LANG_MG00, $LANG_MG01, $LANG_MG02, $LANG_MG03; // ok, we just check the type, we will accept png,jpg for now... $retval = '<h2>' . $LANG_MG03['upload_results'] . '</h2>'; $T = COM_newTemplate(MG_getTemplatePath(0)); $T->set_file('mupload', 'useruploadstatus.thtml'); $statusMsg = ''; $errors = 0; $file = array(); $file = $_FILES['newmedia']; $public = isset($_POST['wm_public']) ? COM_applyFilter($_POST['wm_public'], true) : 0; foreach ($file['name'] as $key => $name) { $filename = $file['name'][$key]; $filetype = $file['type'][$key]; $filesize = $file['size'][$key]; $filetmp = $file['tmp_name'][$key]; $error = $file['error'][$key]; $description = $_POST['description'][$key]; if ($filesize > 65536) { // right now we hard coded 64kb COM_errorLog("MG Upload: File " . $filename . " exceeds maximum allowed filesize for this album"); $tmpmsg = sprintf($LANG_MG02['upload_exceeds_max_filesize'], $filename); $statusMsg .= $tmpmsg . '<br' . XHTML . '>'; continue; } if ($error != UPLOAD_ERR_OK) { switch ($error) { case 1: $tmpmsg = sprintf($LANG_MG02['upload_too_big'], $filename); $statusMsg .= $tmpmsg . '<br' . XHTML . '>'; COM_errorLog('Media Gallery Error - ' . $tmpmsg); break; case 2: $tmpmsg = sprintf($LANG_MG02['upload_too_big_html'], $filename); $statusMsg .= $tmpmsg . '<br' . XHTML . '>'; COM_errorLog('Media Gallery Error - ' . $tmpmsg); break; case 3: $tmpmsg = sprintf($LANG_MG02['partial_upload'], $filename); $statusMsg .= $tmpmsg . '<br' . XHTML . '>'; COM_errorLog('Media Gallery Error - ' . $tmpmsg); break; case 4: $tmpmsg = $LANG_MG02['no_file_uploaded']; $statusMsg .= $tmpmsg . '<br' . XHTML . '>'; COM_errorLog('Media Gallery Error - ' . $tmpmsg); break; case 6: $statusMsg .= $LANG_MG02['missing_tmp'] . '<br' . XHTML . '>'; break; case 7: $statusMsg .= $LANG_MG02['disk_fail'] . '<br' . XHTML . '>'; break; default: $statusMsg .= $LANG_MG02['unknown_err'] . '<br' . XHTML . '>'; break; } continue; } $uid = $_USER['uid']; if ($public == 1) { $uid = 0; } //This will set the Content-Type to the appropriate setting for the file $file_extension = strtolower(substr(strrchr($filename, "."), 1)); switch ($file_extension) { case "png": $filetype = "image/png"; break; case "jpg": $filetype = "image/jpeg"; break; case "gif": $filetype = "image/gif"; break; default: $statusMsg .= $filename . $LANG_MG02['unsupported_wm_type']; continue; break; } $sql = "SELECT MAX(wm_id) + 1 AS nextwm_id FROM " . $_TABLES['mg_watermarks']; $result = DB_query($sql); $row = DB_fetchArray($result); $wm_id = $row['nextwm_id']; if ($wm_id < 1) { $wm_id = 1; } if ($wm_id == 0) { COM_errorLog("Media Gallery Error - Returned 0 as wm_id"); $wm_id = 1; } $wm_filename = $_MG_CONF['path_html'] . 'watermarks/' . $uid . '_' . $filename; if (file_exists($wm_filename)) { $statusMsg .= sprintf($LANG_MG02['wm_already_exists'], $filename); } else { $rc = move_uploaded_file($filetmp, $wm_filename); if ($rc != 1) { COM_errorLog("Media Upload - Error moving uploaded file....rc = " . $rc); $statusMsg .= sprintf($LANG_MG02['move_error'], $filename); } else { chmod($wm_filename, 0644); $media_title_safe = substr($description, 0, 254); if ($_MG_CONF['htmlallowed'] != 1) { $media_title = addslashes(htmlspecialchars(strip_tags(COM_checkWords(COM_killJS($media_title_safe))))); } else { $media_title = addslashes(htmlspecialchars(COM_checkHTML(COM_checkWords(COM_killJS($media_title_safe))))); } $saveFileName = addslashes($uid . '_' . $filename); $sql = "INSERT INTO {$_TABLES['mg_watermarks']} (wm_id,owner_id,filename,description)\n VALUES ({$wm_id},'{$uid}','{$saveFileName}','{$media_title}')"; DB_query($sql); if ($_MG_CONF['verbose']) { COM_errorLog("MG Upload: Updating Album information"); } if (DB_error()) { COM_errorLog("MediaGallery: Error inserting watermark data into database"); @unlink($wm_filename); $statusMsg .= $filename . " - " . DB_error(); } else { $statusMsg .= $filename . $LANG_MG02['wm_success']; } } } } $T->set_var('status_message', $statusMsg); $tmp = $_MG_CONF['site_url'] . '/admin.php?album_id=0&mode=wmmanage'; $redirect = sprintf($LANG_MG01['watermark_redirect'], $tmp); $T->set_var('redirect', $redirect); $retval .= $T->finish($T->parse('output', 'mupload')); return $retval; }
/** * Displays pick list of files to process... * * @param int album_id album_id save uploaded media * @return string HTML * */ function MG_FTPpickFiles($album_id, $dir, $purgefiles, $recurse) { global $_CONF, $_MG_CONF, $LANG_MG01, $LANG_MG03, $destDirCount, $pCount; $destDirCount = 0; $pCount = 0; $retval = ''; $T = COM_newTemplate(MG_getTemplatePath($album_id)); $T->set_file('admin', 'ftpimport.thtml'); $T->set_var(array('start_block' => COM_startBlock($LANG_MG03['upload_media']), 'end_block' => COM_endBlock(), 'navbar' => MG_navbar($LANG_MG01['ftp_media'], $album_id), 'lang_title' => $LANG_MG01['title'], 'lang_description' => $LANG_MG01['description'], 'lang_parent_album' => $LANG_MG01['parent_album'], 'lang_filelist' => $LANG_MG01['file_list'], 'lang_quick_create' => $LANG_MG01['quick_create'], 'lang_checkall' => $LANG_MG01['check_all'], 'lang_uncheckall' => $LANG_MG01['uncheck_all'], 'dir' => $dir, 'purgefiles' => $purgefiles, 'recurse' => $recurse, 'album_id' => $album_id)); $filelist = MG_listDir($dir, $album_id, $purgefiles, $recurse, $session_id); $album_jumpbox = '<select name="parentaid">'; if (SEC_hasRights('mediagallery.admin')) { $album_jumpbox .= '<option value="0">' . $LANG_MG01['root_album'] . '</option>'; } else { $album_jumpbox .= '<option disabled value="0">' . $LANG_MG01['root_level'] . '</option>'; } $root_album = new mgAlbum(0); $root_album->buildJumpBox($album_jumpbox, 0, 3); $album_jumpbox .= '</select>'; $T->set_var(array('s_form_action' => $_MG_CONF['site_url'] . '/admin.php', 'action' => 'ftpprocess', 'lang_save' => $LANG_MG01['save'], 'lang_cancel' => $LANG_MG01['cancel'], 'parent_select' => $album_jumpbox, 'filelist' => $filelist)); $retval .= $T->finish($T->parse('output', 'admin')); return $retval; }
function MG_searchDisplayThumb($M, $sortOrder, $id, $page, $force = 0) { global $_CONF, $_USER, $_MG_CONF, $MG_albums, $_TABLES, $_MG_USERPREFS, $LANG_MG03, $LANG_MG01, $ratedIds; $playback_type = $_MG_CONF['search_playback_type']; $retval = ''; $nFrame = new mgFrame(); $nFrame->constructor('mgShadow'); $imageFrameTemplate = $nFrame->getTemplate(); $frWidth = $nFrame->frame['wHL'] + $nFrame->frame['wHR']; $frHeight = $nFrame->frame['hVT'] + $nFrame->frame['hVB']; $T = new Template(MG_getTemplatePath(0)); $T->set_file(array('media_cell_image' => 'album_page_body_media_cell.thtml', 'media_rate_results' => 'album_page_body_media_cell_rating.thtml', 'media_comments' => 'album_page_body_media_cell_comment.thtml', 'media_views' => 'album_page_body_media_cell_view.thtml', 'media_cell_keywords' => 'album_page_body_media_cell_keywords.thtml', 'mp3_podcast' => 'mp3_podcast.thtml')); $F = new Template($_MG_CONF['template_path']); $F->set_var('media_frame', $imageFrameTemplate); //$MG_albums[0]->imageFrameTemplate); // --- set the default thumbnail $default_thumbnail = 'generic.png'; switch ($M['media_type']) { case 0: // standard image foreach ($_MG_CONF['validExtensions'] as $ext) { if (file_exists($_MG_CONF['path_mediaobjects'] . 'tn/' . $M['media_filename'][0] . '/' . $M['media_filename'] . $ext)) { $default_thumbnail = 'tn/' . $M['media_filename'][0] . '/' . $M['media_filename'] . $ext; break; } } break; case 1: // video file switch ($M['mime_type']) { case 'video/x-flv': $default_thumbnail = 'flv.png'; break; case 'application/x-shockwave-flash': $default_thumbnail = 'flash.png'; break; case 'video/mpeg': case 'video/x-mpeg': case 'video/x-mpeq2a': if ($_MG_CONF['use_wmp_mpeg'] == 1) { $default_thumbnail = 'wmp.png'; break; } case 'video/x-motion-jpeg': case 'video/quicktime': case 'video/x-qtc': case 'audio/mpeg': $default_thumbnail = 'quicktime.png'; break; case 'asf': case 'video/x-ms-asf': case 'video/x-ms-asf-plugin': case 'video/avi': case 'video/msvideo': case 'video/x-msvideo': case 'video/avs-video': case 'video/x-ms-wmv': case 'video/x-ms-wvx': case 'video/x-ms-wm': case 'application/x-troff-msvideo': case 'application/x-ms-wmz': case 'application/x-ms-wmd': $default_thumbnail = 'wmp.png'; break; default: $default_thumbnail = 'video.png'; break; } break; case 2: // music file $default_thumbnail = 'audio.png'; break; case 4: // other files switch ($M['mime_type']) { case 'application/zip': case 'zip': case 'arj': case 'rar': case 'gz': $default_thumbnail = 'zip.png'; break; case 'pdf': case 'application/pdf': $default_thumbnail = 'pdf.png'; break; default: switch ($M['media_mime_ext']) { case 'pdf': $default_thumbnail = 'pdf.png'; break; case 'arj': $default_thumbnail = 'zip.png'; break; case 'gz': $default_thumbnail = 'zip.png'; break; default: $default_thumbnail = 'generic.png'; break; } break; } break; case 5: case 'embed': if (preg_match("/youtube/i", $M['remote_url'])) { $default_thumbnail = 'youtube.png'; } else { if (preg_match("/google/i", $M['remote_url'])) { $default_thumbnail = 'googlevideo.png'; } else { $default_thumbnail = 'remote.png'; } } break; } if ($M['media_tn_attached'] == 1) { $media_thumbnail_file = ''; foreach ($_MG_CONF['validExtensions'] as $ext) { if (file_exists($_MG_CONF['path_mediaobjects'] . 'tn/' . $M['media_filename'][0] . '/tn_' . $M['media_filename'] . $ext)) { $media_thumbnail = $_MG_CONF['mediaobjects_url'] . '/tn/' . $M['media_filename'][0] . '/tn_' . $M['media_filename'] . $ext; $media_thumbnail_file = $_MG_CONF['path_mediaobjects'] . 'tn/' . $M['media_filename'][0] . '/tn_' . $M['media_filename'] . $ext; break; } } if ($media_thumbnail_file == '') { $media_thumbnail = $_MG_CONF['mediaobjects_url'] . '/' . $default_thumbnail; $media_thumbnail_file = $_MG_CONF['path_mediaobjects'] . $default_thumbnail; } } else { $media_thumbnail = $_MG_CONF['mediaobjects_url'] . '/' . $default_thumbnail; $media_thumbnail_file = $_MG_CONF['path_mediaobjects'] . $default_thumbnail; } $resolution_x = 0; $resolution_y = 0; // type == 1 video // type == 2 audio if (($M['media_type'] == 1 || $M['media_type'] == 2 || $M['media_type'] == 5) && ($playback_type == 0 || $playback_type == 1)) { if ($playback_type == 0 || $playback_type == 1) { if ($M['media_type'] == 2) { // determine what type of player we will use (WMP, QT or Flash) $player = $_MG_CONF['mp3_player']; if (isset($_MG_USERPREFS['mp3_player']) && $_MG_USERPREFS['mp3_player'] != -1) { $player = $_MG_USERPREFS['mp3_player']; } switch ($player) { case 0: // WMP $new_y = 60; $new_x = 350; break; case 1: // QT $new_y = 25; $new_x = 350; break; case 2: $new_y = 360; $new_x = 580; break; } if ($M['media_tn_attached'] == 1 && $player != 2) { $tnsize = @getimagesize($media_thumbnail_file); $new_y += $tnsize[0]; if ($tnsize[1] > $new_x) { $new_x = $tnsize[1]; } } if ($playback_type == 0) { $url_display_item = "javascript:showVideo('" . $_MG_CONF['site_url'] . '/video.php?n=' . $M['media_id'] . "'," . $new_y . ',' . $new_x . ')'; } else { $url_display_item = $_MG_CONF['site_url'] . '/download.php?mid=' . $MG_media->id; } $resolution_x = $new_x; $resolution_y = $new_y; } else { // must be a video... // set the default playback options... $playback_options['play'] = $_MG_CONF['swf_play']; $playback_options['menu'] = $_MG_CONF['swf_menu']; $playback_options['quality'] = $_MG_CONF['swf_quality']; $playback_options['height'] = $_MG_CONF['swf_height']; $playback_options['width'] = $_MG_CONF['swf_width']; $playback_options['loop'] = $_MG_CONF['swf_loop']; $playback_options['scale'] = $_MG_CONF['swf_scale']; $playback_options['wmode'] = $_MG_CONF['swf_wmode']; $playback_options['allowscriptaccess'] = $_MG_CONF['swf_allowscriptaccess']; $playback_options['bgcolor'] = $_MG_CONF['swf_bgcolor']; $playback_options['swf_version'] = $_MG_CONF['swf_version']; $playback_options['flashvars'] = $_MG_CONF['swf_flashvars']; $poResult = DB_query("SELECT * FROM {$_TABLES['mg_playback_options']} WHERE media_id='" . DB_escapeString($M['media_id']) . "'"); while ($poRow = DB_fetchArray($poResult)) { $playback_options[$poRow['option_name']] = $poRow['option_value']; } if (isset($M['media_resolution_x']) && $M['media_resolution_x'] > 0) { $resolution_x = $M['media_resolution_x']; $resolution_y = $M['media_resolution_y']; } else { if ($M['media_resolution_x'] == 0 && $M['remote_media'] != 1) { require_once $_CONF['path'] . '/lib/getid3/getid3.php'; // Needed for windows only define('GETID3_HELPERAPPSDIR', 'C:/helperapps/'); $getID3 = new getID3(); // Analyze file and store returned data in $MG_mediaFileInfo $MG_mediaFileInfo = $getID3->analyze($_MG_CONF['path_mediaobjects'] . 'orig/' . $M['media_filename'][0] . '/' . $M['media_filename'] . '.' . $M['media_mime_ext']); getid3_lib::CopyTagsToComments($MG_mediaFileInfo); if ($MG_mediaFileInfo['video']['resolution_x'] < 1 || $MG_mediaFileInfo['video']['resolution_y'] < 1) { if (isset($MG_mediaFileInfo['meta']['onMetaData']['width']) && isset($MG_mediaFileInfo['meta']['onMetaData']['height'])) { $resolution_x = $MG_mediaFileInfo['meta']['onMetaData']['width']; $resolution_y = $MG_mediaFileInfo['meta']['onMetaData']['height']; } else { $resolution_x = -1; $resolution_y = -1; } } else { $resolution_x = $MG_mediaFileInfo['video']['resolution_x']; $resolution_y = $MG_mediaFileInfo['video']['resolution_y']; } if ($resolution_x != 0) { $sql = "UPDATE " . $_TABLES['mg_media'] . " SET media_resolution_x=" . $resolution_x . ",media_resolution_y=" . $resolution_y . " WHERE media_id='" . DB_escapeString($M['media_id']) . "'"; DB_query($sql, 1); } } else { $resolution_x = $M['media_resolution_x']; $resolution_y = $M['media_resolution_y']; } } $resolution_x = $playback_options['width']; $resolution_y = $playback_options['height']; if ($resolution_x < 1 || $resolution_y < 1) { $resolution_x = 480; $resolution_y = 320; } else { $resolution_x = $resolution_x + 40; $resolution_y = $resolution_y + 40; } if ($M['mime_type'] == 'video/x-flv' && $_MG_CONF['use_flowplayer'] != 1) { $resolution_x = $resolution_x + 60; if ($resolution_x < 590) { $resolution_x = 590; } $resolution_y = $resolution_y + 80; if ($resolution_y < 500) { $resolution_y = 500; } } if ($M['media_type'] == 5) { $resolution_x = 460; $resolution_y = 380; } $url_display_item = "javascript:showVideo('" . $_MG_CONF['site_url'] . '/video.php?n=' . $M['media_id'] . "'," . $resolution_y . ',' . $resolution_x . ')'; } } else { $url_display_item = $_MG_CONF['site_url'] . '/download.php?mid=' . $M['media_id']; } // check to see if comments and rating are enabled, if not, put a link to edit... if ($MG_albums[0]->access == 3) { $T->set_var(array('edit_link' => '<br/><a href="' . $_MG_CONF['site_url'] . '/admin.php?mode=mediaedit&s=1&album_id=' . $M['album_id'] . '&mid=' . $M['media_id'] . '">' . $LANG_MG01['edit'] . '</a>')); } else { $T->set_var(array('edit_link' => '')); } } else { $url_display_item = $_MG_CONF['site_url'] . '/media.php?f=0' . '&sort=' . $sortOrder . '&s=' . $M['media_id'] . '&i=' . $id . '&p=' . $page; } if ($M['media_type'] == 4) { // other $url_display_item = $_MG_CONF['site_url'] . '/download.php?mid=' . $M['media_id']; } $media_size = @getimagesize($media_thumbnail_file); if ($media_size == false) { $default_thumbnail = 'missing.png'; $media_thumbnail = $_MG_CONF['mediaobjects_url'] . '/' . $default_thumbnail; $media_thumbnail_file = $_MG_CONF['path_mediaobjects'] . $default_thumbnail; $media_size = @getimagesize($media_thumbnail_file); } if ($_MG_CONF['use_upload_time'] == 1) { $media_time = MG_getUserDateTimeFormat($M['media_upload_time']); } else { $media_time = MG_getUserDateTimeFormat($M['media_time']); } $url_media_item = $url_display_item; // -- decide what thumbnail size to use, small, medium, large... if (isset($_MG_USERPREFS['tn_size']) && $_MG_USERPREFS['tn_size'] != -1) { $tn_size = $_MG_USERPREFS['tn_size']; } else { $tn_size = $_MG_CONF['gallery_tn_size']; } switch ($tn_size) { case '0': //small $tn_height = 100; break; case '1': //medium $tn_height = 150; break; case '2': $tn_height = 200; break; case '3': $tn_height = 200; break; default: $tn_height = 150; break; } if ($media_size[0] > $media_size[1]) { $ratio = $media_size[0] / $tn_height; $newwidth = $tn_height; $newheight = round($media_size[1] / $ratio); } else { $ratio = $media_size[1] / $tn_height; $newheight = $tn_height; $newwidth = round($media_size[0] / $ratio); } if ($media_size[0] > $media_size[1]) { $ratio = $media_size[0] / 50; $smallwidth = 50; $smallheight = round($media_size[1] / $ratio); } else { $ratio = $media_size[1] / 50; $smallheight = 50; $smallwidth = round($media_size[0] / $ratio); } if ($M['media_user_id'] != "" && $M['media_user_id'] > 1) { $username = DB_getItem($_TABLES['users'], 'username', "uid=" . $M['media_user_id']); } else { $username = '******'; } if ($M['mime_type'] == 'audio/mpeg') { $T->set_var(array('play_now' => '', 'download_now' => $_MG_CONF['site_url'] . '/download.php?mid=' . $M['media_id'], 'play_in_popup' => "javascript:showVideo('" . $_MG_CONF['site_url'] . '/video.php?n=' . $M['media_id'] . "'," . $resolution_y . ',' . $resolution_x . ')', 'mp3_file' => $_MG_CONF['mediaobjects_url'] . '/orig/' . $M['media_filename'][0] . '/' . $M['media_filename'] . '.' . $M['media_mime_ext'], 'site_url' => $_MG_CONF['site_url'], 'id' => $M['media_mime_ext'] . rand())); $T->parse('mp3_podcast', 'mp3_podcast'); } else { $T->set_var(array('mp3_podcast' => '')); } /* * build the small rating bar * */ if ($MG_albums[$M['album_id']]->enable_rating > 0) { $ip = $_SERVER['REMOTE_ADDR']; $uid = COM_isAnonUser() ? 1 : $_USER['uid']; $static = false; // check to see if we are the owner, if so, no rating for us... if (isset($_USER['uid']) && $_USER['uid'] == $M['media_user_id']) { $static = true; } else { if (in_array($M['media_id'], $ratedIds)) { $static = true; } else { $static = ''; } } if ($MG_albums[$M['album_id']]->enable_rating == 1 && COM_isAnonUser()) { $static = 'static'; } $rating_box = RATING_ratingBar('mediagallery', $M['media_id'], $M['media_votes'], $M['media_rating'], $static, 5, '', 'sm'); } else { $rating_box = ''; } $T->set_var('rating_box', $rating_box); if ($M['media_type'] == 0) { $direct_url = 'disp/' . $M['media_filename'][0] . '/' . $M['media_filename'] . '.' . $M['media_mime_ext']; if (!file_exists($_MG_CONF['path_mediaobjects'] . $direct_url)) { $direct_url = $_MG_CONF['mediaobjects_url'] . '/' . 'disp/' . $M['media_filename'][0] . '/' . $M['media_filename'] . '.jpg'; } else { $direct_url = $_MG_CONF['mediaobjects_url'] . '/' . $direct_url; } } else { $direct_url = $media_thumbnail; } if ($MG_albums[$M['album_id']]->access == 3) { $edit_item = '<a href="' . $_MG_CONF['site_url'] . '/admin.php?mode=mediaedit&s=1&album_id=' . $M['album_id'] . '&mid=' . $M['media_id'] . '">' . $LANG_MG01['edit'] . '</a>'; } else { $edit_item = ''; } $L = new Template(MG_getTemplatePath(0)); $L->set_file('media_link', 'medialink.thtml'); $L->set_var('href', $url_media_item); $L->set_var('hrefdirect', $direct_url); $L->set_var('caption', PLG_replaceTags($M['media_title'], 'mediagallery', 'media_title')); $L->set_var('id', 'id' . rand()); $L->parse('media_link_start', 'media_link'); $media_start_link = $L->finish($L->get_var('media_link_start')); $T->set_var(array('row_height' => $tn_height + 40, 'media_title' => isset($M['media_title']) && $M['media_title'] != '' && $M['media_title'] != ' ' ? PLG_replaceTags($M['media_title'], 'mediagallery', 'media_title') : '', 'media_description' => isset($M['media_desc']) && $M['media_desc'] != '' && $M['media_desc'] != ' ' ? PLG_replaceTags($M['media_desc'], 'mediagallery', 'media_title') : '', 'media_tag' => isset($M['media_title']) && $M['media_title'] != '' && $M['media_title'] != ' ' ? strip_tags($M['media_title']) : '', 'media_time' => $media_time[0], 'media_owner' => $username, 'site_url' => $_MG_CONF['site_url'], 'lang_published' => $LANG_MG03['published'], 'lang_on' => $LANG_MG03['on'], 'media_link_start' => '<a href="' . $url_media_item . '">', 'media_link_end' => '</a>', 'artist' => isset($M['artist']) && $M['artist'] != ' ' ? $M['artist'] : '', 'musicalbum' => isset($M['album']) && $M['album'] != ' ' ? $M['album'] : '', 'genre' => isset($M['genre']) && $M['genre'] != ' ' ? $M['genre'] : '', 'search_album' => $LANG_MG01['album'] . ': <a href="' . $_MG_CONF['site_url'] . '/album.php?aid=' . $M['album_id'] . '">' . $MG_albums[$M['album_id']]->title . '</a>')); // frame template variables $F->set_var(array('media_link_start' => $media_start_link, 'media_link_end' => '</a>', 'url_media_item' => $url_media_item, 'url_display_item' => $url_display_item, 'media_thumbnail' => $media_thumbnail, 'media_size' => 'width="' . $newwidth . '" height="' . $newheight . '"', 'media_height' => $newheight, 'media_width' => $newwidth, 'border_width' => $newwidth + 15, 'border_height' => $newheight + 15, 'row_height' => $tn_height + 40, 'frWidth' => $newwidth - $frWidth, 'frHeight' => $newheight - $frHeight, 'media_tag' => strip_tags($M['media_desc']), 'search_album' => $LANG_MG01['album'] . ': <a href="' . $_MG_CONF['site_url'] . '/album.php?aid=' . $M['album_id'] . '">' . $MG_albums[$M['album_id']]->title . '</a>')); $F->parse('media', 'media_frame'); $media_item_thumbnail = $F->finish($F->get_var('media')); $T->set_var('media_item_thumbnail', $media_item_thumbnail); if (!empty($M['media_keywords'])) { $kwText = ''; $keyWords = array(); $keyWords = explode(' ', $M['media_keywords']); $numKeyWords = count($keyWords); for ($i = 0; $i < $numKeyWords; $i++) { $keyWords[$i] = str_replace('"', ' ', $keyWords[$i]); $searchKeyword = $keyWords[$i]; $keyWords[$i] = str_replace('_', ' ', $keyWords[$i]); $kwText .= $keyWords[$i] . ' '; } $T->set_var(array('media_keywords' => $kwText, 'lang_keywords' => $LANG_MG01['keywords'])); $T->parse('media_cell_keywords', 'media_cell_keywords'); } else { $T->set_var('lang_keywords', ''); } if ($_MG_CONF['search_enable_rating']) { if ($M['media_type'] == 4 || $M['media_type'] == 1 && $playback_type != 2 || $M['media_type'] == 2 && $playback_type != 2 || $M['media_type'] == 5 && $playback_type != 2) { $rateLink = '<a href="' . $_MG_CONF['site_url'] . '/media.php?f=0' . '&sort=' . $sortOrder . '&s=' . $M['media_id'] . '">' . $LANG_MG03['rating'] . '</a>'; } else { $rateLink = $LANG_MG03['rating']; } $rating = $rateLink . ': <strong> ' . $M['media_rating'] / 2 . '</strong>/5 (' . $M['media_votes'] . ' ' . $LANG_MG03['votes'] . ')'; $T->set_var(array('media_rating' => $rating)); $T->parse('media_rate_results', 'media_rate_results'); } if ($_MG_CONF['search_enable_views']) { $T->set_var(array('media_views_count' => $M['media_views'], 'lang_views' => $LANG_MG03['views'])); $T->parse('media_views', 'media_views'); } $T->parse('media_cell', 'media_cell_image'); $retval = $T->finish($T->get_var('media_cell')); return $retval; }
/** * Save browser upload(s) * * @param int album_id album_id save uploaded media * @return string HTML * */ function MG_saveUserUpload($album_id) { global $_USER, $_CONF, $_TABLES, $_MG_CONF, $LANG_MG02, $LANG_MG03; $retval = ''; $retval .= COM_startBlock($LANG_MG03['upload_results'], '', COM_getBlockTemplate('_admin_block', 'header')); $T = COM_newTemplate(MG_getTemplatePath($album_id)); $T->set_file('mupload', 'useruploadstatus.thtml'); $statusMsg = ''; $file = array(); $file = $_FILES['newmedia']; $thumbs = $_FILES['thumbnail']; $album = new mgAlbum($album_id); $successfull_upload = 0; $br = '<br' . XHTML . '>'; foreach ($file['name'] as $key => $name) { $filename = $file['name'][$key]; $filetype = $file['type'][$key]; $filesize = $file['size'][$key]; $filetmp = $file['tmp_name'][$key]; $error = $file['error'][$key]; $caption = COM_stripslashes($_POST['caption'][$key]); $description = COM_stripslashes($_POST['description'][$key]); $keywords = COM_stripslashes($_POST['keywords'][$key]); $category = COM_applyFilter($_POST['cat_id'][$key], true); $attachtn = isset($_POST['attachtn'][$key]) ? $_POST['attachtn'][$key] : ''; $thumbnail = isset($thumbs['tmp_name'][$key]) ? $thumbs['tmp_name'][$key] : ''; if (isset($_POST['dnc'][$key]) && $_POST['dnc'][$key] == 'on') { $dnc = 1; } else { $dnc = 0; } if ($filename == '') { continue; } if ($album->max_filesize != 0 && $filesize > $album->max_filesize) { COM_errorLog("MG Upload: File " . $filename . " exceeds maximum allowed filesize for this album"); $tmpmsg = sprintf($LANG_MG02['upload_exceeds_max_filesize'], $filename); $statusMsg .= $tmpmsg . $br; continue; } if ($attachtn == "on") { $attach_tn = 1; } else { $attach_tn = 0; } if ($error != UPLOAD_ERR_OK) { switch ($error) { case 1: $tmpmsg = sprintf($LANG_MG02['upload_too_big'], $filename); $statusMsg .= $tmpmsg . $br; COM_errorLog('MediaGallery: Error - ' . $tmpmsg); break; case 2: $tmpmsg = sprintf($LANG_MG02['upload_too_big_html'], $filename); $statusMsg .= $tmpmsg . $br; COM_errorLog('MediaGallery: Error - ' . $tmpmsg); break; case 3: $tmpmsg = sprintf($LANG_MG02['partial_upload'], $filename); $statusMsg .= $tmpmsg . $br; COM_errorLog('MediaGallery: Error - ' . $tmpmsg); break; case 4: break; case 6: $statusMsg .= $LANG_MG02['missing_tmp'] . $br; break; case 7: $statusMsg .= $LANG_MG02['disk_fail'] . $br; break; default: $statusMsg .= $LANG_MG02['unknown_err'] . $br; break; } continue; } // check user quota -- do we have one???? $user_quota = DB_getItem($_TABLES['mg_userprefs'], 'quota', "uid=" . intval($_USER['uid'])); if ($user_quota > 0) { $disk_used = MG_quotaUsage($_USER['uid']); if ($disk_used + $filesize > $user_quota) { COM_errorLog("MG Upload: File " . $filename . " would exceeds the users quota"); $tmpmsg = sprintf($LANG_MG02['upload_exceeds_quota'], $filename); $statusMsg .= $tmpmsg . $br; continue; } } // process the uploaded files $opt = array('caption' => $caption, 'description' => $description, 'filetype' => $filetype, 'atttn' => $attach_tn, 'thumbnail' => $thumbnail, 'keywords' => $keywords, 'category' => $category, 'dnc' => $dnc); list($rc, $msg) = MG_getFile($filetmp, $filename, $album_id, $opt); $statusMsg .= $filename . " " . $msg . $br; if ($rc == true) { $successfull_upload++; } } if ($successfull_upload) { MG_notifyModerators($album_id); } // failsafe check - after all the uploading is done, double check that the database counts // equal the actual count of items shown in the database, if not, fix the counts and log // the error $dbCount = DB_count($_TABLES['mg_media_albums'], 'album_id', intval($album_id)); $aCount = DB_getItem($_TABLES['mg_albums'], 'media_count', "album_id=" . intval($album_id)); if ($dbCount != $aCount) { DB_change($_TABLES['mg_albums'], 'media_count', $dbCount, 'album_id', intval($album_id)); COM_errorLog("MediaGallery: Upload processing - Counts don't match - dbCount = " . $dbCount . " aCount = " . $aCount); } MG_SortMedia($album_id); $T->set_var('status_message', $statusMsg); $tmp = $_MG_CONF['site_url'] . '/album.php?aid=' . $album_id . '&page=1'; $redirect = sprintf($LANG_MG03['album_redirect'], $tmp); $T->set_var('redirect', $redirect); $T->parse('output', 'mupload'); $retval .= $T->finish($T->get_var('output')); $retval .= COM_endBlock(COM_getBlockTemplate('_admin_block', 'footer')); return $retval; }
function _mg_profileedit($uid, $panel, $fieldset) { global $_CONF, $_MG_USERPREFS, $_MG_CONF, $_TABLES, $_USER, $LANG_MG01; if (COM_isAnonUser()) { return; } if ($panel != '' || $fieldset != '') { return; } if ($_MG_CONF['up_display_rows_enabled'] == 0 && $_MG_CONF['up_display_columns_enabled'] == 0 && $_MG_CONF['up_mp3_player_enabled'] == 0 && $_MG_CONF['up_av_playback_enabled'] == 0 && $_MG_CONF['up_thumbnail_size_enabled'] == 0) { return; } if ($_USER['uid'] != $uid) { $result = DB_query("SELECT * FROM {$_TABLES['mg_userprefs']} WHERE uid=" . (int) $uid); if (DB_numRows($result) > 0) { $_PREFS = DB_fetchArray($result); } else { $_PREFS = array('mp3_player' => -1, 'playback_mode' => 1, 'tn_size' => -1, 'display_rows' => 0, 'display_columns' => 0); } } else { $_PREFS = $_MG_USERPREFS; } $retval = ''; $x = 0; // let's see if anything is actually set... if (!isset($_PREFS['mp3_player'])) { $_PREFS['mp3_player'] = -1; $_PREFS['playback_mode'] = 1; $_PREFS['tn_size'] = -1; $_PREFS['display_rows'] = 0; $_PREFS['display_columns'] = 0; } $T = new Template(MG_getTemplatePath(0)); $T->set_file(array('admin' => 'profile_userprefs.thtml')); $T->set_block('admin', 'prefRow', 'pRow'); // build select boxes $mp3_select = '<select name="mp3_player">'; $mp3_select .= '<option value="-1"' . ($_PREFS['mp3_player'] == -1 ? ' selected="selected"' : '') . '>' . $LANG_MG01['system_default'] . '</option>'; $mp3_select .= '<option value="0"' . ($_PREFS['mp3_player'] == 0 ? ' selected="selected"' : '') . '>' . $LANG_MG01['windows_media_player'] . '</option>'; $mp3_select .= '<option value="1"' . ($_PREFS['mp3_player'] == 1 ? ' selected="selected"' : '') . '>' . $LANG_MG01['quicktime_player'] . '</option>'; $mp3_select .= '<option value="2"' . ($_PREFS['mp3_player'] == 2 ? ' selected="selected"' : '') . '>' . $LANG_MG01['flashplayer'] . '</option>'; $mp3_select .= '</select>'; $playback_select = '<select name="playback_mode">'; $playback_select .= '<option value="-1"' . ($_PREFS['playback_mode'] == 1 ? ' selected="selected"' : '') . '>' . $LANG_MG01['system_default'] . '</option>'; $playback_select .= '<option value="0"' . ($_PREFS['playback_mode'] == 0 ? ' selected="selected"' : '') . '>' . $LANG_MG01['play_in_popup'] . '</option>'; $playback_select .= '<option value="2"' . ($_PREFS['playback_mode'] == 2 ? ' selected="selected"' : '') . '>' . $LANG_MG01['play_inline'] . '</option>'; $playback_select .= '<option value="3"' . ($_PREFS['playback_mode'] == 3 ? ' selected="selected"' : '') . '>' . $LANG_MG01['use_mms'] . '</option>'; $playback_select .= '</select>'; $tn_select = '<select name="tn_size">'; $tn_select .= '<option value="-1"' . ($_PREFS['tn_size'] == -1 ? ' selected="selected"' : '') . '>' . $LANG_MG01['system_default'] . '</option>'; $tn_select .= '<option value="0"' . ($_PREFS['tn_size'] == 0 ? ' selected="selected"' : '') . '>' . $LANG_MG01['small'] . '</option>'; $tn_select .= '<option value="1"' . ($_PREFS['tn_size'] == 1 ? ' selected="selected"' : '') . '>' . $LANG_MG01['medium'] . '</option>'; $tn_select .= '<option value="2"' . ($_PREFS['tn_size'] == 2 ? ' selected="selected"' : '') . '>' . $LANG_MG01['large'] . '</option>'; $tn_select .= '</select>'; $helpText = '<ul>'; if ($_MG_CONF['up_display_rows_enabled']) { $T->set_var(array('lang_prompt' => $LANG_MG01['display_rows_prompt'], 'input_field' => '<input type="text" size="3" name="display_rows" value="' . $_PREFS['display_rows'] . '" />', 'lang_help' => $LANG_MG01['display_rows_help'], 'rowcounter' => $x++ % 2)); $T->parse('pRow', 'prefRow', true); $helpText .= '<li>' . $LANG_MG01['display_rows_help'] . '</li>'; } if ($_MG_CONF['up_display_columns_enabled']) { $T->set_var(array('lang_prompt' => $LANG_MG01['display_columns_prompt'], 'input_field' => '<input type="text" size="3" name="display_columns" value="' . $_PREFS['display_columns'] . '" />', 'lang_help' => $LANG_MG01['display_columns_help'])); $T->parse('pRow', 'prefRow', true); $helpText .= '<li>' . $LANG_MG01['display_columns_help'] . '</li>'; } if ($_MG_CONF['up_mp3_player_enabled']) { $T->set_var(array('lang_prompt' => $LANG_MG01['mp3_player'], 'input_field' => $mp3_select, 'lang_help' => $LANG_MG01['mp3_player_help'])); $T->parse('pRow', 'prefRow', true); $helpText .= '<li>' . $LANG_MG01['mp3_player_help'] . '</li>'; } if ($_MG_CONF['up_av_playback_enabled']) { $T->set_var(array('lang_prompt' => $LANG_MG01['av_play_options'], 'input_field' => $playback_select, 'lang_help' => $LANG_MG01['av_play_options_help'])); $T->parse('pRow', 'prefRow', true); $helpText .= '<li>' . $LANG_MG01['av_play_options_help'] . '</li>'; } if ($_MG_CONF['up_thumbnail_size_enabled']) { $T->set_var(array('lang_prompt' => $LANG_MG01['tn_size'], 'input_field' => $tn_select, 'lang_help' => $LANG_MG01['tn_size_help'])); $T->parse('pRow', 'prefRow', true); $helpText .= '<li>' . $LANG_MG01['tn_size_help'] . '</li>'; } $helpText .= '</ul>'; $T->set_var('lang_mgprefs_help_title', $LANG_MG01['user_prefs_title']); $T->set_var('lang_mgprefs_help', $helpText); $T->set_var('lang_mg_prefs', $LANG_MG01['user_prefs_title']); $T->parse('output', 'admin'); $retval .= $T->finish($T->get_var('output')); return $retval; }
/** * Save browser upload(s) * * @param int album_id album_id save uploaded media * @return string HTML * */ function MG_saveUserUpload($album_id) { global $MG_albums, $_USER, $_CONF, $_TABLES, $_MG_CONF, $LANG_MG00, $LANG_MG01, $LANG_MG02, $LANG_MG03, $new_media_id; $retval = ''; $retval .= COM_startBlock($LANG_MG03['upload_results'], '', COM_getBlockTemplate('_admin_block', 'header')); $T = new Template(MG_getTemplatePath($album_id)); $T->set_file('mupload', 'useruploadstatus.thtml'); $statusMsg = ''; $file = array(); $file = $_FILES['newmedia']; $thumbs = $_FILES['thumbnail']; $albums = $album_id; $successfull_upload = 0; $upload = 1; $purge = 0; foreach ($file['name'] as $key => $name) { $filename = $file['name'][$key]; $filetype = $file['type'][$key]; $filesize = $file['size'][$key]; $filetmp = $file['tmp_name'][$key]; $upload = isset($file['_data_dir']) ? 0 : 1; $purge = isset($file['_data_dir']) ? 1 : 0; $error = $file['error'][$key]; $caption = $_POST['caption'][$key]; $description = $_POST['description'][$key]; $keywords = $_POST['keywords'][$key]; $category = 0; if (isset($_POST['cat_id'])) { $category = COM_applyFilter($_POST['cat_id'][$key], true); } $attachtn = isset($_POST['attachtn'][$key]) ? $_POST['attachtn'][$key] : ''; $thumbnail = isset($thumbs['tmp_name'][$key]) ? $thumbs['tmp_name'][$key] : ''; if (isset($_POST['dnc'][$key]) && $_POST['dnc'][$key] == 'on') { $dnc = 1; } else { $dnc = 0; } if ($filename == '') { continue; } if ($MG_albums[$album_id]->max_filesize != 0 && $filesize > $MG_albums[$album_id]->max_filesize) { COM_errorLog("MG Upload: File " . $filename . " exceeds maximum allowed filesize for this album"); $tmpmsg = sprintf($LANG_MG02['upload_exceeds_max_filesize'], $filename); $statusMsg .= $tmpmsg . '<br/>'; continue; } if ($attachtn == "on") { $attach_tn = 1; } else { $attach_tn = 0; } if ($error != UPLOAD_ERR_OK) { switch ($error) { case 1: $tmpmsg = sprintf($LANG_MG02['upload_too_big'], $filename); $statusMsg .= $tmpmsg . '<br/>'; COM_errorLog('MediaGallery: Error - ' . $tmpmsg); break; case 2: $tmpmsg = sprintf($LANG_MG02['upload_too_big_html'], $filename); $statusMsg .= $tmpmsg . '<br/>'; COM_errorLog('MediaGallery: Error - ' . $tmpmsg); break; case 3: $tmpmsg = sprintf($LANG_MG02['partial_upload'], $filename); $statusMsg .= $tmpmsg . '<br/>'; COM_errorLog('MediaGallery: Error - ' . $tmpmsg); break; case 4: break; case 6: $statusMsg .= $LANG_MG02['missing_tmp'] . '<br/>'; break; case 7: $statusMsg .= $LANG_MG02['disk_fail'] . '<br/>'; break; default: $statusMsg .= $LANG_MG02['unknown_err'] . '<br/>'; break; } continue; } // check user quota -- do we have one? $user_quota = MG_getUserQuota($_USER['uid']); if ($user_quota > 0) { $disk_used = MG_quotaUsage($_USER['uid']); if ($disk_used + $filesize > $user_quota) { COM_errorLog("MG Upload: File " . $filename . " would exceeds the users quota"); $tmpmsg = sprintf($LANG_MG02['upload_exceeds_quota'], $filename); $statusMsg .= $tmpmsg . '<br/>'; continue; } } // override the determination for some filetypes $filetype = MG_getFileTypeFromExt($filename, $filetype); // process the uploaded files list($rc, $msg) = MG_getFile($filetmp, $filename, $albums, $caption, $description, $upload, $purge, $filetype, $attach_tn, $thumbnail, $keywords, $category, $dnc, 0); $statusMsg .= $filename . " " . $msg . '<br/>'; if ($rc == true) { $successfull_upload++; } } if ($successfull_upload) { MG_notifyModerators($albums); PLG_sendSubscriptionNotification('mediagallery', '', $albums, $new_media_id, $_USER['uid']); } // failsafe check - after all the uploading is done, double check that the database counts // equal the actual count of items shown in the database, if not, fix the counts and log // the error $dbCount = DB_count($_TABLES['mg_media_albums'], 'album_id', (int) $album_id); $aCount = DB_getItem($_TABLES['mg_albums'], 'media_count', "album_id=" . (int) $album_id); if ($dbCount != $aCount) { DB_query("UPDATE " . $_TABLES['mg_albums'] . " SET media_count=" . $dbCount . " WHERE album_id=" . (int) $album_id); COM_errorLog("MediaGallery: Upload processing - Counts don't match - dbCount = " . $dbCount . " aCount = " . $aCount); } MG_SortMedia($album_id); $T->set_var('status_message', $statusMsg); $tmp = $_MG_CONF['site_url'] . '/album.php?aid=' . $album_id . '&page=1'; $redirect = sprintf($LANG_MG03['album_redirect'], $tmp); $T->set_var('redirect', $redirect); $T->parse('output', 'mupload'); $retval .= $T->finish($T->get_var('output')); $retval .= COM_endBlock(COM_getBlockTemplate('_admin_block', 'footer')); return $retval; }
$display .= COM_siteFooter(true); echo $display; exit; } require_once $_CONF['path'] . 'plugins/mediagallery/include/init.php'; /* * Main Function */ MG_initAlbums(); // $display = COM_siteHeader(); if (!isset($_GET['aid']) || !isset($_GET['mid'])) { die("Invalid Input Received"); } $album_id = COM_applyFilter($_GET['aid'], true); $media_id = COM_applyFilter($_GET['mid']); $T = new Template(MG_getTemplatePath($album_id)); $T->set_file('page', 'view_image.thtml'); $T->set_var('header', $LANG_MG00['plugin']); $T->set_var('site_url', $_CONF['site_url']); $T->set_var('plugin', 'mediagallery'); // // -- Verify that image really does belong to this album // $sql = "SELECT * FROM " . $_TABLES['mg_media_albums'] . " WHERE media_id='" . DB_escapeString($mid) . "' AND album_id='" . intval($aid) . "'"; $result = DB_query($sql); if (DB_numRows($result) < 1) { die("ERROR #2"); } // Get Album Info... $sql = "SELECT * FROM " . $_TABLES['mg_albums'] . " WHERE album_id=" . intval($album_id); $result = DB_query($sql);
function MG_notifyModerators($aid) { global $LANG_DIRECTION, $_USER, $_MG_CONF, $_CONF, $_TABLES, $LANG_MG01; $sql = "SELECT moderate, album_title, mod_group_id " . "FROM {$_TABLES['mg_albums']} WHERE album_id = " . intval($aid); $result = DB_query($sql); $A = DB_fetchArray($result); if ($A['moderate'] != 1 || SEC_hasRights('mediagallery.admin')) { return true; } require_once $_CONF['path'] . 'plugins/mediagallery/include/lib/phpmailer/class.phpmailer.php'; $media_user_id = $_USER['uid']; if (empty($LANG_DIRECTION)) { // default to left-to-right $direction = 'ltr'; } else { $direction = $LANG_DIRECTION; } $charset = COM_getCharset(); COM_clearSpeedlimit(600, 'mgnotify'); $last = COM_checkSpeedlimit('mgnotify'); if ($last == 0) { $mail = new PHPMailer(); $mail->CharSet = $charset; if ($_CONF['mail_settings']['backend'] == 'smtp') { $mail->Host = $_CONF['mail_settings']['host'] . ':' . $_CONF['mail_settings']['port']; $mail->SMTPAuth = $_CONF['mail_settings']['auth']; $mail->Username = $_CONF['mail_settings']['username']; $mail->Password = $_CONF['mail_settings']['password']; $mail->Mailer = "smtp"; } elseif ($_CONF['mail_settings']['backend'] == 'sendmail') { $mail->Mailer = "sendmail"; $mail->Sendmail = $_CONF['mail_settings']['sendmail_path']; } else { $mail->Mailer = "mail"; } $mail->WordWrap = 76; $mail->IsHTML(true); $mail->Subject = $LANG_MG01['new_upload_subject'] . $_CONF['site_name']; if (!isset($_USER['uid']) || $_USER['uid'] < 2) { $uname = 'Anonymous'; } else { $uname = DB_getItem($_TABLES['users'], 'username', 'uid=' . intval($media_user_id)); } // build the template... $T = COM_newTemplate(MG_getTemplatePath($aid)); $T->set_file('email', 'modemail.thtml'); $T->set_var(array('direction' => $direction, 'charset' => $charset, 'lang_new_upload' => $LANG_MG01['new_upload_body'], 'lang_details' => $LANG_MG01['details'], 'lang_album_title' => 'Album', 'lang_uploaded_by' => $LANG_MG01['uploaded_by'], 'username' => $uname, 'album_title' => strip_tags($A['title']), 'url_moderate' => '<a href="' . $_MG_CONF['site_url'] . '/admin.php?album_id=' . $aid . '&mode=moderate">Click here to view</a>', 'site_name' => $_CONF['site_name'] . ' - ' . $_CONF['site_slogan'], 'site_url' => $_CONF['site_url'])); $body .= $T->finish($T->parse('output', 'email')); $mail->Body = $body; $altbody = $LANG_MG01['new_upload_body'] . $A['title']; $altbody .= "\n\r\n\r"; $altbody .= $LANG_MG01['details']; $altbody .= "\n\r"; $altbody .= $LANG_MG01['uploaded_by'] . ' ' . $uname . "\n\r"; $altbody .= "\n\r\n\r"; $altbody .= $_CONF['site_name'] . "\n\r"; $altbody .= $_CONF['site_url'] . "\n\r"; $mail->AltBody = $altbody; $mail->From = $_CONF['site_mail']; $mail->FromName = $_CONF['site_name']; $groups = MG_getGroupList($A['mod_group_id']); $groupList = implode(',', $groups); $sql = "SELECT DISTINCT {$_TABLES['users']}.uid,username,fullname,email " . "FROM {$_TABLES['group_assignments']},{$_TABLES['users']} " . "WHERE {$_TABLES['users']}.uid > 1 " . "AND {$_TABLES['users']}.uid = {$_TABLES['group_assignments']}.ug_uid " . "AND ({$_TABLES['group_assignments']}.ug_main_grp_id IN ({$groupList}))"; $result = DB_query($sql); $nRows = DB_numRows($result); $toCount = 0; for ($i = 0; $i < $nRows; $i++) { $row = DB_fetchArray($result); if ($row['email'] != '') { if ($_MG_CONF['verbose']) { COM_errorLog("MG Upload: Sending notification email to: " . $row['email'] . " - " . $row['username']); } $toCount++; $mail->AddAddress($row['email'], $row['username']); } } if ($toCount > 0) { if (!$mail->Send()) { COM_errorLog("MG Upload: Unable to send moderation email - error:" . $mail->ErrorInfo); } } else { COM_errorLog("MG Upload: Error - Did not find any moderators to email"); } COM_updateSpeedlimit('mgnotify'); } return true; }