コード例 #1
0
function MG_selectAlbums()
{
    global $glversion, $_CONF, $_MG_CONF, $_TABLES, $LANG_MG01, $LANG_MG07;
    // start by building an array of all site users (active)
    if ($glversion[1] < 4) {
        $result = DB_query("SELECT * FROM {$_TABLES['users']} AS users LEFT JOIN {$_TABLES['userinfo']} AS userinfo ON users.uid=userinfo.uid");
    } else {
        $result = DB_query("SELECT * FROM {$_TABLES['users']} AS users LEFT JOIN {$_TABLES['userinfo']} AS userinfo ON users.uid=userinfo.uid WHERE users.status=3");
    }
    while ($U = DB_fetchArray($result)) {
        $siteUsers[$U['uid']]['lastlogin'] = $U['lastlogin'];
        $siteUsers[$U['uid']]['username'] = $U['username'];
        $siteUsers[$U['uid']]['fullname'] = $U['fullname'];
    }
    $retval = '';
    $T = new Template($_MG_CONF['template_path']);
    $T->set_file('admin', 'purgealbums.thtml');
    $T->set_var('site_url', $_CONF['site_url']);
    $T->set_var('site_admin_url', $_CONF['site_admin_url']);
    $T->set_var('xhtml', XHTML);
    $T->set_block('admin', 'UserRow', 'uRow');
    $rowcounter = 0;
    $rowclass = 0;
    // now process all the albums directly off the album_root
    //  we will not call this recursively, we only care about those off the root
    $album = new mgAlbum($_MG_CONF['member_album_root']);
    $children = $album->getChildren();
    $numItems = count($children);
    for ($x = 0; $x < $numItems; $x++) {
        $child_album = new mgAlbum($children[$x]);
        if ($child_album->getMediaCount() == 0) {
            if ($siteUsers[$child_album->owner_id]['lastlogin'] == 0) {
                $lastlogin[0] = $LANG_MG07['never'];
            } else {
                $lastlogin = MG_getUserDateTimeFormat($siteUsers[$child_album->owner_id]['lastlogin']);
            }
            $T->set_var(array('select' => '<input type="checkbox" name="album[]" value="' . $child_album->id . '">', 'aid' => $child_album->id, 'title' => $child_album->title, 'owner' => $siteUsers[$child_album->owner_id]['username'] . '/' . $siteUsers[$child_album->owner_id]['fullname'], 'lastlogin' => $lastlogin[0], 'rowclass' => $rowclass % 2 ? '1' : '2'));
            $T->parse('uRow', 'UserRow', true);
            $rowcounter++;
        }
    }
    $T->set_var(array('lang_last_login' => $LANG_MG01['last_login'], 'lang_album_title' => $LANG_MG01['album_title'], 'lang_userid' => $LANG_MG01['userid'], 'lang_username' => $LANG_MG01['username'], 'lang_select' => $LANG_MG01['select'], 'lang_checkall' => $LANG_MG01['check_all'], 'lang_uncheckall' => $LANG_MG01['uncheck_all'], 'lang_delete' => $LANG_MG01['delete'], 'lang_cancel' => $LANG_MG01['cancel'], 'lang_reset' => $LANG_MG01['reset'], 's_form_action' => $_MG_CONF['admin_url'] . 'purgealbums.php'));
    $retval .= $T->finish($T->parse('output', 'admin'));
    return $retval;
}
コード例 #2
0
ファイル: common.php プロジェクト: mistgrass/geeklog-ivywe
function MG_getMediaCount($album_id)
{
    global $_TABLES;
    $mediaCount = 0;
    $root_album_owner_id = SEC_hasRights('mediagallery.admin');
    $album_data = MG_getAlbumData($album_id, array('hidden', 'media_count'), true);
    if ($album_data['access'] != 0) {
        if ($album_data['hidden'] && $root_album_owner_id == 1 || $album_data['hidden'] != 1) {
            $mediaCount = $album_data['media_count'];
        }
    }
    $children = MG_getAlbumChildren($album_id);
    $idlist = implode(',', $children);
    if (empty($idlist)) {
        return $mediaCount;
    }
    $sql = "SELECT album_id,hidden,owner_id,group_id,perm_owner,perm_group,perm_members,perm_anon " . "FROM {$_TABLES['mg_albums']} " . "WHERE album_id IN ({$idlist}) ORDER BY album_order DESC";
    $result = DB_query($sql);
    while ($A = DB_fetchArray($result)) {
        $access = MG_hasAccess($A['owner_id'], $A['group_id'], $A['perm_owner'], $A['perm_group'], $A['perm_members'], $A['perm_anon']);
        if ($access > 0) {
            if ($A['hidden'] && $root_album_owner_id == 1 || $A['hidden'] != 1) {
                $child_album = new mgAlbum($A['album_id']);
                $mediaCount += $child_album->getMediaCount();
            }
        }
    }
    return $mediaCount;
}
コード例 #3
0
ファイル: album.php プロジェクト: mistgrass/geeklog-ivywe
$aPage = 1;
if ($aOffset > 0) {
    $aPage = intval($aOffset / ($root_album->display_columns * $root_album->display_rows)) + 1;
}
$birdseed = MG_getBirdseed($album_id, 0, $sortOrder, $aPage);
$ownername = DB_getItem($_TABLES['users'], 'username', "uid=" . intval($album->owner_id));
$album_last_update = MG_getUserDateTimeFormat($album->last_update);
$pagination = COM_printPageNavigation($_MG_CONF['site_url'] . '/album.php?aid=' . $album_id . '&amp;sort=' . $sortOrder, $page + 1, $total_pages);
$rsslink = '';
if ($album->enable_rss) {
    $rssfeedname = sprintf($_MG_CONF['rss_feed_name'] . "%06d", $album_id);
    $rsslink = COM_createLink(COM_createImage(MG_getImageFile('feed.png'), '', array('class' => 'mg_rssimg')), MG_getFeedUrl($rssfeedname . '.rss'), array('type' => 'application/rss+xml'));
}
$T = COM_newTemplate(MG_getTemplatePath_byName($album->skin));
$T->set_file('page', 'album_page.thtml');
$T->set_var(array('site_url' => $_MG_CONF['site_url'], 'birdseed' => $birdseed, 'album_title' => PLG_replaceTags($album->title), 'table_columns' => $columns_per_page, 'table_column_width' => intval(100 / $columns_per_page) . '%', 'top_pagination' => $pagination, 'bottom_pagination' => $pagination, 'page_number' => sprintf("%s %d %s %d", $LANG_MG03['page'], $current_print_page, $LANG_MG03['of'], $total_print_pages), 'jumpbox' => MG_buildAlbumJumpbox($root_album, $album_id, 1, -1), 'album_id' => $album_id, 'album_description' => $album->display_album_desc ? PLG_replaceTags($album->description) : '', 'album_id_display' => $root_album->owner_id || $_MG_CONF['enable_media_id'] == 1 ? $LANG_MG03['album_id_display'] . $album_id : '', 'select_sortbox' => $album->enable_sort == 1 ? MG_buildSortbox($album_id, $sortOrder, $page) : '', 'album_last_update' => $album_last_update[0], 'album_owner' => $ownername, 'media_count' => $album->getMediaCount(), 'lang_search' => $LANG_MG01['search'], 'rsslink' => $rsslink, 'list_title' => $LANG_MG03['list_title'], 'list_desc' => $LANG_MG03['list_desc'], 'list_size' => $LANG_MG03['list_size'], 'list_user' => $LANG_MG03['list_user'], 'list_updated' => $LANG_MG03['list_updated']));
MG_buildAdminbox($album, $root_album, $T);
MG_buildSlideshow($album, $T, $sortOrder);
// completed setting header / footer vars, parse them
PLG_templateSetVars('mediagallery', $T);
//$T->parse('album_header', 'header');
// main processing of the album contents.
if ($total_media > 0) {
    $k = 0;
    $col = 0;
    $opt = array('sortOrder' => $sortOrder);
    $T->set_block('page', 'ImageColumn', 'IColumn');
    $T->set_block('page', 'ImageRow', 'IRow');
    for ($i = 0; $i < $media_per_page; $i += $columns_per_page) {
        $next_columns = $i + $columns_per_page;
        for ($j = $i; $j < $next_columns; $j++) {