예제 #1
0
function MG_rebuildAllAlbumsRSS($aid)
{
    if (!$aid == 0) {
        MG_buildAlbumRSS($aid);
    }
    $children = MG_getAlbumChildren($aid);
    foreach ($children as $child) {
        MG_rebuildAllAlbumsRSS($child);
    }
}
예제 #2
0
function MG_staticSortAlbumChildren($startaid, $sql_order, $sql_sort_by)
{
    global $_TABLES;
    $sql = "SELECT album_id FROM {$_TABLES['mg_albums']} " . "WHERE album_parent=" . $startaid . " " . $sql_sort_by . $sql_order;
    $result = DB_query($sql);
    $order = 10;
    while ($row = DB_fetchArray($result)) {
        DB_change($_TABLES['mg_albums'], 'album_order', $order, 'album_id', $row['album_id']);
        $order += 10;
    }
    $children = MG_getAlbumChildren($startaid);
    foreach ($children as $child) {
        MG_staticSortAlbumChildren($child, $sql_order, $sql_sort_by);
    }
}
예제 #3
0
function MG_staticSortMediaChildren($startaid, $sql_order, $sql_sort_by)
{
    global $_TABLES;
    $sql = "SELECT m.media_id FROM {$_TABLES['mg_media_albums']} AS ma " . "LEFT JOIN {$_TABLES['mg_media']} AS m ON m.media_id = ma.media_id " . "WHERE ma.album_id=" . $startaid . $sql_sort_by . $sql_order;
    $result = DB_query($sql);
    $order = 10;
    while ($row = DB_fetchArray($result)) {
        DB_change($_TABLES['mg_media_albums'], 'media_order', $order, array('media_id', 'album_id'), array($row['media_id'], $startaid));
        $order += 10;
    }
    $children = MG_getAlbumChildren($startaid);
    foreach ($children as $child) {
        MG_staticSortMediaChildren($child, $sql_order, $sql_sort_by);
    }
}
예제 #4
0
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 . '&amp;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 . '&amp;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;
}
예제 #5
0
function MG_massDeleteAlbums($aid)
{
    global $_MG_CONF;
    $children = MG_getAlbumChildren($aid);
    $numItems = count($children);
    for ($x = 0; $x < $numItems; $x++) {
        $i = $children[$x];
        if ($_POST['album'][$i] == 1) {
            MG_MassdeleteAlbum($children[$x]);
        } else {
            MG_massDeleteAlbums($children[$x]);
        }
    }
    echo COM_refresh($_MG_CONF['admin_url'] . 'index.php?msg=15');
}
예제 #6
0
$xml .= "    <channel>\n";
$xml .= "        <title><![CDATA[ XML for Media Gallery ]]></title>\n";
$xml .= "        <link>" . $_MG_CONF['site_url'] . "</link>\n";
$xml .= "        <description>XML Mini SlideShow for Media Gallery</description>\n";
$xml .= "        <language>en-us</language>\n";
$xml .= "        <generator>Media Gallery</generator>\n";
$xml .= "        <lastBuildDate>" . date('r', time()) . "</lastBuildDate>\n";
$xml .= "        <ttl>120</ttl>\n";
if (isset($album_data['album_id'])) {
    $xml .= "    <album>\n";
    $xml .= "        <title><![CDATA[" . $album_data['album_title'] . "]]></title>\n";
    $xml .= "        <parentId><![CDATA[" . $album_data['album_parent'] . "]]></parentId>\n";
    $xml .= "        <owner><![CDATA[" . $album_data['owner_id'] . "]]></owner>\n";
    $xml .= "        <id><![CDATA[" . $album_data['album_id'] . "]]></id>\n";
    $xml .= "    </album>\n";
    $children = MG_getAlbumChildren($aid);
    foreach ($children as $child) {
        $child_data = MG_getAlbumData($child, array('album_id', 'album_title', 'album_parent'), true);
        if ($child_data['access'] >= 1) {
            $xml .= "    <album>\n";
            $xml .= "        <title><![CDATA[" . $child_data['album_title'] . "]]></title>\n";
            $xml .= "        <parentId><![CDATA[" . $child_data['album_parent'] . "]]></parentId>\n";
            $xml .= "        <owner><![CDATA[" . $child_data['owner_id'] . "]]></owner>\n";
            $xml .= "        <id><![CDATA[" . $child_data['album_id'] . "]]></id>\n";
            $xml .= "    </album>\n";
        }
    }
}
if (isset($album_data['album_id']) && $album_data['access'] >= 1) {
    $sql = MG_buildMediaSql(array('album_id' => $aid, 'fields' => array('media_type', 'media_filename', 'remote_url', 'media_id', 'media_title', 'mime_type', 'media_upload_time'), 'where' => 'm.include_ss = 1'));
    $result = DB_query($sql);
예제 #7
0
function MG_parseAlbumsRSS(&$rss, $aid)
{
    global $_MG_CONF, $_CONF, $_TABLES;
    if ($aid == 0) {
        // root_album
        $children = MG_getAlbumChildren($aid);
        foreach ($children as $child) {
            MG_parseAlbumsRSS($rss, $child);
        }
        return;
    }
    $album_data = MG_getAlbumData($aid, array('hidden', 'last_update', 'media_count', 'perm_anon', 'album_title', 'album_desc', 'owner_id'));
    if ($album_data['hidden'] != 1) {
        if ($_MG_CONF['rss_ignore_empty'] == 1 && $album_data['last_update'] != 0 && $album_data['last_update'] != '' && $album_data['media_count'] > 0) {
            if ($_MG_CONF['rss_anonymous_only'] == 1 && $album_data['perm_anon'] > 0) {
                $item = new FeedItem();
                $item->title = $album_data['album_title'];
                $item->link = $_MG_CONF['site_url'] . '/album.php?aid=' . $aid;
                $description = '';
                $childCount = MG_getAlbumChildCount($aid);
                $description = 'Album contains ' . $album_data['media_count'] . ' item and ' . $childCount . ' sub-albums.<br' . XHTML . '><br' . XHTML . '>';
                $filename = MG_getAlbumCover($aid);
                if (substr($filename, 0, 3) == 'tn_') {
                    foreach ($_MG_CONF['validExtensions'] as $ext) {
                        if (file_exists($_MG_CONF['path_mediaobjects'] . 'tn/' . $filename[3] . '/' . $filename . $ext)) {
                            $description .= '<img src="' . $_MG_CONF['mediaobjects_url'] . '/tn/' . $filename[3] . '/' . $filename . $ext . '" align="left"' . XHTML . '>';
                            break;
                        }
                    }
                    //                    $description .= '<img src="' . $_MG_CONF['mediaobjects_url'] . '/tn/' . $filename[3] . '/' . $filename . '.jpg" align="left"' . XHTML . '>';
                } elseif ($filename != '') {
                    foreach ($_MG_CONF['validExtensions'] as $ext) {
                        if (file_exists($_MG_CONF['path_mediaobjects'] . 'tn/' . $filename[0] . '/' . $filename . $ext)) {
                            $description .= '<img src="' . $_MG_CONF['mediaobjects_url'] . '/tn/' . $filename[0] . '/' . $filename . $ext . '" align="left"' . XHTML . '>';
                            break;
                        }
                    }
                    //                    $description .= '<img src="' . $_MG_CONF['mediaobjects_url'] . '/tn/' . $filename[0] . '/' . $filename . '.jpg" align="left"' . XHTML . '>';
                }
                $description .= $album_data['album_desc'];
                $item->description = $description;
                //optional
                $item->descriptionTruncSize = 500;
                $item->descriptionHtmlSyndicated = true;
                $item->date = strftime("%a, %d %b %Y %H:%M:%S %z", $album_data['last_update']);
                $item->source = $_CONF['site_url'];
                if ($album_data['owner_id'] != '') {
                    $username = DB_getItem($_TABLES['users'], 'username', "uid={$album_data['owner_id']}");
                    $item->author = $username;
                }
                $rss->addItem($item);
            }
        }
    }
    $children = MG_getAlbumChildren($aid);
    foreach ($children as $child) {
        MG_parseAlbumsRSS($rss, $child);
    }
}