Example #1
0
     }
     $start = ($pagenumber - 1) * $perpage;
     $picturebits = '';
     $pictures = $vbulletin->db->query_read("\n\t\t\tSELECT SQL_CALC_FOUND_ROWS\n\t\t\t\tuser.*, albumpicture.dateline, albumpicture.albumid, album.title AS albumtitle\n\t\t\t\t" . ($vbulletin->options['avatarenabled'] ? ",avatar.avatarpath, NOT ISNULL(customavatar.userid) AS hascustomavatar, customavatar.dateline AS avatardateline,customavatar.width AS avwidth,customavatar.height AS avheight" : "") . "\n\t\t\t\t,picture.pictureid, picture.extension, picture.filesize, picture.idhash, picture.caption,\n\t\t\t\tpicture.thumbnail_filesize, picture.thumbnail_dateline, picture.thumbnail_width, picture.thumbnail_height\n\t\t\t\t{$hook_query_fields}\n\t\t\tFROM " . TABLE_PREFIX . "picture AS picture\n\t\t\tLEFT JOIN " . TABLE_PREFIX . "user AS user ON (picture.userid = user.userid)\n\t\t\tLEFT JOIN " . TABLE_PREFIX . "albumpicture AS albumpicture ON (albumpicture.pictureid = picture.pictureid)\n\t\t\tLEFT JOIN " . TABLE_PREFIX . "album AS album ON (album.albumid = albumpicture.albumid)\n\t\t\t" . ($vbulletin->options['avatarenabled'] ? "LEFT JOIN " . TABLE_PREFIX . "avatar AS avatar ON(avatar.avatarid = user.avatarid) LEFT JOIN " . TABLE_PREFIX . "customavatar AS customavatar ON(customavatar.userid = user.userid)" : "") . "\n\t\t\t{$hook_query_joins}\n\t\t\tWHERE picture.state = 'moderation'\n\t\t\t\t{$datecut}\n\t\t\t\t{$hook_query_where}\n\t\t\tORDER BY {$sqlsortfield} {$sqlsortorder}\n\t\t\tLIMIT {$start}, {$perpage}\n\t\t");
     list($picturetotal) = $vbulletin->db->query_first("SELECT FOUND_ROWS()", DBARRAY_NUM);
     if ($start >= $picturetotal) {
         $pagenumber = ceil($picturetotal / $perpage);
     }
 } while ($start >= $picturetotal and $picturetotal);
 require_once DIR . '/includes/functions_album.php';
 $show['picture'] = true;
 while ($picture = $db->fetch_array($pictures)) {
     fetch_musername($picture);
     $picture['albumtitle'] = fetch_word_wrapped_string(fetch_censored_text($picture['albumtitle']));
     // $picture contains comment, picture, and album info
     $pictureinfo = prepare_pictureinfo_thumb($picture, $picture);
     eval('$picturebits .= "' . fetch_template('moderation_picturebit') . '";');
 }
 $pagenavbits = array("do=viewpics");
 if ($perpage != $vbulletin->options['vm_perpage']) {
     $pagenavbits[] = "pp={$perpage}";
 }
 if ($daysprune != ($vbulletin->userinfo['daysprune'] ? $vbulletin->userinfo['daysprune'] : 30)) {
     $pagenavbits[] = "daysprune={$daysprune}";
 }
 if ($sortfield != 'dateline') {
     $pagenavbits[] = "sortfield={$sortfield}";
 }
 if ($vbulletin->GPC['sortorder'] == 'asc') {
     $pagenavbits[] = 'order=' . $vbulletin->GPC['sortorder'];
 }
