/
contributor.my.media.php
295 lines (233 loc) · 10.5 KB
/
contributor.my.media.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
<?php
/******************************************************************
* Copyright 2011 Ktools.net LLC - All Rights Reserved
* http://www.ktools.net
* Created: 4-21-2011
* Modified: 4-21-2011
******************************************************************/
define('BASE_PATH',dirname(__FILE__)); // Define the base path
define('PAGE_ID','contributorMyMedia'); // Page ID
define('ACCESS','private'); // Page access type - public|private
define('INIT_SMARTY',true); // Use Smarty
require_once BASE_PATH.'/assets/includes/session.php';
require_once BASE_PATH.'/assets/includes/initialize.php';
require_once BASE_PATH.'/assets/includes/commands.php';
require_once BASE_PATH.'/assets/includes/init.member.php';
require_once BASE_PATH.'/assets/includes/security.inc.php';
require_once BASE_PATH.'/assets/includes/language.inc.php';
require_once BASE_PATH.'/assets/includes/cart.inc.php';
require_once BASE_PATH.'/assets/includes/affiliate.inc.php';
define('META_TITLE',''); // Override page title, description, keywords and page encoding here
define('META_DESCRIPTION','');
define('META_KEYWORDS','');
define('PAGE_ENCODING','');
$memID = $_SESSION['member']['mem_id'];
if(!$memID) die('No member ID exists'); // Just to be safe make sure a member id exists before continuing
require_once BASE_PATH.'/assets/includes/header.inc.php';
require_once BASE_PATH.'/assets/includes/init.contributor.php';
require_once BASE_PATH.'/assets/includes/errors.php';
require_once BASE_PATH.'/assets/classes/paging.php';
if($_GET['delete'])
{
}
try
{
if($_GET['albumID'])
$_SESSION['contrAlbumID'] = $_GET['albumID']; // See if the mode album ID changed
if($gallerySortBy or $gallerySortType)
unset($_SESSION['prevNextArraySess']); // Clear any prevNextArraySess previously set if the sort order is changed
if($gallerySortBy)
$_SESSION['sessGallerySortBy'] = $gallerySortBy; // If a gallerySortBy is passed update the session
if($gallerySortType)
$_SESSION['sessGallerySortType'] = $gallerySortType; // If gallerySortType is passed update the session
/*
* Media Paging
*/
$mediaPerPage = $config['settings']['media_perpage']; // Set the default media per page amount
$mediaPages = new paging('media');
$mediaPages->setPerPage($mediaPerPage);
if($_SESSION['currentContrMode'] != $mode) // Changing sections - reset everything
{
$_SESSION['currentContrMode'] = $mode;
$mediaPages->setCurrentPage(1);
unset($_SESSION['prevNextArraySess']); // Clear any prevNextArraySess previously set
unset($_SESSION['sessGallerySortBy']); // Clear sessGallerySortBy
unset($_SESSION['sessGallerySortType']); // Clear sessGallerySortType
}
if(!$_SESSION['currentContrMode'])
$_SESSION['currentContrMode'] = 'all'; // if no mode set a default
// Update crumbs links
unset($_SESSION['crumbsSession']);
$crumbs[0]['linkto'] = $siteURL."/contributor.my.media.php?mode=all"; // Check for SEO
$crumbs[0]['name'] = $lang['contMedia'];
switch($_SESSION['currentContrMode'])
{
case "all":
$currentAblum['name'] = '';
$sql =
"
SELECT SQL_CALC_FOUND_ROWS *
FROM {$dbinfo[pre]}media
WHERE owner = {$memID}
AND active = 1
GROUP BY media_id
ORDER BY media_id DESC
";
break;
case "pending":
$currentAblum['name'] = $lang['approvalStatus0'];
$sql =
"
SELECT SQL_CALC_FOUND_ROWS *
FROM {$dbinfo[pre]}media
WHERE owner = {$memID}
AND active = 1
AND approval_status = 0
GROUP BY media_id
ORDER BY media_id DESC
";
$crumbs[1]['linkto'] = $siteURL."/contributor.my.media.php?mode=pending"; // Check for SEO
$crumbs[1]['name'] = $lang['approvalStatus0'];
break;
case "failed":
$currentAblum['name'] = $lang['approvalStatus2'];
$sql =
"
SELECT SQL_CALC_FOUND_ROWS *
FROM {$dbinfo[pre]}media
WHERE owner = {$memID}
AND active = 1
AND approval_status = 2
GROUP BY media_id
ORDER BY media_id DESC
";
$crumbs[1]['linkto'] = $siteURL."/contributor.my.media.php?mode=failed"; // Check for SEO
$crumbs[1]['name'] = $lang['approvalStatus2'];
break;
case "orphaned":
$currentAblum['name'] = $lang['orphanedMedia'];
$sql =
"
SELECT SQL_CALC_FOUND_ROWS *
FROM {$dbinfo[pre]}media
WHERE {$dbinfo[pre]}media.owner = '{$memID}'
AND {$dbinfo[pre]}media.media_id NOT IN (SELECT {$dbinfo[pre]}media_galleries.gmedia_id FROM {$dbinfo[pre]}media_galleries)
";
$crumbs[1]['linkto'] = $siteURL."/contributor.my.media.php?mode=orphaned"; // Check for SEO
$crumbs[1]['name'] = $lang['orphanedMedia'];
break;
case "last":
$currentAblum['name'] = $lang['lastBatch'];
@$lastBatch = mysqli_result_patch(mysqli_query($db,"SELECT batch_id FROM {$dbinfo[pre]}media WHERE owner = '{$memID}' ORDER BY batch_id DESC"));
if(!$lastBatch) $lastBatch = '0'; // Just in case there is no last batch yet
$sql =
"
SELECT SQL_CALC_FOUND_ROWS *
FROM {$dbinfo[pre]}media
WHERE owner = {$memID}
AND active = 1
AND batch_id = '{$lastBatch}'
GROUP BY media_id
ORDER BY media_id DESC
";
$crumbs[1]['linkto'] = $siteURL."/contributor.my.media.php?mode=last"; // Check for SEO
$crumbs[1]['name'] = $lang['lastBatch'];
break;
case "album":
$currentAlbumID = getAlbumID($_SESSION['contrAlbumID']);
$currentAblum['name'] = $_SESSION['member']['contrAlbumsData'][$currentAlbumID]['name'];
$currentGallery = $_SESSION['galleriesData'][$currentAlbumID]; // Assign the current gallery details
if(!$_SESSION['sessGallerySortBy']) // If sessGallerySortBy isn't set then use the default
$_SESSION['sessGallerySortBy'] = ($currentGallery['dsorting']) ? $currentGallery['dsorting'] : $config['settings']['dsorting'];
if(!$_SESSION['sessGallerySortType']) // If sessGallerySortType isn't set then use the default
$_SESSION['sessGallerySortType'] = ($currentGallery['dsorting2']) ? $currentGallery['dsorting2'] : $config['settings']['dsorting2'];
if($_SESSION['sessGallerySortBy'] != 'media_id') // Add a secondary ordering type just in case
$sql.= ",{$dbinfo[pre]}media.media_id DESC";
$sql =
"
SELECT SQL_CALC_FOUND_ROWS *
FROM {$dbinfo[pre]}media
LEFT JOIN {$dbinfo[pre]}media_galleries
ON {$dbinfo[pre]}media.media_id = {$dbinfo[pre]}media_galleries.gmedia_id
WHERE {$dbinfo[pre]}media_galleries.gallery_id = {$currentAlbumID}
AND {$dbinfo[pre]}media.active = 1
GROUP BY {$dbinfo[pre]}media.media_id
ORDER BY {$dbinfo[pre]}media.{$_SESSION[sessGallerySortBy]} {$_SESSION[sessGallerySortType]}
"; // LIMIT {$mediaStartRecord},{$mediaPerPage}
$crumbs[1]['linkto'] = $siteURL."/contributor.my.media.php?mode=album&albumID={$albumID}"; // Check for SEO
$crumbs[1]['name'] = $currentAblum['name'];
break;
}
$_SESSION['crumbsSession'] = $crumbs; // Assign these to a session to be used elsewhere
$mediaPages->setPageName('contributor.my.media.php?mode='.$_SESSION['currentContrMode']);
$mediaPages->setPageVar();
if($page)
$mediaPages->setCurrentPage($page); // Set new current media page
else
$mediaPages->setCurrentPage($_SESSION['mediaCurrentPage']); // Use session current page
$mediaStartRecord = $mediaPages->getStartRecord(); // Get the record the db should start at
if($sql) // Only do the following if the gallery is other than the top level
{
/*
* Previous and next button array
*/
if(!$_SESSION['prevNextArraySess']) // Only do this if it doesn't already exist
{
$prevNextResult = mysqli_query($db,str_replace('*',"{$dbinfo[pre]}media.media_id",$sql.$maxPrevNext));
while($prevNext = mysqli_fetch_assoc($prevNextResult))
$prevNextArray[] = $prevNext['media_id'];
$_SESSION['prevNextArraySess'] = $prevNextArray;
}
//print_r($_SESSION['prevNextArraySess']);
$sql.=
"
LIMIT {$mediaStartRecord},{$mediaPerPage}
"; // Add the limit code to the query
//echo $sql; exit; // Testing
/*
* Get all the media information and pass it to smarty
*/
$media = new mediaList($sql); // Create a new mediaList object
if($returnRows = $media->getRows()) // Continue only if results are found
{
//echo $sql; exit;
switch($mode)
{
case 'newest-media':
case 'featured-media':
case 'popular-media':
case 'contributor-media':
if($returnRows > ($mediaPerPage * $config['specMediaPageLimit'])) $returnRows = $mediaPerPage * $config['specMediaPageLimit']; // Limit the results to 20 pages in certain areas
break;
}
$mediaPages->setTotalResults($returnRows); // Pass the total number of results to the $pages object
$media->setGalleryDetails($galleryID,$_SESSION['currentMode']); // Pass gallery details to media class
$media->getMediaDetails(); // Run the getMediaDetails function to grab all the media file details
$mediaArray = $media->getMediaArray(); // Get the array of media
// old $thumbMediaDetailsArray = $media->getThumbMediaDetailsArray(); // Get the output for the details shown under thumbnails
$thumbMediaDetailsArray = $media->getDetailsFields('thumb');
$smarty->assign('thumbMediaDetails',$thumbMediaDetailsArray);
$smarty->assign('mediaRows',$returnRows);
$smarty->assign('mediaArray',$mediaArray);
}
/*
* Get paging info and pass it to smarty
*/
$mediaPagingArray = $mediaPages->getPagingArray();
//print_r($mediaPagingArray); exit; // Testing
$mediaPagingArray['pageNumbers'] = range(0,$mediaPagingArray['totalPages']);
unset($mediaPagingArray['pageNumbers'][0]); // Remove the 0 element from the beginning of the array
$smarty->assign('mediaPaging',$mediaPagingArray);
}
$smarty->assign('currentAblum',$currentAblum);
$smarty->assign('contrAlbumID',$_SESSION['contrAlbumID']);
$smarty->assign('contrMediaMode',$_SESSION['currentContrMode']);
$smarty->display('contributor.my.media.tpl');
}
catch(Exception $e)
{
echo $e->getMessage();
}
include BASE_PATH.'/assets/includes/debug.php';
if($db) mysqli_close($db); // Close any database connections
?>