$info['max_rows'] = dbcount("(album_id)", DB_PHOTO_ALBUMS, groupaccess('album_access')); $_GET['rowstart'] = isset($_GET['rowstart']) && isnum($_GET['rowstart']) && $_GET['rowstart'] <= $info['max_rows'] ? $_GET['rowstart'] : 0; if ($info['max_rows'] > 0) { $info['page_nav'] = $info['max_rows'] > $gallery_settings['gallery_pagination'] ? makepagenav($_GET['rowstart'], $gallery_settings['gallery_pagination'], $info['max_rows'], 3) : ''; $result = dbquery("SELECT ta.album_id, ta.album_title, ta.album_description, ta.album_image, ta.album_thumb1, ta.album_thumb2, ta.album_datestamp,\n\t\t\ttu.user_id, tu.user_name, tu.user_status\n\t\t\tFROM " . DB_PHOTO_ALBUMS . " ta\n\t\t\tLEFT JOIN " . DB_USERS . " tu ON ta.album_user=tu.user_id\n\t\t\t" . (multilang_table("PG") ? "WHERE album_language='" . LANGUAGE . "' AND" : "WHERE") . "\n\t\t\t" . groupaccess('album_access') . " ORDER BY album_order\n\t\t\tLIMIT " . $_GET['rowstart'] . ", " . $gallery_settings['gallery_pagination']); while ($data = dbarray($result)) { $data['album_link'] = array("link" => INFUSIONS . "gallery/gallery.php?album_id=" . $data['album_id'], "name" => $data['album_title']); if (iADMIN && checkrights("PH")) { global $aidlink; $data['album_edit'] = array("link" => INFUSIONS . "gallery/gallery_admin.php" . $aidlink . "&section=album_form&action=edit&cat_id=" . $data['album_id'], "name" => $locale['edit']); $data['album_delete'] = array("link" => INFUSIONS . "gallery/gallery_admin.php" . $aidlink . "&section=album_form&action=delete&cat_id=" . $data['album_id'], "name" => $locale['delete']); } $photo_directory = !SAFEMODE ? "album_" . $data['album_id'] : ''; $data['image'] = ''; if ($data['album_image']) { $data['image'] = displayAlbumImage($data['album_image'], $data['album_thumb1'], $data['album_thumb2'], INFUSIONS . "gallery/gallery.php?album_id=" . $data['album_id']); } $data['title'] = $data['album_title'] ? $data['album_title'] : $locale['402']; $data['description'] = $data['album_description'] ? nl2br(parse_textarea($data['album_description'])) : ''; $_photo = dbquery("SELECT pp.photo_user, u.user_id, u.user_name, u.user_status, u.user_avatar\n\t\t\tFROM " . DB_PHOTOS . " pp\n\t\t\tLEFT JOIN " . DB_USERS . " u on u.user_id=pp.photo_user\n\t\t\tWHERE album_id='" . intval($data['album_id']) . "'\n\t\t\tORDER BY photo_datestamp\n\t\t\t"); $data['photo_rows'] = dbrows($_photo); $user = array(); if ($data['photo_rows'] > 0) { while ($_photo_data = dbarray($_photo)) { $user[$_photo_data['user_id']] = $_photo_data; } // distinct value. } $data['photo_user'] = $user; $info['item'][] = $data; }
// edit features - add more in roadmap. // add features to purge all album photos and it's administration // add features to move all album photos to another album. echo openform('albumform', 'post', FUSION_REQUEST, array('enctype' => TRUE, 'class' => 'm-t-20')); echo "<div class='row'>\n<div class='col-xs-12 col-sm-8'>\n"; echo form_hidden('album_id', '', $data['album_id']); echo form_text('album_title', $locale['album_0001'], $data['album_title'], array('placeholder' => $locale['album_0002'], 'inline' => TRUE, 'required' => TRUE, "error_text" => $locale['album_0015'])); echo form_select("album_keywords", $locale['album_0005'], $data['album_keywords'], array('max_length' => 320, 'width' => '100%', 'placeholder' => $locale['album_0006'], 'tags' => TRUE, 'multiple' => TRUE, "inline" => TRUE)); echo form_textarea('album_description', $locale['album_0003'], $data['album_description'], array('placeholder' => $locale['album_0004'], 'inline' => 1)); if ($data['album_image'] || $data['album_thumb1']) { echo "<div class='well col-sm-offset-3'>\n"; echo form_hidden("album_image", "", $data['album_image']); echo form_hidden("album_thumb2", "", $data['album_thumb2']); echo form_hidden("album_thumb1", "", $data['album_thumb1']); echo "<label for='del_image'>\n"; echo displayAlbumImage($data['album_image'], $data['album_thumb1'], $data['album_thumb2'], ""); echo "</label>\n"; echo form_checkbox("del_image", $locale['album_0016'], ""); echo "</div>\n"; } else { $album_upload_settings = array("upload_path" => INFUSIONS . "gallery/photos/", 'thumbnail_folder' => 'thumbs', 'thumbnail' => TRUE, 'thumbnail_w' => $gll_settings['thumb_w'], 'thumbnail_h' => $gll_settings['thumb_h'], 'thumbnail_suffix' => '_t1', 'thumbnail2' => TRUE, 'thumbnail2_w' => $gll_settings['photo_w'], 'thumbnail2_h' => $gll_settings['photo_h'], 'thumbnail2_suffix' => '_t2', 'max_width' => $gll_settings['photo_max_w'], 'max_height' => $gll_settings['photo_max_h'], 'max_byte' => $gll_settings['photo_max_b'], 'multiple' => 0, 'delete_original' => FALSE, "inline" => TRUE, "template" => "modern", "class" => "m-b-0"); echo form_fileinput('album_image', $locale['album_0009'], "", $album_upload_settings); echo "<div class='m-b-10 col-xs-12 col-sm-offset-3'>" . sprintf($locale['album_0010'], parsebytesize($gll_settings['photo_max_b']), str_replace(',', ' ', ".jpg,.gif,.png"), $gll_settings['photo_max_w'], $gll_settings['photo_max_h']) . "</div>\n"; } echo "</div>\n"; echo "<div class='col-xs-12 col-sm-4'>\n"; echo form_select('album_access', $locale['album_0007'], $data['album_access'], array('options' => fusion_get_groups(), 'inline' => TRUE)); echo form_select('album_language', $locale['album_0008'], $data['album_language'], array('options' => fusion_get_enabled_languages(), 'inline' => TRUE)); echo form_text('album_order', $locale['album_0011'], $data['album_order'], array("type" => "number", 'inline' => TRUE)); echo "</div>\n</div>\n"; echo form_button('save_album', $locale['album_0012'], $locale['album_0012'], array('class' => 'btn-success btn-sm m-r-10'));
/** * Gallery Album Listing UI */ function gallery_album_listing() { global $locale, $gll_settings, $aidlink; // xss $albumRows = dbcount("(album_id)", DB_PHOTO_ALBUMS, multilang_table("PG") ? "album_language='" . LANGUAGE . "'" : ""); $photoRows = dbcount("(photo_id)", DB_PHOTOS, ""); $update = dbarray(dbquery("select max(photo_datestamp) 'last_updated' from " . DB_PHOTOS . "")); $_GET['rowstart'] = isset($_GET['rowstart']) && isnum($_GET['rowstart']) && $_GET['rowstart'] <= $albumRows ? $_GET['rowstart'] : 0; if (!empty($albumRows)) { // get albums. $result = dbquery("\n\t\tSELECT album.album_id, album.album_title, album.album_image, album.album_thumb2, album.album_thumb1, album.album_order, album.album_user as user_id,\n\t\tu.user_name, u.user_status, u.user_avatar,\n\t\tcount(photo.photo_id) as photo_count\n\t\tFROM " . DB_PHOTO_ALBUMS . " album\n\t\tLEFT JOIN " . DB_PHOTOS . " photo on photo.album_id=album.album_id\n\t\tINNER JOIN " . DB_USERS . " u on u.user_id=album.album_user\n\t\t" . (multilang_table("PG") ? "where album_language='" . LANGUAGE . "' and" : "where") . "\n\t\t" . groupaccess('album.album_access') . "\n\t\tGROUP BY album.album_id\n\t\tORDER BY album.album_order ASC, album.album_datestamp DESC LIMIT " . intval($_GET['rowstart']) . ", " . intval($gll_settings['gallery_pagination']) . "\n\t\t"); $rows = dbrows($result); // Photo Album header echo "<aside class='text-left' style='border-bottom:1px solid #ddd; padding-bottom:15px;'>\n"; echo "<h2><strong>\n" . $locale['gallery_0022'] . "</strong></h2>\n"; echo "<div class='clearfix'>\n"; echo "<div class='pull-right text-right col-xs-6 col-sm-6'>" . sprintf($locale['gallery_0018'], $rows, $albumRows) . "</div>\n"; echo "<span class='m-r-15'>" . sprintf($locale['gallery_0023'], $albumRows, $photoRows, timer($update['last_updated'])) . "</span>"; if ($albumRows > $rows) { echo "<div class='display-inline-block m-b-10'>\n"; echo makepagenav($_GET['rowstart'], $gll_settings['gallery_pagination'], $albumRows, 3, FUSION_SELF . $aidlink . "&"); echo "</div>\n"; } echo "</div>\n"; echo "</aside>\n"; if ($rows > 0) { echo "<div class='row m-t-20'>\n"; $i = 1; while ($data = dbarray($result)) { //echo "<div class='col-xs-12 col-sm-2'>\n"; echo "<div style='width:" . ($gll_settings['thumb_w'] + 15) . "px; float:left; padding-left:10px; padding-right:10px;'>\n"; echo "<div class='panel panel-default'>\n"; echo "<div class='panel-heading'>\n"; if ($data['photo_count']) { echo "<a href='" . FUSION_SELF . $aidlink . "&album_id=" . $data['album_id'] . "'>\n<strong>" . trimlink($data['album_title'], 20) . "</strong>\n</a>\n"; } else { echo "<strong>" . trimlink($data['album_title'], 20) . "</strong>\n"; } echo "</div>\n"; echo "<div class='overflow-hide' style='height: " . ($gll_settings['thumb_h'] - 15) . "px'>\n"; if ($data['photo_count']) { $link = FUSION_SELF . $aidlink . "&album_id=" . $data['album_id']; echo displayAlbumImage($data['album_image'], $data['album_thumb1'], $data['album_thumb2'], $link); } else { echo displayAlbumImage($data['album_image'], $data['album_thumb1'], $data['album_thumb2'], ""); } echo "</div>\n"; echo "<div class='panel-body'>\n"; echo "<div class='dropdown'>\n"; echo "<button data-toggle='dropdown' class='btn btn-default dropdown-toggle btn-block' type='button'> " . $locale['album_0020'] . " <span class='caret'></span></button>\n"; echo "<ul class='dropdown-menu'>\n"; echo "<li><a href='" . FUSION_SELF . $aidlink . "&section=album_form&action=edit&cat_id=" . $data['album_id'] . "'><i class='fa fa-edit fa-fw'></i> " . $locale['album_0024'] . "</a></li>\n"; echo $i > 1 ? "<li><a href='" . FUSION_SELF . $aidlink . "&section=actions&action=mu&cat_id=" . $data['album_id'] . "&order=" . ($data['album_order'] - 1) . "'><i class='fa fa-arrow-left fa-fw'></i> " . $locale['album_0021'] . "</a></li>\n" : ""; echo $i !== $rows ? "<li><a href='" . FUSION_SELF . $aidlink . "&section=actions&action=md&cat_id=" . $data['album_id'] . "&order=" . ($data['album_order'] + 1) . "'><i class='fa fa-arrow-right fa-fw'></i> " . $locale['album_0022'] . "</a></li>\n" : ""; echo "<li class='divider'></li>\n"; echo "<li><a href='" . FUSION_SELF . $aidlink . "&section=actions&action=delete&cat_id=" . $data['album_id'] . "'><i class='fa fa-trash fa-fw'></i> " . $locale['album_0023'] . "</a></li>\n"; echo "</ul>\n"; echo "</div>\n"; echo "</div>\n"; echo "<div class='panel-footer'>\n"; echo format_word($data['photo_count'], $locale['fmt_photo']); echo "</div>\n</div>\n"; echo "</div>\n"; $i++; } echo "</div>\n"; } else { echo "<div class='well m-t-20 text-center'>\n"; echo $locale['gallery_0011']; echo "</div>\n"; } } else { echo "<div class='well m-t-20 text-center'>\n"; echo $locale['gallery_0011']; echo "</div>\n"; } }