| 1 | <? |
|---|
| 2 | |
|---|
| 3 | /***************************************************************************
|
|---|
| 4 | * Dolphin Smart Community Builder
|
|---|
| 5 | * -----------------
|
|---|
| 6 | * begin : Mon Mar 23 2006
|
|---|
| 7 | * copyright : (C) 2006 BoonEx Group
|
|---|
| 8 | * website : http://www.boonex.com/
|
|---|
| 9 | * This file is part of Dolphin - Smart Community Builder
|
|---|
| 10 | *
|
|---|
| 11 | * Dolphin is free software. This work is licensed under a Creative Commons Attribution 3.0 License.
|
|---|
| 12 | * http://creativecommons.org/licenses/by/3.0/
|
|---|
| 13 | *
|
|---|
| 14 | * Dolphin is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
|---|
| 15 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|---|
| 16 | * See the Creative Commons Attribution 3.0 License for more details.
|
|---|
| 17 | * You should have received a copy of the Creative Commons Attribution 3.0 License along with Dolphin,
|
|---|
| 18 | * see license.txt file; if not, write to marketing@boonex.com
|
|---|
| 19 | ***************************************************************************/
|
|---|
| 20 | |
|---|
| 21 | require_once( 'inc/header.inc.php' ); |
|---|
| 22 | require_once( BX_DIRECTORY_PATH_INC . 'design.inc.php' ); |
|---|
| 23 | require_once( BX_DIRECTORY_PATH_INC . 'profiles.inc.php' ); |
|---|
| 24 | require_once( BX_DIRECTORY_PATH_INC . 'utils.inc.php' ); |
|---|
| 25 | |
|---|
| 26 | // --------------- page variables and login |
|---|
| 27 | |
|---|
| 28 | $_page['name_index'] = 83; |
|---|
| 29 | $_page['css_name'] = 'photos.css'; |
|---|
| 30 | |
|---|
| 31 | if ( !( $logged['admin'] = member_auth( 1, false ) ) )
|
|---|
| 32 | if ( !( $logged['member'] = member_auth( 0, false ) ) )
|
|---|
| 33 | if ( !( $logged['aff'] = member_auth( 2, false )) )
|
|---|
| 34 | $logged['moderator'] = member_auth( 3, false );
|
|---|
| 35 | |
|---|
| 36 | $_page['header'] = _t( "_Photos" ); |
|---|
| 37 | $_page['header_text'] = _t( "_Photos" ); |
|---|
| 38 | |
|---|
| 39 | $_ni = $_page['name_index']; |
|---|
| 40 | |
|---|
| 41 | $_page_cont[$_ni]['page_main_code'] = PageCompPhotos(); |
|---|
| 42 | |
|---|
| 43 | PageCode(); |
|---|
| 44 | |
|---|
| 45 | |
|---|
| 46 | function PageCompPhotos() |
|---|
| 47 | { |
|---|
| 48 | global $site; |
|---|
| 49 | global $tmpl; |
|---|
| 50 | |
|---|
| 51 | // number of photos |
|---|
| 52 | $max_num = 12; |
|---|
| 53 | $mode = 'top'; |
|---|
| 54 | |
|---|
| 55 | $sqlSelect = " |
|---|
| 56 | SELECT |
|---|
| 57 | `media`.`med_id`, |
|---|
| 58 | `med_prof_id`, |
|---|
| 59 | `med_file`, |
|---|
| 60 | `med_title`"; |
|---|
| 61 | |
|---|
| 62 | $sqlFrom = " |
|---|
| 63 | FROM `media`"; |
|---|
| 64 | |
|---|
| 65 | $sqlWhere = " |
|---|
| 66 | WHERE |
|---|
| 67 | `med_type` = 'photo' AND |
|---|
| 68 | `med_status` = 'active'"; |
|---|
| 69 | |
|---|
| 70 | |
|---|
| 71 | if ( $_GET['mode'] == 'rand' or |
|---|
| 72 | $_GET['mode'] == 'last' or |
|---|
| 73 | $_GET['mode'] == 'top' ) |
|---|
| 74 | $mode = $_GET['mode']; |
|---|
| 75 | |
|---|
| 76 | $menu = ''; |
|---|
| 77 | switch ( $mode ) |
|---|
| 78 | { |
|---|
| 79 | case 'last': $sqlOrder = " ORDER BY `med_date` DESC"; break; |
|---|
| 80 | case 'rand': $sqlOrder = " ORDER BY RAND()"; break; |
|---|
| 81 | case 'top': |
|---|
| 82 | $sqlSelect .= ", |
|---|
| 83 | (`med_rating_sum`/`med_rating_count`) AS `avg_mark`"; |
|---|
| 84 | $sqlFrom .= " |
|---|
| 85 | INNER JOIN `media_rating` USING (`med_id`) "; |
|---|
| 86 | $sqlOrder = " |
|---|
| 87 | ORDER BY `avg_mark` DESC"; |
|---|
| 88 | break; |
|---|
| 89 | } |
|---|
| 90 | |
|---|
| 91 | $aNum = db_arr( "SELECT COUNT(`media`.`med_id`) $sqlFrom $sqlWhere" ); |
|---|
| 92 | $num = (int)$aNum[0]; |
|---|
| 93 | if( $num ) |
|---|
| 94 | { |
|---|
| 95 | $pages = ceil( $num / $max_num ); |
|---|
| 96 | $page = (int)$_GET['page']; |
|---|
| 97 | |
|---|
| 98 | if( $page < 1 or $mode == 'rand' ) |
|---|
| 99 | $page = 1; |
|---|
| 100 | if( $page > $pages ) |
|---|
| 101 | $page = $pages; |
|---|
| 102 | |
|---|
| 103 | $sqlLimitFrom = ( $page - 1 ) * $max_num; |
|---|
| 104 | $sqlLimit = " |
|---|
| 105 | LIMIT $sqlLimitFrom, $max_num"; |
|---|
| 106 | |
|---|
| 107 | $max_thumb_width = (int)getParam( 'max_thumb_width' ); |
|---|
| 108 | $max_thumb_height = (int)getParam( 'max_thumb_height' ); |
|---|
| 109 | |
|---|
| 110 | $ret = '<div class="clear_both"></div>'; |
|---|
| 111 | |
|---|
| 112 | $result = db_res( $sqlSelect.$sqlFrom.$sqlWhere.$sqlOrder.$sqlLimit ); |
|---|
| 113 | while ( $ph_arr = mysql_fetch_assoc( $result ) ) |
|---|
| 114 | { |
|---|
| 115 | $urlImg = "{$site['profileImage']}{$ph_arr['med_prof_id']}/thumb_{$ph_arr['med_file']}"; |
|---|
| 116 | $urlSpacer = getTemplateIcon( 'spacer.gif' ); |
|---|
| 117 | |
|---|
| 118 | $ph_arr['med_title'] = htmlspecialchars_adv( $ph_arr['med_title'] ); |
|---|
| 119 | //$memNickName = getNickName( $ph_arr['med_prof_id'] ); |
|---|
| 120 | |
|---|
| 121 | $ret .= <<<EOJ |
|---|
| 122 | <div class="photo_block"> |
|---|
| 123 | <div class="thumbnail_block" style="float:none;"> |
|---|
| 124 | <a href="{$site['url']}photos_gallery.php?ID={$ph_arr['med_prof_id']}&photoID={$ph_arr['med_id']}" title="{$ph_arr['med_title']}"> |
|---|
| 125 | <img style="width:{$max_thumb_width}px;height:{$max_thumb_height}px;background-image:url($urlImg);" src="$urlSpacer" /> |
|---|
| 126 | </a> |
|---|
| 127 | </div> |
|---|
| 128 | <div class="photo_nickname"> |
|---|
| 129 | <a href="{$site['url']}$memNickName">$memNickName</a> |
|---|
| 130 | </div> |
|---|
| 131 | </div> |
|---|
| 132 | EOJ; |
|---|
| 133 | } |
|---|
| 134 | |
|---|
| 135 | $ret .= '<div class="clear_both"></div>'; |
|---|
| 136 | |
|---|
| 137 | if( $pages > 1 ) |
|---|
| 138 | { |
|---|
| 139 | $pagination = |
|---|
| 140 | '<div class="photos_pages">'. |
|---|
| 141 | genPagination( $pages, $page, $_SERVER['PHP_SELF']."?mode=$mode&page={page}" ). |
|---|
| 142 | '</div>'; |
|---|
| 143 | |
|---|
| 144 | $ret = $pagination . $ret . $pagination; |
|---|
| 145 | } |
|---|
| 146 | } |
|---|
| 147 | else |
|---|
| 148 | { |
|---|
| 149 | $ret .= '<div class="no_result">'; |
|---|
| 150 | $ret .= '<div>'; |
|---|
| 151 | $ret .= _t("_No results found"); |
|---|
| 152 | $ret .= '</div>'; |
|---|
| 153 | $ret .= '</div>'; |
|---|
| 154 | } |
|---|
| 155 | |
|---|
| 156 | return $ret; |
|---|
| 157 | } |
|---|