Example #2
0
        $vbulletin->GPC['pagenumber'] = 1;
    }
    $perpage = $vbulletin->options['album_pictures_perpage'];
    $total_pages = max(ceil($group['rawpicturecount'] / $perpage), 1);
    // 0 pictures still needs an empty page
    $pagenumber = $vbulletin->GPC['pagenumber'] > $total_pages ? $total_pages : $vbulletin->GPC['pagenumber'];
    $start = ($pagenumber - 1) * $perpage;
    $hook_query_fields = $hook_query_joins = $hook_query_where = '';
    ($hook = vBulletinHook::fetch_hook('group_pictures_query')) ? eval($hook) : false;
    $pictures_sql = $db->query_read("\n\t\tSELECT picture.pictureid, picture.userid, picture.caption, picture.extension, picture.filesize, picture.idhash,\n\t\t\tpicture.thumbnail_filesize, picture.thumbnail_dateline, picture.thumbnail_width, picture.thumbnail_height,\n\t\t\tsocialgrouppicture.dateline, user.username\n\t\t\t{$hook_query_fields}\n\t\tFROM " . TABLE_PREFIX . "socialgrouppicture AS socialgrouppicture\n\t\tINNER JOIN " . TABLE_PREFIX . "picture AS picture ON (picture.pictureid = socialgrouppicture.pictureid)\n\t\tINNER JOIN " . TABLE_PREFIX . "socialgroupmember AS socialgroupmember ON\n\t\t\t(socialgroupmember.userid = picture.userid AND socialgroupmember.groupid = {$group['groupid']} AND socialgroupmember.type = 'member')\n\t\tLEFT JOIN " . TABLE_PREFIX . "user AS user ON (user.userid = picture.userid)\n\t\t{$hook_query_joins}\n\t\tWHERE socialgrouppicture.groupid = {$group['groupid']}\n\t\t\t{$hook_query_where}\n\t\tORDER BY socialgrouppicture.dateline DESC\n\t\tLIMIT {$start}, {$perpage}\n\t");
    // work out the effective picturebit height/width including any borders and paddings; the +4 works around an IE float issue
    $picturebit_height = $vbulletin->options['album_thumbsize'] + ($usercss ? 0 : $stylevar['cellspacing']) + $stylevar['cellpadding'] * 2 + 4;
    $picturebit_width = $vbulletin->options['album_thumbsize'] + ($usercss ? 0 : $stylevar['cellspacing']) + $stylevar['cellpadding'] * 2;
    $picturebits = '';
    while ($picture = $db->fetch_array($pictures_sql)) {
        $picture = prepare_pictureinfo_thumb($picture, $group);
        ($hook = vBulletinHook::fetch_hook('group_picturebit')) ? eval($hook) : false;
        eval('$picturebits .= "' . fetch_template('socialgroups_picturebit') . '";');
    }
    $pagenav = construct_page_nav($pagenumber, $perpage, $group['rawpicturecount'], 'group.php?' . $vbulletin->session->vars['sessionurl'] . "do=grouppictures&groupid={$group['groupid']}", '');
    $show['add_pictures_link'] = ($group['membertype'] == 'member' and $permissions['albumpermissions'] & $vbulletin->bf_ugp_albumpermissions['canalbum']);
    $navbits = array('group.php' . $vbulletin->session->vars['sessionurl_q'] => $vbphrase['social_groups'], 'group.php?' . $vbulletin->session->vars['sessionurl'] . 'groupid=' . $group['groupid'] => $group['name'], '' => $vbphrase['pictures']);
    $templatename = 'socialgroups_pictures';
}
// #######################################################################
if ($_REQUEST['do'] == 'picture') {
    $vbulletin->input->clean_array_gpc('r', array('pictureid' => TYPE_UINT, 'pagenumber' => TYPE_UINT, 'perpage' => TYPE_UINT, 'commentid' => TYPE_UINT, 'showignored' => TYPE_BOOL));
    if (!$vbulletin->userinfo['userid']) {
        print_no_permission();
    }
    if (!($permissions['albumpermissions'] & $vbulletin->bf_ugp_albumpermissions['canviewalbum']) or !($vbulletin->options['socnet'] & $vbulletin->bf_misc_socnet['enable_albums'] and $vbulletin->options['socnet_groups_albums_enabled'])) {
Example #3
0
         vB_Bootstrap_Framework::init();
         $types = vB_Types::instance();
         $attachcache[$comment['pictureowner'] . '-' . $comment['filedataid']] = $attachmultiple->fetch_results("\r\n\t\t\t\ta.userid = {$comment['pictureowner']}\r\n\t\t\t\t\tAND\r\n\t\t\t\ta.filedataid = {$comment['filedataid']}\r\n\t\t\t\t\tAND\r\n\t\t\t\ta.contenttypeid IN (" . intval($types->getContentTypeID('vBForum_Album')) . ", " . intval($types->getContentTypeID('vBForum_SocialGroup')) . ")\r\n\t\t\t");
     }
     if (!($firstpic = reset($attachcache[$comment['pictureowner'] . '-' . $comment['filedataid']]))) {
         $show['viewableattachment'] = false;
         $show['picture'] = false;
     } else {
         $show['viewableattachment'] = true;
         $show['picture'] = true;
     }
     $comment['pictureowner_name'] = $firstpic['username'];
     $comment['pictureowner_userid'] = $firstpic['userid'];
     $comment['caption'] = $firstpic['caption'];
     // $comment contains comment, picture, and album info
     $pictureinfo = prepare_pictureinfo_thumb($firstpic);
     $factory = new vB_Picture_CommentFactory($vbulletin, $bbcode, $pictureinfo);
     $response_handler = new vB_Picture_Comment_ModeratedView($vbulletin, $factory, $bbcode, $pictureinfo, $comment);
     $response_handler->cachable = false;
     $messagebits .= $response_handler->construct();
     unset($factory, $response_handler);
 }
 $db->free_result($messages);
 $pagenavbits = array("do=viewpcs");
 if ($perpage != $vbulletin->options['vm_perpage']) {
     $pagenavbits[] = "pp={$perpage}";
 }
 if ($daysprune != ($vbulletin->userinfo['daysprune'] ? $vbulletin->userinfo['daysprune'] : 30)) {
     $pagenavbits[] = "daysprune={$daysprune}";
 }
 if ($sortfield != 'dateline') {
Example #4
0
function do_get_photos()
{
    global $vbulletin, $db, $show, $vbphrase, $foruminfo, $userinfo, $albuminfo, $session, $contenttypeid;
    if (empty($albuminfo)) {
        standard_error(fetch_error('invalidid', $vbphrase['album'], $vbulletin->options['contactuslink']));
    }
    if ($vbulletin->GPC['addgroup'] and $albuminfo['userid'] != $vbulletin->userinfo['userid']) {
        print_no_permission();
    }
    ($hook = vBulletinHook::fetch_hook('album_album')) ? eval($hook) : false;
    $perpage = 999999;
    $vbulletin->GPC['pagenumber'] = 1;
    $input_pagenumber = $vbulletin->GPC['pagenumber'];
    if (can_moderate(0, 'canmoderatepictures') or $albuminfo['userid'] == $vbulletin->userinfo['userid']) {
        $totalpictures = $albuminfo['visible'] + $albuminfo['moderation'];
    } else {
        $totalpictures = $albuminfo['visible'];
    }
    $total_pages = max(ceil($totalpictures / $perpage), 1);
    // 0 pictures still needs an empty page
    $pagenumber = $vbulletin->GPC['pagenumber'] > $total_pages ? $total_pages : $vbulletin->GPC['pagenumber'];
    $start = ($pagenumber - 1) * $perpage;
    $hook_query_fields = $hook_query_joins = $hook_query_where = '';
    ($hook = vBulletinHook::fetch_hook('album_album_query')) ? eval($hook) : false;
    $pictures = $db->query_read("\n        SELECT\n        a.attachmentid, a.userid, a.caption, a.dateline, a.state,\n        fd.filesize, IF(fd.thumbnail_filesize > 0, 1, 0) AS hasthumbnail, fd.thumbnail_dateline, fd.thumbnail_width, fd.thumbnail_height\n        {$hook_query_fields}\n        FROM " . TABLE_PREFIX . "attachment AS a\n        INNER JOIN " . TABLE_PREFIX . "filedata AS fd ON (fd.filedataid = a.filedataid)\n        {$hook_query_joins}\n        WHERE\n        a.contentid = {$albuminfo['albumid']}\n        AND\n        a.contenttypeid = " . intval($contenttypeid) . "\n        " . ((!can_moderate(0, 'canmoderatepictures') and $albuminfo['userid'] != $vbulletin->userinfo['userid']) ? "AND a.state = 'visible'" : "") . "\n        {$hook_query_where}\n        ORDER BY a.dateline DESC\n        LIMIT {$start}, {$perpage}\n        ");
    // work out the effective picturebit height/width including any borders and paddings; the +4 works around an IE float issue
    $picturebit_height = $vbulletin->options['album_thumbsize'] + (($usercss ? 0 : $stylevar['cellspacing']) + $stylevar['cellpadding']) * 2 + 4;
    $picturebit_width = $vbulletin->options['album_thumbsize'] + (($usercss ? 0 : $stylevar['cellspacing']) + $stylevar['cellpadding']) * 2;
    $out_photos = array();
    $picnum = 0;
    while ($picture = $db->fetch_array($pictures)) {
        $picture = prepare_pictureinfo_thumb($picture, $albuminfo);
        if ($picnum % $vbulletin->options['album_pictures_perpage'] == 0) {
            $show['page_anchor'] = true;
            $page_anchor = $picnum / $vbulletin->options['album_pictures_perpage'] + 1;
        } else {
            $show['page_anchor'] = false;
        }
        $picnum++;
        if ($picture['state'] != 'visible') {
            continue;
        }
        ($hook = vBulletinHook::fetch_hook('album_album_picturebit')) ? eval($hook) : false;
        $photo_url = "attachment.php?{$session[sessionurl]}attachmentid={$picture['attachmentid']}";
        $out_photos[] = array('photoid' => $picture['attachmentid'], 'userid' => $picture['userid'], 'caption' => prepare_utf8_string(strip_tags(fetch_censored_text($picture['caption']))), 'photo_date' => prepare_utf8_string($picture['date'] . ' ' . $picture['time']), 'photo_url' => fr_fix_url($photo_url), 'thumb_url' => fr_fix_url($photo_url . '&thumb=1'));
    }
    $show['add_picture_option'] = ($userinfo['userid'] == $vbulletin->userinfo['userid'] and fetch_count_overage($userinfo['userid'], $albuminfo[albumid], $vbulletin->userinfo['permissions']['albummaxpics']) <= 0 and (!$vbulletin->options['album_maxpicsperalbum'] or $totalpictures - $vbulletin->options['album_maxpicsperalbum'] < 0));
    if ($albuminfo['state'] == 'private') {
        $show['personalalbum'] = true;
        $albumtype = $vbphrase['private_album_paren'];
    } else {
        if ($albuminfo['state'] == 'profile') {
            $show['personalalbum'] = true;
            $albumtype = $vbphrase['profile_album_paren'];
        }
    }
    $out = array('photos' => $out_photos, 'total_photos' => $totalpictures, 'can_add_photo' => $show['add_picture_option'] ? true : false);
    return $out;
}