Пример #1
0
function MG_imageAdmin($album_id, $page, $actionURL = '')
{
    global $_CONF, $_TABLES, $_USER, $_MG_CONF, $LANG_MG00, $LANG_MG01;
    $album = new mgAlbum($album_id);
    if ($actionURL == '') {
        $actionURL = $_MG_CONF['site_url'] . '/index.php';
    }
    if ($page > 0) {
        $page = $page - 1;
    }
    $begin = $_MG_CONF['mediamanage_items'] * $page;
    $end = $_MG_CONF['mediamanage_items'];
    $retval = '';
    $T = COM_newTemplate(MG_getTemplatePath($album_id));
    $T->set_file(array('admin' => 'mediamanage.thtml', 'media' => 'mediaitems.thtml'));
    // -- Get Album Cover Info..
    if ($album->access != 3) {
        COM_errorLog("Someone has tried to illegally edit media in Media Gallery. " . "User id: {$_USER['uid']}, Username: {$_USER['username']}, IP: {$REMOTE_ADDR}", 1);
        return COM_showMessageText($LANG_MG00['access_denied_msg']);
    }
    $album_cover = $album->cover;
    $album_selectbox = '<select name="album">';
    $root_album = new mgAlbum(0);
    $root_album->buildAlbumBox($album_selectbox, $album_id, 3, $album_id, 'manage');
    $album_selectbox .= '</select>';
    $sql = "SELECT * FROM {$_TABLES['mg_category']} ORDER BY cat_id ASC";
    $result = DB_query($sql);
    $nrows = DB_numRows($result);
    for ($i = 0; $i < $nrows; $i++) {
        $catRow[$i] = DB_fetchArray($result);
    }
    $sql = "SELECT COUNT(*) AS totalitems " . "FROM {$_TABLES['mg_media_albums']} " . "WHERE album_id=" . intval($album_id);
    $result = DB_query($sql);
    $row = DB_fetchArray($result);
    $totalAlbumItems = $row['totalitems'];
    $sql = MG_buildMediaSql(array('album_id' => $album_id, 'offset' => $begin, 'limit' => $end));
    $result = DB_query($sql);
    $nrows = DB_numRows($result);
    $batchOptionSelect = '<select name="batchOption">';
    if ($_CONF['image_lib'] == 'gdlib' && !function_exists("imagerotate")) {
        $batchOptionSelect .= '';
    } else {
        $batchOptionSelect .= '<option value="rrt">' . $LANG_MG01['rotate_right'] . '</option>';
        $batchOptionSelect .= '<option value="rlt">' . $LANG_MG01['rotate_left'] . '</option>';
    }
    if ($album->wm_id != 0) {
        $batchOptionSelect .= '<option value="watermark">' . $LANG_MG01['watermark'] . '</option>';
    }
    $batchOptionSelect .= '</select>&nbsp;';
    $T->set_var(array('album_id' => $album_id, 'lang_albumsel' => $LANG_MG01['destination_album'], 'albumselect' => $album_selectbox, 'lang_save' => $LANG_MG01['save'], 'lang_cancel' => $LANG_MG01['cancel'], 'lang_delete' => $LANG_MG01['delete'], 'lang_move' => $LANG_MG01['move'], 'lang_select' => $LANG_MG01['select'], 'lang_item' => $LANG_MG01['item'], 'lang_order' => $LANG_MG01['order'], 'lang_cover' => $LANG_MG01['cover'], 'lang_title' => $LANG_MG01['title'], 'lang_description' => $LANG_MG01['description'], 'lang_checkall' => $LANG_MG01['check_all'], 'lang_uncheckall' => $LANG_MG01['uncheck_all'], 'lang_rotate_right' => $LANG_MG01['rotate_right'], 'lang_rotate_left' => $LANG_MG01['rotate_left'], 'lang_batch' => $LANG_MG01['batch_process'], 'lang_media_manage_title' => $LANG_MG01['manage_media'], 'lang_media_manage_help' => $LANG_MG01['media_manage_help'], 'lang_reset_cover' => $LANG_MG01['reset_cover'], 'lang_include_ss' => $LANG_MG01['include_ss'], 'lang_watermarked' => $LANG_MG01['watermarked'], 'lang_delete_confirm' => $LANG_MG01['delete_item_confirm'], 'batchoptionselect' => $batchOptionSelect, 'lang_batch_options' => $LANG_MG01['batch_options'], 'lang_keywords' => $LANG_MG01['keywords'], 'albumselect' => $album_selectbox, 'lang_batch' => $LANG_MG01['batch_process'], 'batchoptionselect' => $batchOptionSelect, 'val_reset_cover' => $album_cover == '-1' ? ' checked="checked"' : ''));
    $tn_size = 1;
    // include:150x150
    $rowclass = 0;
    $counter = 0;
    if ($nrows == 0) {
        // we have nothing in the album at this time...
        $T->set_var('lang_no_image', $LANG_MG01['no_media_objects']);
    } else {
        $T->set_block('media', 'ImageColumn', 'IColumn');
        $T->set_block('media', 'ImageRow', 'IRow');
        for ($x = 0; $x < $nrows; $x += 3) {
            $T->set_var('IColumn', '');
            for ($j = $x; $j < $x + 3; $j++) {
                if ($j >= $nrows) {
                    break;
                }
                $row = DB_fetchArray($result);
                $album_cover_check = '';
                $radio_box = '&nbsp;';
                if (($row['media_type'] == 0 || $row['media_tn_attached'] == 1) && $album->tn_attached == 0) {
                    $checked = $album_cover == $row['media_id'] ? ' checked="checked"' : '';
                    $radio_box = '<input type="radio" name="cover" value="' . $row['media_id'] . '"' . $checked . XHTML . '>';
                    $album_cover_check = $checked;
                }
                $include_ss = '&nbsp;';
                if ($row['media_type'] == 0) {
                    $checked = $row['include_ss'] == 1 ? ' checked="checked"' : '';
                    $include_ss = '<input type="checkbox" name="ss[' . $counter . ']" value="1"' . $checked . XHTML . '>';
                }
                switch ($row['media_type']) {
                    case 0:
                        // standard image
                        list($thumbnail, $pThumbnail, $img_size) = Media::getThumbInfo($row, $tn_size);
                        $fname = $row['media_filename'];
                        $ext = $row['media_mime_ext'];
                        $pDisplay = Media::getFilePath('disp', $fname, $ext);
                        $display = Media::getFileUrl('disp', $fname, $ext);
                        break;
                    default:
                        $mediaClass = new Media($row, $album_id);
                        list($thumbnail, $pThumbnail) = $mediaClass->displayRawThumb(1);
                        $img_size = @getimagesize($pThumbnail);
                        break;
                }
                $media_time = MG_getUserDateTimeFormat($row['media_time']);
                if ($img_size != false) {
                    list($width, $height) = Media::getImageWH($img_size[0], $img_size[1], 150, 150);
                } else {
                    //$width = 100;
                    //$height = 75;
                    $width = 150;
                    $height = 112;
                    $thumbnail = $_MG_CONF['mediaobjects_url'] . '/missing.png';
                }
                $cat_select = '<select name="cat_id[]">';
                $cat_select .= '<option value="0">' . $LANG_MG01['no_category'] . '</option>';
                $cRows = count($catRow);
                for ($i = 0; $i < $cRows; $i++) {
                    $cat_select .= '<option value="' . $catRow[$i]['cat_id'] . '" ' . ($catRow[$i]['cat_id'] == $row['media_category'] ? ' selected="selected"' : '') . '>' . $catRow[$i]['cat_name'] . '</option>';
                }
                $cat_select .= '</select>';
                $media_edit = $_MG_CONF['site_url'] . '/admin.php?mode=mediaedit&amp;mid=' . $row['media_id'] . '&amp;album_id=' . $album_id . '&amp;t=' . time();
                $opt = array('playback_type' => 0, 'skin' => 'default', 'display_skin' => 'default', 'full_display' => 0);
                $object = MG_buildContent($row, $opt);
                $media_zoom = '<a href="' . $object[4] . '">';
                $T->set_var(array('lang_category' => $LANG_MG01['category'], 'cat_select' => $cat_select, 'row_class' => $rowclass % 2 ? '1' : '2', 'media_id' => $row['media_id'], 'mid' => $row['media_id'], 'order' => $row['media_order'], 'u_thumbnail' => $thumbnail, 'media_title' => $row['media_title'], 'media_desc' => $row['media_desc'], 'media_keywords' => $row['media_keywords'], 'media_time' => $media_time[0], 'media_views' => $row['media_views'], 'radio_box' => $radio_box, 'album_cover_check' => $album_cover_check, 'include_ss' => $include_ss, 'watermarked' => $row['media_watermarked'] ? '*' : '', 'height' => $height, 'width' => $width, 'counter' => $counter, 'media_edit' => $media_edit, 'media_zoom' => $media_zoom, 'lang_edit' => $LANG_MG01['edit']));
                $rowclass++;
                $counter++;
                $T->parse('IColumn', 'ImageColumn', true);
            }
            $T->parse('IRow', 'ImageRow', true);
        }
        $T->parse('mediaitems', 'media');
    }
    $T->set_var(array('album_id' => $album_id, 'url_album' => $_MG_CONF['site_url'] . '/album.php?aid=' . $album_id, 's_mode' => 'cover', 's_form_action' => $actionURL, 'mode' => 'media', 'action' => 'cover', 'lang_save' => $LANG_MG01['save'], 'lang_cancel' => $LANG_MG01['cancel'], 'lang_delete' => $LANG_MG01['delete'], 'lang_media_manage_help' => $LANG_MG01['media_manage_help'], 'lang_delete_confirm' => $LANG_MG01['delete_item_confirm'], 'albums' => $LANG_MG01['albums'], 'batchoptionselect' => $batchOptionSelect, 'bottom_pagination' => COM_printPageNavigation($_MG_CONF['site_url'] . '/admin.php?album_id=' . $album_id . '&amp;mode=media', $page + 1, ceil($totalAlbumItems / $_MG_CONF['mediamanage_items']))));
    $retval .= $T->finish($T->parse('output', 'admin'));
    return $retval;
}
Пример #2
0
function MG_usageReport()
{
    global $_TABLES, $_CONF, $_MG_CONF, $LANG_MG02, $LANG_MG01, $LANG_MONTH;
    $retval = '';
    $T = new Template($_MG_CONF['template_path']);
    $T->set_file('admin', 'usage_rpt.thtml');
    $T->set_var('site_url', $_CONF['site_url']);
    $T->set_var('site_admin_url', $_CONF['site_admin_url']);
    $T->set_var('plugin', 'mediagallery');
    $T->set_var('xhtml', XHTML);
    $rpt_month = COM_applyFilter($_POST['month'], true);
    $rpt_day = COM_applyFilter($_POST['day'], true);
    $rpt_year = COM_applyFilter($_POST['year'], true);
    $user = COM_applyFilter($_POST['user']);
    $alldates = !empty($_POST['alldates']) ? COM_applyFilter($_POST['alldates']) : '';
    if ($alldates == "on" && $user == "") {
        return COM_showMessageText($LANG_MG02['usage_report_error1'] . '  [ <a href=\'javascript:history.go(-1)\'>' . $LANG_MG02['go_back'] . '</a> ]');
    }
    $where = "";
    if ($alldates == "") {
        $begin_time = mktime(0, 0, 0, $rpt_month, $rpt_day, $rpt_year);
        $end_time = mktime(23, 59, 59, $rpt_month, $rpt_day, $rpt_year);
        $where = " WHERE (time >= {$begin_time} AND time <= {$end_time}) ";
    }
    if ($alldates == "" && $user != "") {
        $where .= "AND ";
    }
    if ($user != "") {
        if ($alldates == "on") {
            $where .= "WHERE ";
        }
        $where .= " user_id='" . $user . "' ";
    }
    $sql = "SELECT * FROM {$_TABLES['mg_usage_tracking']} " . $where . " ORDER BY time";
    $result = DB_query($sql);
    $nRows = DB_numRows($result);
    $opt = array('playback_type' => 0, 'skin' => 'default', 'display_skin' => 'default', 'allow_download' => 1, 'full_display' => 0);
    $i = 0;
    $T->set_block('admin', 'usagerow', 'urow');
    for ($x = 0; $x < $nRows; $x++) {
        $row = DB_fetchArray($result);
        if ($alldates == "on") {
            $view_date = date("d-M-y @ h:i a", $row['time']);
        } else {
            $view_date = date("h:i a", $row['time']);
        }
        $sql = "SELECT * FROM {$_TABLES['mg_media']} " . "WHERE media_id='" . addslashes($row['media_id']) . "'";
        $result2 = DB_query($sql);
        $A = DB_fetchArray($result2);
        $opt['media_id'] = $A['media_id'];
        $object = MG_buildContent($A, $opt);
        $T->set_var(array('usage_time' => $view_date, 'user_id' => $row['user_name'], 'application' => $row['application'], 'album_title' => stripslashes($row['album_title']), 'media_title' => stripslashes($row['media_title']) == "" ? $row['media_id'] ? $row['media_id'] : "" : $row['media_title'], 'media_link' => $object[4], 'rowclass' => $i % 2 ? '2' : '1'));
        $i++;
        $T->parse('urow', 'usagerow', true);
    }
    if ($alldates == "on") {
        $rpt_date = $LANG_MG01['all_dates'];
    } else {
        $rpt_date = $LANG_MONTH[$rpt_month] . '/' . $rpt_day . '/' . $rpt_year;
    }
    $T->set_var(array('report_date' => $rpt_date, 's_form_action' => $_MG_CONF['admin_url'] . 'usage_rpt.php', 'lang_usage_report' => $LANG_MG01['usage_report_header'], 'lang_time' => $LANG_MG01['time'], 'lang_user_id' => $LANG_MG01['user_id'], 'lang_application' => $LANG_MG01['application'], 'lang_album_title' => $LANG_MG01['album_title'], 'lang_media_title' => $LANG_MG01['mod_mediatitle'], 'lang_new_report' => $LANG_MG01['new_report']));
    $retval .= $T->finish($T->parse('output', 'admin'));
    return $retval;
}
Пример #3
0
}
$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);
Пример #4
0
function MG_displayMedia($id, $full = 0, $sortOrder = 0, $comments = 0, $spage = 0)
{
    global $_TABLES, $_CONF, $_MG_CONF, $LANG_MG00, $LANG_MG01, $LANG_MG03, $LANG_MG04, $LANG_ACCESS, $_USER;
    $retval = '';
    $aid = DB_getItem($_TABLES['mg_media_albums'], 'album_id', 'media_id="' . addslashes($id) . '"');
    require_once $_CONF['path'] . 'plugins/mediagallery/include/classAlbum.php';
    $mg_album = new mgAlbum($aid);
    $root_album = new mgAlbum(0);
    $pid = 0;
    if (isset($mg_album->pid)) {
        $pid = $mg_album->pid;
    }
    $aOffset = -1;
    $aOffset = $mg_album->getOffset();
    if ($aOffset == -1 || $mg_album->access == 0) {
        $retval = COM_startBlock($LANG_ACCESS['accessdenied'], '', COM_getBlockTemplate('_msg_block', 'header')) . '<br' . XHTML . '>' . $LANG_MG00['access_denied_msg'] . COM_endBlock(COM_getBlockTemplate('_msg_block', 'footer'));
        return array($LANG_MG00['access_denied_msg'], $retval);
    }
    $sql = MG_buildMediaSql(array('album_id' => $aid, 'sortorder' => $mg_album->enable_sort ? $sortOrder : 0));
    $result = DB_query($sql);
    $nRows = DB_numRows($result);
    $total_media = $nRows;
    $media_array = array();
    while ($row = DB_fetchArray($result)) {
        $media_array[] = $row;
        $id_array[] = $row['media_id'];
    }
    $key = array_search($id, $id_array);
    if ($key === false) {
        $retval = COM_startBlock($LANG_ACCESS['accessdenied'], '', COM_getBlockTemplate('_msg_block', 'header')) . '<br' . XHTML . '>' . $LANG_MG00['access_denied_msg'] . COM_endBlock(COM_getBlockTemplate('_msg_block', 'footer'));
        return array($LANG_MG00['access_denied_msg'], $retval);
    }
    $media = $media_array[$key];
    if ($mg_album->full == 2 || $_MG_CONF['discard_original'] == 1 || $mg_album->full == 1 && $_USER['uid'] > 1) {
        $full = 0;
    }
    $disp = $full ? 'orig' : 'disp';
    if ($mg_album->enable_comments == 0) {
        $comments = 0;
    }
    $display_skin = $mg_album->display_skin;
    MG_getCSS($display_skin);
    // construct the album jumpbox...
    $album_jumpbox = '';
    if (!$_MG_CONF['hide_jumpbox_on_mediaview']) {
        $album_jumpbox = MG_buildAlbumJumpbox($root_album, $aid, 1, -1);
    }
    // Update the views count... But only for non-admins
    if (!$root_album->owner_id) {
        $media_views = $media['media_views'] + 1;
        DB_change($_TABLES['mg_media'], 'media_views', $media_views, 'media_id', addslashes($media['media_id']));
    }
    $columns_per_page = $mg_album->display_columns == 0 ? $_MG_CONF['ad_display_columns'] : $mg_album->display_columns;
    $rows_per_page = $mg_album->display_rows == 0 ? $_MG_CONF['ad_display_rows'] : $mg_album->display_rows;
    $_MG_USERPREFS = MG_getUserPrefs();
    if (isset($_MG_USERPREFS['display_rows']) && $_MG_USERPREFS['display_rows'] > 0) {
        $rows_per_page = $_MG_USERPREFS['display_rows'];
    }
    if (isset($_MG_USERPREFS['display_columns']) && $_MG_USERPREFS['display_columns'] > 0) {
        $columns_per_page = $_MG_USERPREFS['display_columns'];
    }
    $media_per_page = $columns_per_page * $rows_per_page;
    if ($mg_album->albums_first) {
        $childCount = $mg_album->getChildCount();
        $page = intval(($key + $childCount) / $media_per_page) + 1;
    } else {
        $page = intval($key / $media_per_page) + 1;
    }
    /*
     * check to see if the original image exists, if not fall back to full image
     */
    $media_size_orig = @getimagesize(Media::getFilePath('orig', $media['media_filename'], $media['media_mime_ext']));
    if ($media_size_orig == false) {
        $full = 0;
        $disp = 'disp';
    }
    $aPage = intval($aOffset / ($root_album->display_columns * $root_album->display_rows)) + 1;
    $birdseed = MG_getBirdseed($mg_album->id, 1, $sortOrder, $aPage);
    $album_link = '<a href="' . $_MG_CONF['site_url'] . '/album.php?aid=' . $aid . '&amp;page=' . $page . '&amp;sort=' . $sortOrder . '">';
    if ($_MG_CONF['usage_tracking']) {
        MG_updateUsage('media_view', $mg_album->title, $media['media_title'], $media['media_id']);
    }
    // hack for tga files...
    if ($media['mime_type'] == 'image/x-targa' || $media['mime_type'] == 'image/tga') {
        $full = 0;
        $disp = 'disp';
    }
    $prevLink = '';
    $nextLink = '';
    $pagination = '';
    $base_url = $_MG_CONF['site_url'] . "/media.php?f=" . ($full ? '1' : '0') . "&amp;sort=" . $sortOrder;
    list($prevLink, $nextLink) = MG_getNextandPrev($base_url, $nRows, $key, $media_array);
    // generate pagination routine
    if (!empty($prevLink)) {
        $pagination .= '<a href="' . $prevLink . '">' . $LANG_MG03['previous'] . '</a>';
    }
    if (!empty($nextLink)) {
        $pagination .= !empty($prevLink) ? '&nbsp;&nbsp;&nbsp;' : '';
        $pagination .= '<a href="' . $nextLink . '">' . $LANG_MG03['next'] . '</a>';
    }
    $pagination .= LB;
    // hack for testing...>>>
    $media_id = $media['media_id'];
    if ($_MG_CONF['click_image_and_go_next'] && !$_MG_CONF['full_in_popup']) {
        $nextkey = MG_getNextitem($nRows, $key);
        if ($nextkey !== '') {
            $media_id = $media_array[$nextkey]['media_id'];
        }
    }
    $vf = $full;
    if ($media['media_type'] == '0') {
        // image
        $switch_size = $_MG_CONF['site_url'] . "/media.php?f=" . ($full ? '0' : '1') . '&amp;sort=' . $sortOrder . '&amp;s=' . $media['media_id'];
        $lang_switch_size = $full ? $LANG_MG03['normal_size'] : $LANG_MG03['full_size'];
        $switch_viewsize_link = '<a href="' . $switch_size . '">' . $lang_switch_size . '</a>';
    }
    // hack for testing...<<<
    $opt = array('full' => $full, 'media_id' => $media_id, 'sortOrder' => $sortOrder, 'spage' => $spage, 'playback_type' => $mg_album->playback_type, 'skin' => $mg_album->skin, 'display_skin' => $mg_album->display_skin, 'allow_download' => $mg_album->allow_download, 'full_display' => $mg_album->full);
    list($u_image, $raw_image, $raw_image_width, $raw_image_height, $raw_link_url) = MG_buildContent($media, $opt);
    $mid = $media['media_id'];
    if ($_MG_CONF['use_upload_time'] == 1) {
        $media_date = MG_getUserDateTimeFormat($media['upload_time']);
    } else {
        $media_date = MG_getUserDateTimeFormat($media['media_time']);
    }
    $rating_box = '';
    if ($mg_album->enable_rating > 0) {
        require_once $_CONF['path'] . 'plugins/mediagallery/include/lib-rating.php';
        $rating_box = MG_getRatingBar($mg_album->enable_rating, $media['media_user_id'], $media['media_id'], $media['media_votes'], $media['media_rating'], '');
    }
    $download_link = '';
    $download = '';
    if ($mg_album->allow_download) {
        $download_link = $_MG_CONF['site_url'] . '/download.php?mid=' . $media['media_id'];
        $download = '<a href="' . $download_link . '">' . $LANG_MG01['download'] . '</a>';
    }
    $edit_item_link = '';
    $edit_item = '';
    if ($mg_album->access == 3 || $_MG_CONF['allow_user_edit'] == true && isset($_USER['uid']) && $media['media_user_id'] == $_USER['uid']) {
        $edit_item_link = $_MG_CONF['site_url'] . '/admin.php?mode=mediaedit&amp;s=1&amp;album_id=' . $aid . '&amp;mid=' . $mid;
        $edit_item = '<a href="' . $edit_item_link . '">' . $LANG_MG01['edit'] . '</a>';
    }
    $media_desc = PLG_replaceTags(nl2br($media['media_desc']));
    if (strlen($media_desc) > 0) {
        $media_desc = '<p style="margin:5px">' . $media_desc . '</p>';
    }
    $getid3link = '';
    $getid3linkend = '';
    $media_properties = $getid3link != '' ? $LANG_MG03['media_properties'] : '';
    $kwText = '';
    $lang_keywords = '';
    if ($mg_album->enable_keywords == 1 && !empty($media['media_keywords'])) {
        $lang_keywords = $LANG_MG01['keywords'];
        $keyWords = array();
        $keyWords = explode(' ', $media['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 .= '<a href="' . $_MG_CONF['site_url'] . '/search.php?mode=search&amp;swhere=1&amp;keywords=' . $searchKeyword . '&amp;keyType=any">' . $keyWords[$i] . '</a>';
        }
    }
    $media_user_id = $media['media_user_id'];
    if (empty($media_user_id)) {
        $media_user_id = 0;
    }
    $displayname = $_CONF['show_fullname'] ? 'fullname' : 'username';
    $owner_name = DB_getItem($_TABLES['users'], $displayname, "uid = {$media_user_id}");
    if (empty($owner_name)) {
        $owner_name = DB_getItem($_TABLES['users'], 'username', "uid = {$media_user_id}");
        if (empty($owner_name)) {
            $owner_name = 'unknown';
        }
    }
    $owner_link = $owner_name;
    if ($owner_name != 'unknown') {
        $owner_link = '<a href="' . $_CONF['site_url'] . '/users.php?mode=profile&amp;uid=' . $media_user_id . '">' . $owner_name . '</a>';
    }
    $property = '';
    if (($mg_album->exif_display == 2 || $mg_album->exif_display == 3) && $media['media_type'] == 0) {
        require_once $_CONF['path'] . 'plugins/mediagallery/include/lib-exif.php';
        $haveEXIF = MG_haveEXIF($media['media_id']);
        if ($haveEXIF) {
            $property = $_MG_CONF['site_url'] . '/property.php?mid=' . $media['media_id'];
        }
    }
    $media_id = '';
    if ($root_album->owner_id || $_MG_CONF['enable_media_id'] == 1) {
        $media_id = $media['media_id'];
    }
    $exif_info = '';
    if (($mg_album->exif_display == 1 || $mg_album->exif_display == 3) && $media['media_type'] == 0) {
        require_once $_CONF['path'] . 'plugins/mediagallery/include/lib-exif.php';
        $haveEXIF = MG_haveEXIF($media['media_id']);
        if ($haveEXIF) {
            $exif_info = MG_readEXIF($media['media_id'], 2);
        }
    }
    $T = COM_newTemplate(MG_getTemplatePath_byName($mg_album->skin));
    switch ($media['media_type']) {
        case '0':
            // image
            $T->set_file('page', 'view_image.thtml');
            break;
        case '1':
            // video
        // video
        case '5':
            // embedded video
            $T->set_file('page', 'view_video.thtml');
            break;
        case '2':
            // audio
            $T->set_file('page', 'view_audio.thtml');
            break;
        default:
            $T->set_file('page', 'view_image.thtml');
            break;
    }
    $T->set_var(array('header' => $LANG_MG00['plugin'], 'site_url' => $_MG_CONF['site_url'], 'plugin' => 'mediagallery', 'birdseed' => $birdseed, 'lang_slideshow_link' => $LANG_MG03['slide_show'], 'image_detail' => $u_image, 'media_title' => isset($media['media_title']) && $media['media_title'] != ' ' ? PLG_replaceTags($media['media_title']) : '', 'album_title' => $mg_album->title, 'media_desc' => isset($media['media_desc']) && $media['media_desc'] != ' ' ? $media_desc : '', 'media_time' => $media_date[0], 'media_views' => $mg_album->enable_views ? $media['media_views'] : '', 'media_comments' => $mg_album->enable_comments ? $media['media_comments'] : '', 'pagination' => $pagination, 'media_number' => sprintf("%s %d %s %d", $LANG_MG03['image'], $key + 1, $LANG_MG03['of'], $total_media), 'jumpbox' => $album_jumpbox, 'rating_box' => $rating_box, 'download' => $download, 'download_link' => $download_link, 'lang_download' => $LANG_MG01['download'], 'edit_item' => $edit_item, 'edit_item_link' => $edit_item_link, 'lang_edit' => $LANG_MG01['edit'], 'lang_prev' => $LANG_MG03['previous'], 'lang_next' => $LANG_MG03['next'], 'next_link' => $nextLink, 'prev_link' => $prevLink, 'image_height' => $raw_image_height, 'image_width' => $raw_image_width, 'left_side' => intval($raw_image_width / 2) - 1, 'right_side' => intval($raw_image_width / 2), 'raw_image' => $raw_image, 'raw_link_url' => $raw_link_url, 'item_number' => $key + 1, 'total_items' => $total_media, 'lang_of' => $LANG_MG03['of'], 'album_link' => $album_link, 'switch_size' => $switch_size, 'lang_switch_size' => $lang_switch_size, 'switch_size_link' => $switch_viewsize_link, 'getid3' => $getid3link, 'getid3end' => $getid3linkend, 'media_properties' => $media_properties, 'media_keywords' => $kwText, 'lang_keywords' => $lang_keywords, 'owner_username' => $owner_link, 'property' => $property, 'lang_property' => $LANG_MG04['exif_header'], 'media_id' => $media_id, 'exif_info' => $exif_info, 'lang_comments' => $mg_album->enable_comments ? $LANG_MG03['comments'] : '', 'lang_views' => $mg_album->enable_views ? $LANG_MG03['views'] : '', 'lang_title' => $LANG_MG01['title'], 'lang_uploaded_by' => $LANG_MG01['uploaded_by'], 'album_id' => $aid, 'lang_search' => $LANG_MG01['search']));
    MG_buildSlideshow($mg_album, $T, $sortOrder);
    PLG_templateSetVars('mediagallery', $T);
    $retval .= $T->finish($T->parse('output', 'page'));
    if ($comments) {
        // Geeklog Comment support
        $sid = $media['media_id'];
        require_once $_CONF['path_system'] . 'lib-comment.php';
        $delete_option = false;
        if ($mg_album->access == 3 || $root_album->owner_id) {
            $delete_option = true;
        }
        $page = isset($_GET['page']) ? COM_applyFilter($_GET['page'], true) : 0;
        $comorder = '';
        if (isset($_POST['order'])) {
            $comorder = COM_applyFilter($_POST['order']);
        } elseif (isset($_GET['order'])) {
            $comorder = COM_applyFilter($_GET['order']);
        }
        $commode = '';
        if (isset($_POST['mode'])) {
            $commode = COM_applyFilter($_POST['mode']);
        } elseif (isset($_GET['mode'])) {
            $commode = COM_applyFilter($_GET['mode']);
        }
        $commentcode = 0;
        // 今のところ無条件にコメント投稿を許可。
        $retval .= CMT_userComments($sid, $media['media_title'], 'mediagallery', $comorder, $commode, 0, $page, false, $delete_option, $commentcode);
    }
    return array(strip_tags($media['media_title']), $retval, $aid);
}