function xfd_head() { global $CONFIG, $thisplugin, $XFDSET, $album, $cat; $xfd_feed = "index.php?file=xfeed/xfeed"; $superCage = Inspekt::makeSuperCage(); switch ($XFDSET['xfd_theme']) { case 0: $color = "orange"; break; case 1: $color = "azure"; break; case 2: $color = "red"; break; case 3: $color = "blue"; break; case 4: $color = "trans_dark"; break; case 5: $color = "trans_light"; break; } $header = "\r\n <!-- Begin CPG XFeed Headcode -->\r\n "; if ($XFDSET['xfd_feedroute'] == 1) { $xfeed_loc = "feeds.feedburner.com/" . $XFDSET['xfd_feedburnuname']; $header .= "<link rel=\"alternate\" type=\"application/rss+xml\" title=\"" . $CONFIG['gallery_name'] . " - Feedburner\" href=\"http://" . $xfeed_loc . "\" />\n"; } $extra_header = $header_str = ''; if ($superCage->get->keyExists('album')) { $album = $superCage->get->getRaw('album'); $header_str .= "&album={$album}"; } if ($superCage->get->keyExists('cat')) { $cat = $superCage->get->getRaw('cat'); $header_str .= "&cat={$cat}"; } // Code to show the proper title for various RSS and ATOM $extraTitle = ''; if ($album) { if ((int) $album) { $albumDetails = get_album_name((int) $album); $album = $albumDetails['title']; } else { $album = ucwords($album); } $extraTitle .= " | {$album}"; } if (!is_null($cat) && (int) $cat !== FALSE) { if ($cat < 0) { $album = -$cat; $query = "SELECT category FROM {$CONFIG['TABLE_ALBUMS']} WHERE aid = '{$album}'"; $result = cpg_db_query($query); $row = cpg_db_fetch_rowset($result); $cat = $row[0]['category']; } $cat_name = populate_category_name($cat); $extraTitle .= " | {$cat_name}"; } if ($header_str) { $extra_header = "<link rel=\"alternate\" type=\"application/rss+xml\" title=\"{$CONFIG['gallery_name']}{$extraTitle} - RSS\" href=\"{$CONFIG['ecards_more_pic_target']}{$xfd_feed}{$header_str}\" />\r\n <link rel=\"alternate\" type=\"application/atom+xml\" title=\"" . $CONFIG['gallery_name'] . "{$extraTitle} - Atom\" href=\"{$CONFIG['ecards_more_pic_target']}{$xfd_feed}&type=atom{$header_str}\" />"; } $header .= " <link rel=\"alternate\" type=\"application/rss+xml\" title=\"" . $CONFIG['gallery_name'] . " - RSS\" href=\"" . $CONFIG['ecards_more_pic_target'] . $xfd_feed . "\" />\r\n <link rel=\"alternate\" type=\"application/atom+xml\" title=\"" . $CONFIG['gallery_name'] . " - Atom\" href=\"" . $CONFIG['ecards_more_pic_target'] . $xfd_feed . "&type=atom\" />\r\n {$extra_header}\r\n <style type=\"text/css\">\r\n .xfeeds{background-image: url(./plugins/xfeed/images/xfeeds_" . $color . ".png);}\r\n </style>\r\n <link rel=\"stylesheet\" href=\"plugins/xfeed/css/xfeeds.css\" type=\"text/css\" />\r\n <!-- END CPG XFeed Headcode -->\r\n "; return $header; }
/** * get_pic_data() * * @param $album * @param $count * @param $album_name * @param integer $limit1 * @param integer $limit2 * @param boolean $set_caption * @return **/ function get_pic_data($album, &$count, &$album_name, $limit1 = -1, $limit2 = -1, $set_caption = true) { global $USER, $CONFIG, $ALBUM_SET, $META_ALBUM_SET, $CURRENT_CAT_NAME, $CURRENT_ALBUM_KEYWORD, $HTML_SUBST, $THEME_DIR, $FAVPICS, $FORBIDDEN_SET_DATA, $USER_DATA, $lang_common; global $album_date_fmt, $lastcom_date_fmt, $lastup_date_fmt, $lasthit_date_fmt, $cat; global $lang_get_pic_data, $lang_meta_album_names, $lang_errors; $sort_array = array('na' => 'filename ASC', 'nd' => 'filename DESC', 'ta' => 'title ASC', 'td' => 'title DESC', 'da' => 'pid ASC', 'dd' => 'pid DESC', 'pa' => 'position ASC', 'pd' => 'position DESC'); $sort_code = isset($USER['sort']) ? $USER['sort'] : $CONFIG['default_sort_order']; $sort_order = isset($sort_array[$sort_code]) ? $sort_array[$sort_code] : $sort_array[$CONFIG['default_sort_order']]; $limit = $limit1 != -1 ? ' LIMIT ' . $limit1 : ''; $limit .= $limit2 != -1 ? ' ,' . $limit2 : ''; if ($limit2 == 1) { $select_columns = '*'; } else { $select_columns = 'pid, filepath, filename, url_prefix, filesize, pwidth, pheight, ctime, aid, keywords, title'; } if (count($FORBIDDEN_SET_DATA) > 0) { $forbidden_set_string = " AND aid NOT IN (" . implode(",", $FORBIDDEN_SET_DATA) . ")"; } else { $forbidden_set_string = ''; } // Keyword if (!empty($CURRENT_ALBUM_KEYWORD)) { $keyword = "OR (keywords like '%{$CURRENT_ALBUM_KEYWORD}%' {$forbidden_set_string} )"; } else { $keyword = ''; } // Regular albums if (is_numeric($album)) { $album_name_keyword = get_album_name($album); $album_name = $album_name_keyword['title']; $album_keyword = addslashes($album_name_keyword['keyword']); if (!empty($album_keyword)) { $keyword = "OR (keywords like '%{$album_keyword}%' {$forbidden_set_string} )"; } else { $keyword = ''; } if (is_array($USER_DATA['allowed_albums']) && in_array($album, $USER_DATA['allowed_albums'])) { $approved = ''; } else { $approved = GALLERY_ADMIN_MODE ? '' : 'AND approved=\'YES\''; } $approved = GALLERY_ADMIN_MODE ? '' : 'AND approved=\'YES\''; $query = "SELECT COUNT(pid) from {$CONFIG['TABLE_PICTURES']} WHERE ((aid='{$album}' {$forbidden_set_string} ) {$keyword}) {$approved} {$ALBUM_SET}"; $result = cpg_db_query($query); $nbEnr = mysql_fetch_array($result); $count = $nbEnr[0]; mysql_free_result($result); if ($select_columns != '*') { $select_columns .= ', title, caption,hits,owner_id,owner_name,pic_rating,votes'; } $query = "SELECT {$select_columns} from {$CONFIG['TABLE_PICTURES']} WHERE ((aid='{$album}' {$forbidden_set_string} ) {$keyword}) {$approved} {$ALBUM_SET} ORDER BY {$sort_order} {$limit}"; $result = cpg_db_query($query); $rowset = cpg_db_fetch_rowset($result); mysql_free_result($result); // Set picture caption if ($CONFIG['display_thumbnail_rating'] == 1) { if ($set_caption) { build_caption($rowset, array('pic_rating')); } } else { if ($set_caption) { build_caption($rowset); } } $rowset = CPGPluginAPI::filter('thumb_caption_regular', $rowset); return $rowset; } // Meta albums switch ($album) { case 'lastcom': // Last comments if ($META_ALBUM_SET && $CURRENT_CAT_NAME) { $album_name = $album_name = $lang_meta_album_names['lastcom'] . ' - ' . $CURRENT_CAT_NAME; } else { $album_name = $lang_meta_album_names['lastcom']; } // Replacing the AND in ALBUM_SET with AND ( if ($META_ALBUM_SET) { $TMP_SET = "AND (" . substr($META_ALBUM_SET, 3); } else { $TMP_SET = "AND (1"; } $query = "SELECT COUNT({$CONFIG['TABLE_PICTURES']}.pid) from {$CONFIG['TABLE_COMMENTS']}, {$CONFIG['TABLE_PICTURES']} WHERE {$CONFIG['TABLE_PICTURES']}.approved = 'YES' AND {$CONFIG['TABLE_COMMENTS']}.pid = {$CONFIG['TABLE_PICTURES']}.pid AND {$CONFIG['TABLE_COMMENTS']}.approval = 'YES' {$TMP_SET} {$keyword})"; $result = cpg_db_query($query); $nbEnr = mysql_fetch_array($result); $count = $nbEnr[0]; mysql_free_result($result); $select_columns = '*'; //allows building any data into any thumbnail caption if ($select_columns == '*') { $select_columns = 'p.*, msg_id, author_id, msg_author, UNIX_TIMESTAMP(msg_date) as msg_date, msg_body, aid'; } else { $select_columns = str_replace('pid', 'c.pid', $select_columns) . ', msg_id, author_id, msg_author, UNIX_TIMESTAMP(msg_date) as msg_date, msg_body, aid'; } $TMP_SET = str_replace($CONFIG['TABLE_PICTURES'], 'p', $TMP_SET); $query = "SELECT {$select_columns} FROM {$CONFIG['TABLE_COMMENTS']} as c, {$CONFIG['TABLE_PICTURES']} as p WHERE approved = 'YES' AND c.pid = p.pid AND c.approval = 'YES' {$TMP_SET} {$keyword}) ORDER by msg_id DESC {$limit}"; $result = cpg_db_query($query); $rowset = cpg_db_fetch_rowset($result); mysql_free_result($result); if ($set_caption) { build_caption($rowset, array('msg_body', 'msg_date')); } $rowset = CPGPluginAPI::filter('thumb_caption_lastcom', $rowset); return $rowset; break; case 'lastcomby': // Last comments by a specific user if (isset($USER['uid'])) { $uid = (int) $USER['uid']; } else { $uid = -1; } $user_name = get_username($uid); if ($META_ALBUM_SET && $CURRENT_CAT_NAME) { $album_name = $album_name = $lang_meta_album_names['lastcom'] . ' - ' . $CURRENT_CAT_NAME . ' - ' . $user_name; } else { $album_name = $lang_meta_album_names['lastcom'] . ' - ' . $user_name; } $query = "SELECT COUNT({$CONFIG['TABLE_PICTURES']}.pid) from {$CONFIG['TABLE_COMMENTS']}, {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES' AND author_id = '{$uid}' AND {$CONFIG['TABLE_COMMENTS']}.pid = {$CONFIG['TABLE_PICTURES']}.pid {$META_ALBUM_SET}"; $result = cpg_db_query($query); $nbEnr = mysql_fetch_array($result); $count = $nbEnr[0]; mysql_free_result($result); $select_columns = '*, UNIX_TIMESTAMP(msg_date) AS msg_date'; //allows building any data into any thumbnail caption $query = "SELECT {$select_columns} FROM {$CONFIG['TABLE_COMMENTS']} as c, {$CONFIG['TABLE_PICTURES']} as p WHERE approved = 'YES' AND author_id = '{$uid}' AND c.pid = p.pid {$META_ALBUM_SET} ORDER by msg_id DESC {$limit}"; $result = cpg_db_query($query); $rowset = cpg_db_fetch_rowset($result); mysql_free_result($result); if ($set_caption) { build_caption($rowset, array('msg_body', 'msg_date')); } $rowset = CPGPluginAPI::filter('thumb_caption_lastcomby', $rowset); return $rowset; break; case 'lastup': // Last uploads if ($META_ALBUM_SET && $CURRENT_CAT_NAME) { $album_name = $lang_meta_album_names['lastup'] . ' - ' . $CURRENT_CAT_NAME; } else { $album_name = $lang_meta_album_names['lastup']; } $query = "SELECT COUNT(pid) from {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES' {$META_ALBUM_SET}"; $result = cpg_db_query($query); $nbEnr = mysql_fetch_array($result); $count = $nbEnr[0]; mysql_free_result($result); //if($select_columns != '*' ) $select_columns .= ',title, caption, owner_id, owner_name, aid'; $select_columns = '*'; //allows building any data into any thumbnail caption $query = "SELECT {$select_columns} FROM {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES' {$META_ALBUM_SET} ORDER BY pid DESC {$limit}"; $result = cpg_db_query($query); $rowset = cpg_db_fetch_rowset($result); mysql_free_result($result); if ($set_caption) { build_caption($rowset, array('ctime')); } $rowset = CPGPluginAPI::filter('thumb_caption_lastup', $rowset); return $rowset; break; case 'lastupby': // Last uploads by a specific user if (isset($USER['uid'])) { $uid = (int) $USER['uid']; } else { $uid = -1; } $user_name = get_username($uid); if ($META_ALBUM_SET && $CURRENT_CAT_NAME) { $album_name = $lang_meta_album_names['lastup'] . ' - ' . $CURRENT_CAT_NAME . ' - ' . $user_name; } else { $album_name = $lang_meta_album_names['lastup'] . ' - ' . $user_name; } $query = "SELECT COUNT(pid) from {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES' AND owner_id = '{$uid}' {$META_ALBUM_SET}"; $result = cpg_db_query($query); $nbEnr = mysql_fetch_array($result); $count = $nbEnr[0]; mysql_free_result($result); //if($select_columns != '*' ) $select_columns .= ', owner_id, owner_name, aid'; $select_columns = '*'; //allows building any data into any thumbnail caption $query = "SELECT {$select_columns} FROM {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES' AND owner_id = '{$uid}' {$META_ALBUM_SET} ORDER BY pid DESC {$limit}"; $result = cpg_db_query($query); $rowset = cpg_db_fetch_rowset($result); mysql_free_result($result); if ($set_caption) { build_caption($rowset, array('ctime')); } $rowset = CPGPluginAPI::filter('thumb_caption_lastupby', $rowset); return $rowset; break; case 'topn': // Most viewed pictures if ($META_ALBUM_SET && $CURRENT_CAT_NAME) { $album_name = $lang_meta_album_names['topn'] . ' - ' . $CURRENT_CAT_NAME; } else { $album_name = $lang_meta_album_names['topn']; } $query = "SELECT COUNT(pid) from {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES' AND hits > 0 {$META_ALBUM_SET} {$keyword}"; $result = cpg_db_query($query); $nbEnr = mysql_fetch_array($result); $count = $nbEnr[0]; mysql_free_result($result); //if($select_columns != '*') $select_columns .= ', hits, aid, filename, owner_id, owner_name'; $select_columns = '*'; //allows building any data into any thumbnail caption $query = "SELECT {$select_columns} FROM {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES'AND hits > 0 {$META_ALBUM_SET} {$keyword} ORDER BY hits DESC, filename {$limit}"; $result = cpg_db_query($query); $rowset = cpg_db_fetch_rowset($result); mysql_free_result($result); if ($set_caption) { build_caption($rowset, array('hits')); } $rowset = CPGPluginAPI::filter('thumb_caption_topn', $rowset); return $rowset; break; case 'toprated': // Top rated pictures if ($META_ALBUM_SET && $CURRENT_CAT_NAME) { $album_name = $lang_meta_album_names['toprated'] . ' - ' . $CURRENT_CAT_NAME; } else { $album_name = $lang_meta_album_names['toprated']; } $query = "SELECT COUNT(pid) from {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES' AND votes >= '{$CONFIG['min_votes_for_rating']}' {$META_ALBUM_SET}"; $result = cpg_db_query($query); $nbEnr = mysql_fetch_array($result); $count = $nbEnr[0]; mysql_free_result($result); //if($select_columns != '*') $select_columns .= ', pic_rating, votes, aid, owner_id, owner_name'; $select_columns = '*'; //allows building any data into any thumbnail caption $query = "SELECT {$select_columns} FROM {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES' AND votes >= '{$CONFIG['min_votes_for_rating']}' {$META_ALBUM_SET} ORDER BY pic_rating DESC, votes DESC, pid DESC {$limit}"; $result = cpg_db_query($query); $rowset = cpg_db_fetch_rowset($result); mysql_free_result($result); if ($set_caption) { build_caption($rowset, array('pic_rating')); } $rowset = CPGPluginAPI::filter('thumb_caption_toprated', $rowset); return $rowset; break; case 'lasthits': // Last viewed pictures if ($META_ALBUM_SET && $CURRENT_CAT_NAME) { $album_name = $lang_meta_album_names['lasthits'] . ' - ' . $CURRENT_CAT_NAME; } else { $album_name = $lang_meta_album_names['lasthits']; } $query = "SELECT COUNT(pid) from {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES' and hits > 0 {$META_ALBUM_SET}"; $result = cpg_db_query($query); $nbEnr = mysql_fetch_array($result); $count = $nbEnr[0]; mysql_free_result($result); //if($select_columns != '*') $select_columns .= ', UNIX_TIMESTAMP(mtime) as mtime, aid, hits, lasthit_ip, owner_id, owner_name'; $select_columns = '*, UNIX_TIMESTAMP(mtime) as mtime'; //allows building any data into any thumbnail caption $query = "SELECT {$select_columns} FROM {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES' and hits > 0 {$META_ALBUM_SET} ORDER BY mtime DESC {$limit}"; $result = cpg_db_query($query); $rowset = cpg_db_fetch_rowset($result); mysql_free_result($result); if ($set_caption) { build_caption($rowset, array('mtime', 'hits')); } $rowset = CPGPluginAPI::filter('thumb_caption_lasthits', $rowset); return $rowset; break; case 'random': // Random pictures if ($META_ALBUM_SET && $CURRENT_CAT_NAME) { $album_name = $lang_meta_album_names['random'] . ' - ' . $CURRENT_CAT_NAME; } else { $album_name = $lang_meta_album_names['random']; } $query = "SELECT COUNT(pid) from {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES' {$META_ALBUM_SET}"; $result = cpg_db_query($query); $nbEnr = mysql_fetch_array($result); $pic_count = $nbEnr[0]; mysql_free_result($result); //if($select_columns != '*') $select_columns .= ', aid, owner_id, owner_name'; $select_columns = '*'; //allows building any data into any thumbnail caption // if we have more than 1000 pictures, we limit the number of picture returned // by the SELECT statement as ORDER BY RAND() is time consuming /* Commented out due to image not found bug if ($pic_count > 1000) { $result = cpg_db_query("SELECT COUNT(*) from {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES'"); $nbEnr = mysql_fetch_array($result); $total_count = $nbEnr[0]; mysql_free_result($result); $granularity = floor($total_count / RANDPOS_MAX_PIC); $cor_gran = ceil($total_count / $pic_count); srand(time()); for ($i=1; $i<= $cor_gran; $i++) $random_num_set =rand(0, $granularity).', '; $random_num_set = substr($random_num_set,0, -2); $result = cpg_db_query("SELECT $select_columns FROM {$CONFIG['TABLE_PICTURES']} WHERE randpos IN ($random_num_set) AND approved = 'YES' $ALBUM_SET ORDER BY RAND() LIMIT $limit2"); } else { */ $query = "SELECT {$select_columns} FROM {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES' {$META_ALBUM_SET} ORDER BY RAND() LIMIT {$limit2}"; $result = cpg_db_query($query); $rowset = array(); while ($row = mysql_fetch_array($result)) { $rowset[-$row['pid']] = $row; } mysql_free_result($result); if ($set_caption) { build_caption($rowset); } $rowset = CPGPluginAPI::filter('thumb_caption_random', $rowset); return $rowset; break; case 'search': // Search results if (isset($USER['search']['search'])) { $search_string = $USER['search']['search']; } else { $search_string = ''; } if ($META_ALBUM_SET && $CURRENT_CAT_NAME) { $album_name = $lang_meta_album_names['search'] . ' - ' . $CURRENT_CAT_NAME; } else { $album_name = $lang_meta_album_names['search'] . ' - "' . strtr($search_string, $HTML_SUBST) . '"'; } include 'include/search.inc.php'; $rowset = CPGPluginAPI::filter('thumb_caption_search', $rowset); return $rowset; break; case 'lastalb': // Last albums to which uploads if ($META_ALBUM_SET && $CURRENT_CAT_NAME) { $album_name = $lang_meta_album_names['lastalb'] . ' - ' . $CURRENT_CAT_NAME; } else { $album_name = $lang_meta_album_names['lastalb']; } $META_ALBUM_SET = str_replace("aid", $CONFIG['TABLE_PICTURES'] . ".aid", $META_ALBUM_SET); $query = "SELECT count({$CONFIG['TABLE_ALBUMS']}.aid) FROM {$CONFIG['TABLE_PICTURES']},{$CONFIG['TABLE_ALBUMS']} WHERE {$CONFIG['TABLE_PICTURES']}.aid = {$CONFIG['TABLE_ALBUMS']}.aid AND approved = 'YES' {$META_ALBUM_SET} GROUP BY {$CONFIG['TABLE_PICTURES']}.aid"; $result = cpg_db_query($query); $count = mysql_num_rows($result); mysql_free_result($result); $query = "SELECT *,{$CONFIG['TABLE_ALBUMS']}.title AS title,{$CONFIG['TABLE_ALBUMS']}.aid AS aid FROM {$CONFIG['TABLE_PICTURES']},{$CONFIG['TABLE_ALBUMS']} WHERE {$CONFIG['TABLE_PICTURES']}.aid = {$CONFIG['TABLE_ALBUMS']}.aid AND approved = 'YES' {$META_ALBUM_SET} GROUP BY {$CONFIG['TABLE_PICTURES']}.aid ORDER BY {$CONFIG['TABLE_PICTURES']}.ctime DESC {$limit}"; $result = cpg_db_query($query); $rowset = cpg_db_fetch_rowset($result); mysql_free_result($result); if ($set_caption) { build_caption($rowset, array('ctime')); } $rowset = CPGPluginAPI::filter('thumb_caption_lastalb', $rowset); return $rowset; break; case 'favpics': // Favourite Pictures $album_name = $lang_meta_album_names['favpics']; $rowset = array(); if (count($FAVPICS) > 0) { $favs = implode(",", $FAVPICS); $query = "SELECT COUNT(pid) from {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES' AND pid IN ({$favs}) {$META_ALBUM_SET}"; $result = cpg_db_query($query); $nbEnr = mysql_fetch_array($result); $count = $nbEnr[0]; mysql_free_result($result); $select_columns = '*'; $query = "SELECT {$select_columns} FROM {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES' AND pid IN ({$favs}) {$META_ALBUM_SET} {$limit}"; $result = cpg_db_query($query); $rowset = cpg_db_fetch_rowset($result); mysql_free_result($result); if ($set_caption) { build_caption($rowset, array('ctime')); } } $rowset = CPGPluginAPI::filter('thumb_caption_favpics', $rowset); return $rowset; break; case 'datebrowse': // Browsing by uploading date $date = isset($_GET['date']) ? cpgValidateDate($_GET['date']) : null; $album_name = $lang_common['date'] . ': ' . $date; $rowset = array(); $query = "SELECT COUNT(pid) from {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES' AND substring(from_unixtime(ctime),1,10) = '" . substr($date, 0, 10) . "' {$META_ALBUM_SET}"; $result = cpg_db_query($query); $nbEnr = mysql_fetch_array($result); $count = $nbEnr[0]; mysql_free_result($result); $select_columns = '*'; $query = "SELECT {$select_columns} FROM {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES' AND substring(from_unixtime(ctime),1,10) = '" . substr($date, 0, 10) . "' {$META_ALBUM_SET} {$limit}"; $result = cpg_db_query($query); $rowset = cpg_db_fetch_rowset($result); mysql_free_result($result); if ($set_caption) { build_caption($rowset, array('ctime')); } return $rowset; break; default: // Invalid meta album cpg_die(ERROR, $lang_errors['non_exist_ap'], __FILE__, __LINE__); } }
function get_pic_data($album, &$count, &$album_name, $limit1 = -1, $limit2 = -1, $set_caption = true) { global $USER, $CONFIG, $ALBUM_SET, $CURRENT_CAT_NAME, $CURRENT_ALBUM_KEYWORD, $HTTP_GET_VARS, $HTML_SUBST, $THEME_DIR, $FAVPICS; global $album_date_fmt, $lastcom_date_fmt, $lastup_date_fmt, $lasthit_date_fmt; global $lang_get_pic_data, $lang_meta_album_names, $lang_errors; $sort_array = array('na' => 'filename ASC', 'nd' => 'filename DESC', 'ta' => 'title ASC', 'td' => 'title DESC', 'da' => 'pid ASC', 'dd' => 'pid DESC'); $sort_code = isset($USER['sort']) ? $USER['sort'] : $CONFIG['default_sort_order']; $sort_order = isset($sort_array[$sort_code]) ? $sort_array[$sort_code] : $sort_array[$CONFIG['default_sort_order']]; $limit = $limit1 != -1 ? ' LIMIT ' . $limit1 : ''; $limit .= $limit2 != -1 ? ' ,' . $limit2 : ''; if ($limit2 == 1) { $select_columns = '*'; } else { $select_columns = 'pid, filepath, filename, url_prefix, filesize, pwidth, pheight, ctime, aid'; } // Keyword if (!empty($CURRENT_ALBUM_KEYWORD)) { $keyword = "OR keywords like '%{$CURRENT_ALBUM_KEYWORD}%'"; } else { $keyword = ''; } // Regular albums if (is_numeric($album)) { $album_name_keyword = get_album_name($album); $album_name = $album_name_keyword['title']; $album_keyword = $album_name_keyword['keyword']; if (!empty($album_keyword)) { $keyword = "OR keywords like '%{$album_keyword}%'"; } $approved = GALLERY_ADMIN_MODE ? '' : 'AND approved=\'YES\''; $result = db_query("SELECT COUNT(*) from {$CONFIG['TABLE_PICTURES']} WHERE aid='{$album}' {$keyword} {$approved} {$ALBUM_SET}"); $nbEnr = mysql_fetch_array($result); $count = $nbEnr[0]; mysql_free_result($result); if ($select_columns != '*') { $select_columns .= ', title, caption,hits,owner_id,owner_name'; } $result = db_query("SELECT {$select_columns} from {$CONFIG['TABLE_PICTURES']} WHERE aid='{$album}' {$keyword} {$approved} {$ALBUM_SET} ORDER BY {$sort_order} {$limit}"); $rowset = db_fetch_rowset($result); mysql_free_result($result); // Set picture caption if ($set_caption) { foreach ($rowset as $key => $row) { $caption = "<span class=\"thumb_title\">"; $caption .= $rowset[$key]['title'] || $rowset[$key]['hits'] ? $rowset[$key]['title'] : ''; if ($CONFIG['views_in_thumbview']) { if ($rowset[$key]['title']) { $caption .= " – "; } $caption .= sprintf($lang_get_pic_data['n_views'], $rowset[$key]['hits']); } $caption .= "</span>"; if ($CONFIG['caption_in_thumbview']) { $caption .= $rowset[$key]['caption'] ? "<span class=\"thumb_caption\">" . bb_decode($rowset[$key]['caption']) . "</span>" : ''; } if ($CONFIG['display_comment_count']) { $comments_nr = count_pic_comments($row['pid']); if ($comments_nr > 0) { $caption .= "<span class=\"thumb_num_comments\">" . sprintf($lang_get_pic_data['n_comments'], $comments_nr) . "</span>"; } } if ($CONFIG['display_uploader']) { $caption .= '<span class="thumb_title"><a href ="profile.php?uid=' . $rowset[$key]['owner_id'] . '">' . $rowset[$key]['owner_name'] . '</a></span>'; } $rowset[$key]['caption_text'] = $caption; } } return $rowset; } // Meta albums switch ($album) { case 'lastcom': // Last comments if ($ALBUM_SET && $CURRENT_CAT_NAME) { $album_name = $album_name = $lang_meta_album_names['lastcom'] . ' - ' . $CURRENT_CAT_NAME; } else { $album_name = $lang_meta_album_names['lastcom']; } $query = "SELECT COUNT(*) from {$CONFIG['TABLE_COMMENTS']}, {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES' AND {$CONFIG['TABLE_COMMENTS']}.pid = {$CONFIG['TABLE_PICTURES']}.pid {$keyword} {$ALBUM_SET}"; $result = db_query($query); $nbEnr = mysql_fetch_array($result); $count = $nbEnr[0]; mysql_free_result($result); if ($select_columns == '*') { $select_columns = 'p.*'; } else { $select_columns = str_replace('pid', 'c.pid', $select_columns) . ', msg_id, author_id, msg_author, UNIX_TIMESTAMP(msg_date) as msg_date, msg_body, aid'; } $TMP_SET = str_replace($CONFIG['TABLE_PICTURES'], 'p', $ALBUM_SET); $result = db_query("SELECT {$select_columns} FROM {$CONFIG['TABLE_COMMENTS']} as c, {$CONFIG['TABLE_PICTURES']} as p WHERE approved = 'YES' AND c.pid = p.pid {$keyword} {$TMP_SET} ORDER by msg_id DESC {$limit}"); $rowset = db_fetch_rowset($result); mysql_free_result($result); if ($set_caption) { foreach ($rowset as $key => $row) { if ($row['author_id']) { $user_link = '<a href ="profile.php?uid=' . $row['author_id'] . '">' . $row['msg_author'] . '</a>'; } else { $user_link = $row['msg_author']; } $msg_body = strlen($row['msg_body']) > 50 ? @substr($row['msg_body'], 0, 50) . "..." : $row['msg_body']; if ($CONFIG['enable_smilies']) { $msg_body = process_smilies($msg_body); } $caption = '<span class="thumb_title">' . $user_link . '</span>' . '<span class="thumb_caption">' . localised_date($row['msg_date'], $lastcom_date_fmt) . '</span>' . '<span class="thumb_caption">' . $msg_body . '</span>'; $rowset[$key]['caption_text'] = $caption; } } return $rowset; break; case 'lastcomby': // Last comments by a specific user if (isset($USER['uid'])) { $uid = (int) $USER['uid']; } else { $uid = -1; } $user_name = get_username($uid); if ($ALBUM_SET && $CURRENT_CAT_NAME) { $album_name = $album_name = $lang_meta_album_names['lastcom'] . ' - ' . $CURRENT_CAT_NAME . ' - ' . $user_name; } else { $album_name = $lang_meta_album_names['lastcom'] . ' - ' . $user_name; } $result = db_query("SELECT COUNT(*) from {$CONFIG['TABLE_COMMENTS']}, {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES' AND author_id = '{$uid}' AND {$CONFIG['TABLE_COMMENTS']}.pid = {$CONFIG['TABLE_PICTURES']}.pid {$ALBUM_SET}"); $nbEnr = mysql_fetch_array($result); $count = $nbEnr[0]; mysql_free_result($result); if ($select_columns == '*') { $select_columns = 'p.*'; } else { $select_columns = str_replace('pid', 'c.pid', $select_columns) . ', msg_id, author_id, msg_author, UNIX_TIMESTAMP(msg_date) as msg_date, msg_body, aid'; } $result = db_query("SELECT {$select_columns} FROM {$CONFIG['TABLE_COMMENTS']} as c, {$CONFIG['TABLE_PICTURES']} as p WHERE approved = 'YES' AND author_id = '{$uid}' AND c.pid = p.pid {$ALBUM_SET} ORDER by msg_id DESC {$limit}"); $rowset = db_fetch_rowset($result); mysql_free_result($result); if ($set_caption) { foreach ($rowset as $key => $row) { if ($row['author_id']) { $user_link = '<a href ="profile.php?uid=' . $row['author_id'] . '">' . $row['msg_author'] . '</a>'; } else { $user_link = $row['msg_author']; } $caption = '<span class="thumb_title">' . $user_link . '</span>' . '<span class="thumb_caption">' . localised_date($row['msg_date'], $lastcom_date_fmt) . '</span>' . '<span class="thumb_caption">' . $row['msg_body'] . '</span>'; $rowset[$key]['caption_text'] = $caption; } } return $rowset; break; case 'lastup': // Last uploads if ($ALBUM_SET && $CURRENT_CAT_NAME) { $album_name = $lang_meta_album_names['lastup'] . ' - ' . $CURRENT_CAT_NAME; } else { $album_name = $lang_meta_album_names['lastup']; } $result = db_query("SELECT COUNT(*) from {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES' {$ALBUM_SET}"); $nbEnr = mysql_fetch_array($result); $count = $nbEnr[0]; mysql_free_result($result); if ($select_columns != '*') { $select_columns .= ',title, caption, owner_id, owner_name, aid'; } $result = db_query("SELECT {$select_columns} FROM {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES' {$ALBUM_SET} ORDER BY pid DESC {$limit}"); $rowset = db_fetch_rowset($result); mysql_free_result($result); if ($set_caption) { foreach ($rowset as $key => $row) { $user_link = $CONFIG['display_uploader'] && $row['owner_id'] && $row['owner_name'] ? '<span class="thumb_title"><a href ="profile.php?uid=' . $row['owner_id'] . '">' . $row['owner_name'] . '</a></span>' : ''; $caption = $user_link . '<span class="thumb_caption">' . localised_date($row['ctime'], $lastup_date_fmt) . '</span>'; $rowset[$key]['caption_text'] = $caption; } } return $rowset; break; case 'lastupby': // Last uploads by a specific user if (isset($USER['uid'])) { $uid = (int) $USER['uid']; } else { $uid = -1; } $user_name = get_username($uid); if ($ALBUM_SET && $CURRENT_CAT_NAME) { $album_name = $lang_meta_album_names['lastup'] . ' - ' . $CURRENT_CAT_NAME . ' - ' . $user_name; } else { $album_name = $lang_meta_album_names['lastup'] . ' - ' . $user_name; } $result = db_query("SELECT COUNT(*) from {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES' AND owner_id = '{$uid}' {$ALBUM_SET}"); $nbEnr = mysql_fetch_array($result); $count = $nbEnr[0]; mysql_free_result($result); if ($select_columns != '*') { $select_columns .= ', owner_id, owner_name, aid'; } $result = db_query("SELECT {$select_columns} FROM {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES' AND owner_id = '{$uid}' {$ALBUM_SET} ORDER BY pid DESC {$limit}"); $rowset = db_fetch_rowset($result); mysql_free_result($result); if ($set_caption) { foreach ($rowset as $key => $row) { if ($row['owner_id'] && $row['owner_name']) { $user_link = '<span class="thumb_title"><a href ="profile.php?uid=' . $row['owner_id'] . '">' . $row['owner_name'] . '</a></span>'; } else { $user_link = ''; } $caption = $user_link . '<span class="thumb_caption">' . localised_date($row['ctime'], $lastup_date_fmt) . '</span>'; $rowset[$key]['caption_text'] = $caption; } } return $rowset; break; case 'topn': // Most viewed pictures if ($ALBUM_SET && $CURRENT_CAT_NAME) { $album_name = $lang_meta_album_names['topn'] . ' - ' . $CURRENT_CAT_NAME; } else { $album_name = $lang_meta_album_names['topn']; } $query = "SELECT COUNT(*) from {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES' AND hits > 0 {$ALBUM_SET} {$keyword}"; $result = db_query($query); $nbEnr = mysql_fetch_array($result); $count = $nbEnr[0]; mysql_free_result($result); if ($select_columns != '*') { $select_columns .= ', hits, aid, filename'; } $result = db_query("SELECT {$select_columns} FROM {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES'AND hits > 0 {$ALBUM_SET} {$keyword} ORDER BY hits DESC, filename {$limit}"); $rowset = db_fetch_rowset($result); mysql_free_result($result); if ($set_caption) { foreach ($rowset as $key => $row) { $caption = "<span class=\"thumb_caption\">" . sprintf($lang_get_pic_data['n_views'], $row['hits']) . '</span>'; $rowset[$key]['caption_text'] = $caption; } } return $rowset; break; case 'toprated': // Top rated pictures if ($ALBUM_SET && $CURRENT_CAT_NAME) { $album_name = $lang_meta_album_names['toprated'] . ' - ' . $CURRENT_CAT_NAME; } else { $album_name = $lang_meta_album_names['toprated']; } $result = db_query("SELECT COUNT(*) from {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES' AND votes >= '{$CONFIG['min_votes_for_rating']}' {$ALBUM_SET}"); $nbEnr = mysql_fetch_array($result); $count = $nbEnr[0]; mysql_free_result($result); if ($select_columns != '*') { $select_columns .= ', pic_rating, votes, aid'; } $result = db_query("SELECT {$select_columns} FROM {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES' AND votes >= '{$CONFIG['min_votes_for_rating']}' {$ALBUM_SET} ORDER BY ROUND((pic_rating+1)/2000) DESC, votes DESC {$limit}"); $rowset = db_fetch_rowset($result); mysql_free_result($result); if ($set_caption) { foreach ($rowset as $key => $row) { if (defined('THEME_HAS_RATING_GRAPHICS')) { $prefix = $THEME_DIR; } else { $prefix = ''; } $caption = "<span class=\"thumb_caption\">" . '<img src="' . $prefix . 'images/rating' . round($row['pic_rating'] / 2000) . '.gif" align="absmiddle"/>' . '<br />' . sprintf($lang_get_pic_data['n_votes'], $row['votes']) . '</span>'; $rowset[$key]['caption_text'] = $caption; } } return $rowset; break; case 'lasthits': // Last viewed pictures if ($ALBUM_SET && $CURRENT_CAT_NAME) { $album_name = $lang_meta_album_names['lasthits'] . ' - ' . $CURRENT_CAT_NAME; } else { $album_name = $lang_meta_album_names['lasthits']; } $result = db_query("SELECT COUNT(*) from {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES' {$ALBUM_SET}"); $nbEnr = mysql_fetch_array($result); $count = $nbEnr[0]; mysql_free_result($result); if ($select_columns != '*') { $select_columns .= ', UNIX_TIMESTAMP(mtime) as mtime, aid'; } $result = db_query("SELECT {$select_columns} FROM {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES' {$ALBUM_SET} ORDER BY mtime DESC {$limit}"); $rowset = db_fetch_rowset($result); mysql_free_result($result); if ($set_caption) { foreach ($rowset as $key => $row) { $caption = "<span class=\"thumb_caption\">" . localised_date($row['mtime'], $lasthit_date_fmt) . '</span>'; $rowset[$key]['caption_text'] = $caption; } } return $rowset; break; case 'random': // Random pictures if ($ALBUM_SET && $CURRENT_CAT_NAME) { $album_name = $lang_meta_album_names['random'] . ' - ' . $CURRENT_CAT_NAME; } else { $album_name = $lang_meta_album_names['random']; } $result = db_query("SELECT COUNT(*) from {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES' {$ALBUM_SET}"); $nbEnr = mysql_fetch_array($result); $pic_count = $nbEnr[0]; mysql_free_result($result); if ($select_columns != '*') { $select_columns .= ', aid'; } // if we have more than 1000 pictures, we limit the number of picture returned // by the SELECT statement as ORDER BY RAND() is time consuming /* Commented out due to image not found bug if ($pic_count > 1000) { $result = db_query("SELECT COUNT(*) from {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES'"); $nbEnr = mysql_fetch_array($result); $total_count = $nbEnr[0]; mysql_free_result($result); $granularity = floor($total_count / RANDPOS_MAX_PIC); $cor_gran = ceil($total_count / $pic_count); srand(time()); for ($i=1; $i<= $cor_gran; $i++) $random_num_set =rand(0, $granularity).', '; $random_num_set = substr($random_num_set,0, -2); $result = db_query("SELECT $select_columns FROM {$CONFIG['TABLE_PICTURES']} WHERE randpos IN ($random_num_set) AND approved = 'YES' $ALBUM_SET ORDER BY RAND() LIMIT $limit2"); } else { */ $sql = "SELECT {$select_columns} FROM {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES' {$ALBUM_SET} ORDER BY RAND() LIMIT {$limit2}"; $result = db_query($sql); $rowset = array(); while ($row = mysql_fetch_array($result)) { $row['caption_text'] = ''; $rowset[-$row['pid']] = $row; } mysql_free_result($result); return $rowset; break; case 'search': // Search results if (isset($USER['search'])) { $search_string = $USER['search']; } else { $search_string = ''; } if (substr($search_string, 0, 3) == '###') { $query_all = 1; $search_string = substr($search_string, 3); } else { $query_all = 0; } if ($ALBUM_SET && $CURRENT_CAT_NAME) { $album_name = $lang_meta_album_names['search'] . ' - ' . $CURRENT_CAT_NAME; } else { $album_name = $lang_meta_album_names['search'] . ' - "' . strtr($search_string, $HTML_SUBST) . '"'; } include 'include/search.inc.php'; return $rowset; break; case 'lastalb': // Last albums to which uploads if ($ALBUM_SET && $CURRENT_CAT_NAME) { $album_name = $lang_meta_album_names['lastalb'] . ' - ' . $CURRENT_CAT_NAME; } else { $album_name = $lang_meta_album_names['lastalb']; } $ALBUM_SET = str_replace("aid", $CONFIG['TABLE_PICTURES'] . ".aid", $ALBUM_SET); $result = db_query("SELECT COUNT(*) from {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES' {$ALBUM_SET}"); $nbEnr = mysql_fetch_array($result); $count = $nbEnr[0]; mysql_free_result($result); $result = db_query("SELECT *,{$CONFIG['TABLE_ALBUMS']}.title AS title,{$CONFIG['TABLE_ALBUMS']}.aid AS aid FROM {$CONFIG['TABLE_PICTURES']},{$CONFIG['TABLE_ALBUMS']} WHERE {$CONFIG['TABLE_PICTURES']}.aid = {$CONFIG['TABLE_ALBUMS']}.aid AND approved = 'YES' {$ALBUM_SET} GROUP BY {$CONFIG['TABLE_PICTURES']}.aid ORDER BY {$CONFIG['TABLE_PICTURES']}.ctime DESC {$limit}"); $rowset = db_fetch_rowset($result); mysql_free_result($result); if ($set_caption) { foreach ($rowset as $key => $row) { $caption = "<span class=\"thumb_caption\">" . $row['title'] . " - " . localised_date($row['ctime'], $lastup_date_fmt) . '</span>'; $rowset[$key]['caption_text'] = $caption; } } return $rowset; break; case 'favpics': // Favourite Pictures $album_name = $lang_meta_album_names['favpics']; $rowset = array(); if (count($FAVPICS) > 0) { $favs = implode(",", $FAVPICS); $result = db_query("SELECT COUNT(*) from {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES' AND pid IN ({$favs})"); $nbEnr = mysql_fetch_array($result); $count = $nbEnr[0]; mysql_free_result($result); $select_columns = '*'; $result = db_query("SELECT {$select_columns} FROM {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES'AND pid IN ({$favs}) {$limit}"); $rowset = db_fetch_rowset($result); mysql_free_result($result); if ($set_caption) { foreach ($rowset as $key => $row) { $caption = $rowset[$key]['title'] ? "<span class=\"thumb_caption\">" . $rowset[$key]['title'] . "</span>" : ''; $rowset[$key]['caption_text'] = $caption; } } } return $rowset; break; default: // Invalid meta album cpg_die(ERROR, $lang_errors['non_exist_ap'], __FILE__, __LINE__); } }
function get_pic_pos($album, $pid) { global $USER, $CONFIG, $CURRENT_ALBUM_KEYWORD, $FORBIDDEN_SET_DATA, $USER_DATA; global $RESTRICTEDWHERE, $FORBIDDEN_SET; global $lang_errors; // Regular albums if (is_numeric($album)) { if (count($FORBIDDEN_SET_DATA) > 0) { $forbidden_set_string = ' AND aid NOT IN (' . implode(', ', $FORBIDDEN_SET_DATA) . ')'; } else { $forbidden_set_string = ''; } $album_name_keyword = get_album_name($album); //$album_name = $album_name_keyword['title']; $album_keyword = addslashes($album_name_keyword['keyword']); if (!empty($album_keyword)) { $keyword = "OR (keywords like '%{$album_keyword}%' {$forbidden_set_string} )"; } else { $keyword = ''; } $approved = GALLERY_ADMIN_MODE ? '' : 'AND approved=\'YES\''; $result = cpg_db_query("SELECT filename, title, pid, position, ctime FROM {$CONFIG['TABLE_PICTURES']} WHERE pid = {$pid}"); if (!mysql_num_rows($result)) { cpg_die(ERROR, $lang_errors['non_exist_ap'], __FILE__, __LINE__); } $pic = mysql_fetch_assoc($result); $pic['title'] = mysql_real_escape_string($pic['title']); $sort_array = array('na' => "(filename < '{$pic['filename']}' OR filename = '{$pic['filename']}' AND pid < {$pic['pid']})", 'nd' => "(filename > '{$pic['filename']}' OR filename = '{$pic['filename']}' AND pid > {$pic['pid']})", 'ta' => "(title < '{$pic['title']}' OR title = '{$pic['title']}' AND pid < {$pic['pid']})", 'td' => "(title > '{$pic['title']}' OR title = '{$pic['title']}' AND pid > {$pic['pid']})", 'da' => "(ctime < '{$pic['ctime']}' OR ctime = '{$pic['ctime']}' AND pid < {$pic['pid']})", 'dd' => "(ctime > '{$pic['ctime']}' OR ctime = '{$pic['ctime']}' AND pid > {$pic['pid']})", 'pa' => "(position < {$pic['position']} OR position = {$pic['position']} AND pid < {$pic['pid']})", 'pd' => "(position > {$pic['position']} OR position = {$pic['position']} AND pid > {$pic['pid']})"); $sort_code = isset($USER['sort']) && $CONFIG['custom_sortorder_thumbs'] ? $USER['sort'] : $CONFIG['default_sort_order']; $sort_order = isset($sort_array[$sort_code]) ? $sort_array[$sort_code] : $sort_array[$CONFIG['default_sort_order']]; $query = "SELECT COUNT(*) FROM {$CONFIG['TABLE_PICTURES']}\n WHERE ((aid='{$album}' {$forbidden_set_string}) {$keyword}) {$approved}\n AND {$sort_order}"; $result = cpg_db_query($query); list($pos) = mysql_fetch_row($result); mysql_free_result($result); return $pos; } // Meta albums switch ($album) { case 'lastcom': // Latest comments $superCage = Inspekt::makeSuperCage(); if (!$superCage->get->getInt('msg_id')) { cpg_die(ERROR, $lang_errors['param_missing'], __FILE__, __LINE__); } $query = "SELECT COUNT(*) FROM {$CONFIG['TABLE_PICTURES']} AS p\n INNER JOIN {$CONFIG['TABLE_ALBUMS']} AS r ON r.aid = p.aid\n INNER JOIN {$CONFIG['TABLE_COMMENTS']} AS c ON c.pid = p.pid\n {$RESTRICTEDWHERE}\n AND approved = 'YES'\n AND approval = 'YES'\n AND msg_id > " . $superCage->get->getInt('msg_id'); $result = cpg_db_query($query); list($pos) = mysql_fetch_row($result); mysql_free_result($result); return $pos; break; case 'lastcomby': // Latest comments by a specific user if (isset($USER['uid'])) { $uid = (int) $USER['uid']; } else { $uid = -1; } $superCage = Inspekt::makeSuperCage(); if (!$superCage->get->getInt('msg_id')) { cpg_die(ERROR, $lang_errors['param_missing'], __FILE__, __LINE__); } $query = "SELECT COUNT(*) FROM {$CONFIG['TABLE_PICTURES']} AS p\n INNER JOIN {$CONFIG['TABLE_ALBUMS']} AS r ON r.aid = p.aid\n INNER JOIN {$CONFIG['TABLE_COMMENTS']} AS c ON c.pid = p.pid\n {$RESTRICTEDWHERE}\n AND author_id = {$uid}\n AND approved = 'YES'\n AND approval = 'YES'\n AND msg_id > " . $superCage->get->getInt('msg_id'); $result = cpg_db_query($query); list($pos) = mysql_fetch_row($result); mysql_free_result($result); return $pos; break; case 'lastup': // Latest (most recent) uploads $query = "SELECT ctime FROM {$CONFIG['TABLE_PICTURES']} WHERE pid = {$pid}"; $result = cpg_db_query($query); if (!mysql_num_rows($result)) { cpg_die(ERROR, $lang_errors['non_exist_ap'], __FILE__, __LINE__); } $ctime = mysql_result($result, 0); mysql_free_result($result); $query = "SELECT COUNT(*) FROM {$CONFIG['TABLE_PICTURES']} AS p\n INNER JOIN {$CONFIG['TABLE_ALBUMS']} AS r ON r.aid = p.aid\n {$RESTRICTEDWHERE}\n AND approved = 'YES'\n AND (ctime > {$ctime}\n OR ctime = {$ctime} AND pid > {$pid})"; $result = cpg_db_query($query); list($pos) = mysql_fetch_row($result); mysql_free_result($result); return $pos; break; case 'lastupby': // Latest (most recent) uploads by a specific user if (isset($USER['uid'])) { $uid = (int) $USER['uid']; } else { $uid = -1; } $query = "SELECT ctime FROM {$CONFIG['TABLE_PICTURES']} WHERE pid = {$pid}"; $result = cpg_db_query($query); if (!mysql_num_rows($result)) { cpg_die(ERROR, $lang_errors['non_exist_ap'], __FILE__, __LINE__); } $ctime = mysql_result($result, 0); mysql_free_result($result); $query = "SELECT COUNT(*) FROM {$CONFIG['TABLE_PICTURES']} AS p\n INNER JOIN {$CONFIG['TABLE_ALBUMS']} AS r ON r.aid = p.aid\n {$RESTRICTEDWHERE}\n AND p.owner_id = {$uid}\n AND approved = 'YES'\n AND (ctime > {$ctime}\n OR ctime = {$ctime} AND pid > {$pid})"; $result = cpg_db_query($query); list($pos) = mysql_fetch_row($result); mysql_free_result($result); return $pos; break; case 'topn': // Most viewed files $query = "SELECT hits FROM {$CONFIG['TABLE_PICTURES']} WHERE pid = {$pid}"; $result = cpg_db_query($query); if (!mysql_num_rows($result)) { cpg_die(ERROR, $lang_errors['non_exist_ap'], __FILE__, __LINE__); } $hits = mysql_result($result, 0); mysql_free_result($result); $query = "SELECT COUNT(*) FROM {$CONFIG['TABLE_PICTURES']} AS p\n INNER JOIN {$CONFIG['TABLE_ALBUMS']} AS r ON r.aid = p.aid\n {$RESTRICTEDWHERE}\n AND approved = 'YES'\n AND (hits > {$hits}\n OR hits = {$hits} AND pid < {$pid})"; $result = cpg_db_query($query); list($pos) = mysql_fetch_row($result); mysql_free_result($result); return $pos; break; case 'toprated': // Top rated pictures $query = "SELECT pic_rating, votes FROM {$CONFIG['TABLE_PICTURES']} WHERE pid = {$pid}"; $result = cpg_db_query($query); if (!mysql_num_rows($result)) { cpg_die(ERROR, $lang_errors['non_exist_ap'], __FILE__, __LINE__); } list($pic_rating, $votes) = mysql_fetch_row($result); mysql_free_result($result); $query = "SELECT COUNT(*) FROM {$CONFIG['TABLE_PICTURES']} AS p\n INNER JOIN {$CONFIG['TABLE_ALBUMS']} AS r ON r.aid = p.aid\n {$RESTRICTEDWHERE}\n AND approved = 'YES'\n AND p.votes >= '{$CONFIG['min_votes_for_rating']}'\n AND (pic_rating > {$pic_rating}\n OR (pic_rating = {$pic_rating} AND p.votes > {$votes})\n OR (pic_rating = {$pic_rating} AND p.votes = {$votes} AND pid > {$pid}))"; $result = cpg_db_query($query); list($pos) = mysql_fetch_row($result); mysql_free_result($result); return $pos; break; case 'lasthits': // Last viewed files (most recently-viewed files) $query = "SELECT mtime FROM {$CONFIG['TABLE_PICTURES']} WHERE pid = {$pid}"; $result = cpg_db_query($query); if (!mysql_num_rows($result)) { cpg_die(ERROR, $lang_errors['non_exist_ap'], __FILE__, __LINE__); } $mtime = mysql_result($result, 0); mysql_free_result($result); $query = "SELECT COUNT(*) FROM {$CONFIG['TABLE_PICTURES']} AS p\n INNER JOIN {$CONFIG['TABLE_ALBUMS']} AS r ON r.aid = p.aid\n {$RESTRICTEDWHERE}\n AND approved = 'YES'\n AND hits > 0\n AND (mtime > '{$mtime}'\n OR mtime = '{$mtime}' AND pid < {$pid})"; $result = cpg_db_query($query); list($pos) = mysql_fetch_row($result); mysql_free_result($result); return $pos; break; case 'search': // Search results $superCage = Inspekt::makeSuperCage(); if (isset($USER['search']['search'])) { $search_string = $USER['search']['search']; } else { $search_string = ''; } $get_pic_pos = true; include 'include/search.inc.php'; return $pos; break; case 'favpics': // Favorite Files global $FAVPICS; if (empty($FAVPICS)) { return 0; } $favs = implode(', ', $FAVPICS); $query = "SELECT COUNT(*) FROM {$CONFIG['TABLE_PICTURES']} AS p\n INNER JOIN {$CONFIG['TABLE_ALBUMS']} AS r ON r.aid = p.aid\n {$RESTRICTEDWHERE}\n AND approved = 'YES'\n AND pid IN ({$favs})\n AND pid < {$pid}"; $result = cpg_db_query($query); list($pos) = mysql_fetch_row($result); mysql_free_result($result); return $pos; break; case 'datebrowse': // Browsing by uploading date $superCage = Inspekt::makeSuperCage(); // Using getRaw(): The date is sanitized in the called function $date = $superCage->get->keyExists('date') ? cpgValidateDate($superCage->get->getRaw('date')) : null; $query = "SELECT COUNT(*) FROM {$CONFIG['TABLE_PICTURES']} AS p\n INNER JOIN {$CONFIG['TABLE_ALBUMS']} AS r ON r.aid = p.aid\n {$RESTRICTEDWHERE}\n AND approved = 'YES'\n AND substring(from_unixtime(ctime),1,10) = '" . substr($date, 0, 10) . "'\n AND pid < {$pid}"; $result = cpg_db_query($query); list($pos) = mysql_fetch_row($result); mysql_free_result($result); return $pos; break; default: // Invalid/custom meta album $pos = CPGPluginAPI::filter('meta_album_get_pic_pos', $album); if (is_numeric($pos)) { return $pos; // Custom meta album } else { return FALSE; // Invalid meta album } } // switch }
function get_pic_data($album, &$count, &$album_name, $limit1 = -1, $limit2 = -1, $set_caption = true) { global $USER, $xoopsModuleConfig, $ALBUM_SET, $CURRENT_CAT_NAME, $HTML_SUBST, $THEME_DIR; global $GLOBALS; global $xoopsDB, $xoopsModule, $xoopsConfig; $myts =& MyTextSanitizer::getInstance(); // MyTextSanitizer object $sort_array = array('na' => 'filename ASC', 'nd' => 'filename DESC', 'da' => 'pid ASC', 'dd' => 'pid DESC'); $sort_code = isset($USER['sort']) ? $USER['sort'] : $xoopsModuleConfig['default_sort_order']; $sort_order = isset($sort_array[$sort_code]) ? $sort_array[$sort_code] : $sort_array[$xoopsModuleConfig['default_sort_order']]; $limit = $limit1 != -1 ? ' LIMIT ' . $limit1 : ''; $limit .= $limit2 != -1 ? ' ,' . $limit2 : ''; if ($limit2 == 1) { $select_columns = '*'; } else { $select_columns = 'pid, filepath, filename, url_prefix, filesize, pwidth, pheight, ctime'; } // Regular albums if (is_numeric($album)) { $album_name = get_album_name($album); $approved = GALLERY_ADMIN_MODE ? '' : 'AND approved=\'YES\''; $result = $xoopsDB->query("SELECT count(*) from " . $xoopsDB->prefix("xcgal_pictures") . " WHERE aid='{$album}' {$approved} {$ALBUM_SET}"); $nbEnr = $xoopsDB->fetchArray($result); $count = $nbEnr['count(*)']; $xoopsDB->freeRecordSet($result); if ($select_columns != '*') { $select_columns .= ', title, caption, owner_id'; } $result = $xoopsDB->query("SELECT {$select_columns} from " . $xoopsDB->prefix("xcgal_pictures") . " WHERE aid='{$album}' {$approved} {$ALBUM_SET} ORDER BY {$sort_order} {$limit}"); $rowset = db_fetch_rowset($result); $xoopsDB->freeRecordSet($result); // Set picture caption if ($set_caption) { foreach ($rowset as $key => $row) { $caption = $rowset[$key]['title'] ? "<span class=\"thumb_title\">" . $rowset[$key]['title'] . "</span>" : ''; if ($xoopsModuleConfig['caption_in_thumbview']) { $caption .= $rowset[$key]['caption'] ? "<span class=\"thumb_caption\">" . $myts->makeTareaData4Show($rowset[$key]['caption'], 0) . "</span>" : ''; } if ($xoopsModuleConfig['display_comment_count']) { $comments_nr = xoops_comment_count($xoopsModule->mid(), $row['pid']); if ($comments_nr > 0) { $caption .= "<span class=\"thumb_num_comments\">" . sprintf(_MD_FUNC_COM, $comments_nr) . "</span>"; } } $rowset[$key]['caption_text'] = $caption; } } return $rowset; } // Meta albums switch ($album) { case 'lastcom': // Last comments if ($ALBUM_SET && $CURRENT_CAT_NAME) { $album_name = $album_name = _MD_LASTCOM . ' - ' . $CURRENT_CAT_NAME; } else { $album_name = _MD_LASTCOM; } $result = $xoopsDB->query("SELECT count(*) from " . $xoopsDB->prefix("xoopscomments") . ", " . $xoopsDB->prefix("xcgal_pictures") . " WHERE com_modid = " . $xoopsModule->mid() . " AND approved='YES' AND com_itemid = pid {$ALBUM_SET}"); $nbEnr = $xoopsDB->fetchArray($result); $count = $nbEnr['count(*)']; $xoopsDB->freeRecordSet($result); if ($select_columns != '*') { $select_columns = $select_columns . ', com_id, com_uid,com_itemid,com_rootid, com_exparams, com_created, com_title'; } include_once XOOPS_ROOT_PATH . "/include/comment_constants.php"; $result = $xoopsDB->query("SELECT {$select_columns} FROM " . $xoopsDB->prefix("xoopscomments") . ", " . $xoopsDB->prefix("xcgal_pictures") . " WHERE com_modid = " . $xoopsModule->mid() . " AND approved = 'YES' AND pid = com_itemid AND com_status=" . XOOPS_COMMENT_ACTIVE . " {$ALBUM_SET} ORDER by com_id DESC {$limit}"); $rowset = db_fetch_rowset($result); $xoopsDB->freeRecordSet($result); $member_handler =& xoops_gethandler('member'); $comment_config = $xoopsModule->getInfo('comments'); if ($set_caption) { foreach ($rowset as $key => $row) { if ($row['com_uid'] > 0) { $poster =& $member_handler->getUser($row['com_uid']); if (is_object($poster)) { $posters = '<a href="' . XOOPS_URL . '/userinfo.php?uid=' . $row['com_uid'] . '">' . $poster->getVar('uname') . '</a>'; } else { $posters = $GLOBALS['xoopsConfig']['anonymous']; } } else { $posters = $GLOBALS['xoopsConfig']['anonymous']; } $comtitle = '<a href="' . XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/' . $comment_config['pageName'] . '?' . $comment_config['itemName'] . '=' . $row['com_itemid'] . '&com_id=' . $row['com_id'] . '&com_rootid=' . $row['com_rootid'] . '&com_mode=flat&' . $row['com_exparams'] . '#comment' . $row['com_id'] . '">' . $row['com_title'] . '</a>'; $caption = "<span class=\"thumb_title\">" . $posters . '</span>' . "<span class=\"thumb_caption\">" . formatTimestamp($row['com_created'], 'm') . '</span>' . "<span class=\"thumb_caption\">" . $comtitle . '</span>'; $rowset[$key]['caption_text'] = $caption; } } return $rowset; break; case 'lastup': // Last uploads if ($ALBUM_SET && $CURRENT_CAT_NAME) { $album_name = _MD_LASTUP . ' - ' . $CURRENT_CAT_NAME; } else { $album_name = _MD_LASTUP; } $result = $xoopsDB->query("SELECT count(*) from " . $xoopsDB->prefix("xcgal_pictures") . " WHERE approved = 'YES' {$ALBUM_SET}"); $nbEnr = $xoopsDB->fetchArray($result); $count = $nbEnr['count(*)']; $xoopsDB->freeRecordSet($result); if ($select_columns != '*') { $select_columns .= ', owner_id'; } $result = $xoopsDB->query("SELECT {$select_columns} FROM " . $xoopsDB->prefix("xcgal_pictures") . " WHERE approved = 'YES' {$ALBUM_SET} ORDER BY pid DESC {$limit}"); $rowset = db_fetch_rowset($result); $xoopsDB->freeRecordSet($result); if ($set_caption) { foreach ($rowset as $key => $row) { $user_handler =& xoops_gethandler('member'); $pic_owner =& $user_handler->getUser($row['owner_id']); if (is_object($pic_owner)) { $user_link = '<br /><a href ="' . XOOPS_URL . '/userinfo.php?uid=' . $pic_owner->uid() . '">' . $pic_owner->uname() . '</a>'; } else { $user_link = ''; } $caption = "<span class=\"thumb_caption\">" . formatTimestamp($row['ctime'], 'm') . $user_link . '</span>'; $rowset[$key]['caption_text'] = $caption; } } return $rowset; break; case 'topn': // Most viewed pictures if ($ALBUM_SET && $CURRENT_CAT_NAME) { $album_name = _MD_TOPN . ' - ' . $CURRENT_CAT_NAME; } else { $album_name = _MD_TOPN; } $result = $xoopsDB->query("SELECT count(*) from " . $xoopsDB->prefix("xcgal_pictures") . " WHERE approved = 'YES' AND hits > 0 {$ALBUM_SET}"); $nbEnr = $xoopsDB->fetchArray($result); $count = $nbEnr['count(*)']; $xoopsDB->freeRecordSet($result); if ($select_columns != '*') { $select_columns .= ', hits'; } $result = $xoopsDB->query("SELECT {$select_columns} FROM " . $xoopsDB->prefix("xcgal_pictures") . " WHERE approved = 'YES' AND hits > 0 {$ALBUM_SET} ORDER BY hits DESC, ctime, mtime {$limit}"); $rowset = db_fetch_rowset($result); $xoopsDB->freeRecordSet($result); if ($set_caption) { foreach ($rowset as $key => $row) { $caption = "<span class=\"thumb_caption\">" . sprintf(_MD_FUNC_VIEW, $row['hits']) . '</span>'; $rowset[$key]['caption_text'] = $caption; } } return $rowset; break; case 'toprated': // Top rated pictures if ($ALBUM_SET && $CURRENT_CAT_NAME) { $album_name = _MD_TOPRATED . ' - ' . $CURRENT_CAT_NAME; } else { $album_name = _MD_TOPRATED; } $result = $xoopsDB->query("SELECT count(*) from " . $xoopsDB->prefix("xcgal_pictures") . " WHERE approved = 'YES' AND votes >= '{$xoopsModuleConfig['min_votes_for_rating']}' {$ALBUM_SET}"); $nbEnr = $xoopsDB->fetchArray($result); $count = $nbEnr['count(*)']; $xoopsDB->freeRecordSet($result); if ($select_columns != '*') { $select_columns .= ', pic_rating, votes'; } $result = $xoopsDB->query("SELECT {$select_columns} FROM " . $xoopsDB->prefix("xcgal_pictures") . " WHERE approved = 'YES' AND votes >= '{$xoopsModuleConfig['min_votes_for_rating']}' {$ALBUM_SET} ORDER BY ROUND((pic_rating+1)/2000) DESC, votes DESC {$limit}"); $rowset = db_fetch_rowset($result); $xoopsDB->freeRecordSet($result); if ($set_caption) { foreach ($rowset as $key => $row) { if (defined('THEME_HAS_RATING_GRAPHICS')) { $prefix = $THEME_DIR; } else { $prefix = ''; } $caption = "<span class=\"thumb_caption\">" . '<img src="' . $prefix . 'images/rating' . round($row['pic_rating'] / 2000) . '.gif" align="middle" alt=""/>' . '<br />' . sprintf(_MD_FUNC_VOTE, $row['votes']) . '</span>'; $rowset[$key]['caption_text'] = $caption; } } return $rowset; break; case 'lasthits': // Last viewed pictures if ($ALBUM_SET && $CURRENT_CAT_NAME) { $album_name = _MD_LASTHITS . ' - ' . $CURRENT_CAT_NAME; } else { $album_name = _MD_LASTHITS; } $result = $xoopsDB->query("SELECT count(*) from " . $xoopsDB->prefix("xcgal_pictures") . " WHERE approved = 'YES' {$ALBUM_SET}"); $nbEnr = $xoopsDB->fetchArray($result); $count = $nbEnr['count(*)']; $xoopsDB->freeRecordSet($result); if ($select_columns != '*') { $select_columns .= ', mtime'; } $result = $xoopsDB->query("SELECT {$select_columns} FROM " . $xoopsDB->prefix("xcgal_pictures") . " WHERE approved = 'YES' {$ALBUM_SET} ORDER BY mtime DESC {$limit}"); $rowset = db_fetch_rowset($result); $xoopsDB->freeRecordSet($result); if ($set_caption) { foreach ($rowset as $key => $row) { $caption = "<span class=\"thumb_caption\">" . formatTimestamp($row['mtime'], 'm') . '</span>'; $rowset[$key]['caption_text'] = $caption; } } return $rowset; break; case 'random': // Random pictures if ($ALBUM_SET && $CURRENT_CAT_NAME) { $album_name = _MD_RANDOM . ' - ' . $CURRENT_CAT_NAME; } else { $album_name = _MD_RANDOM; } $result = $xoopsDB->query("SELECT count(*) from " . $xoopsDB->prefix("xcgal_pictures") . " WHERE approved = 'YES' {$ALBUM_SET}"); $nbEnr = $xoopsDB->fetchArray($result); $pic_count = $nbEnr['count(*)']; $xoopsDB->freeRecordSet($result); // if we have more than 1000 pictures, we limit the number of picture returned // by the SELECT statement as ORDER BY RAND() is time consuming if ($pic_count > 1000) { $result = $xoopsDB->query("SELECT count(*) from " . $xoopsDB->prefix("xcgal_pictures") . " WHERE approved = 'YES'"); $nbEnr = $xoopsDB->fetchArray($result); $total_count = $nbEnr['count(*)']; $xoopsDB->freeRecordSet($result); $granularity = floor($total_count / RANDPOS_MAX_PIC); $cor_gran = ceil($total_count / $pic_count); srand(time()); for ($i = 1; $i <= $cor_gran; $i++) { $random_num_set = rand(0, $granularity) . ', '; } $random_num_set = substr($random_num_set, 0, -2); $result = $xoopsDB->query("SELECT {$select_columns} FROM " . $xoopsDB->prefix("xcgal_pictures") . " WHERE randpos IN ({$random_num_set}) AND approved = 'YES' {$ALBUM_SET} ORDER BY RAND() LIMIT {$limit2}"); } else { $result = $xoopsDB->query("SELECT {$select_columns} FROM " . $xoopsDB->prefix("xcgal_pictures") . " WHERE approved = 'YES' {$ALBUM_SET} ORDER BY RAND() LIMIT {$limit2}"); } $rowset = array(); while ($row = $xoopsDB->fetchArray($result)) { $row['caption_text'] = ''; $rowset[-$row['pid']] = $row; } $xoopsDB->freeRecordSet($result); return $rowset; break; case 'search': // Search results if (isset($USER['search'])) { $search_string = $USER['search']; } else { $search_string = ''; } if (substr($search_string, 0, 3) == '###') { $query_all = 1; $search_string = substr($search_string, 3); } else { $query_all = 0; } if ($ALBUM_SET && $CURRENT_CAT_NAME) { $album_name = _MD_SEARCH . ' - ' . $CURRENT_CAT_NAME; } else { $album_name = _MD_SEARCH . ' - "' . $search_string . '"'; } //var_dump(htmlspecialchars($search_string)); //$search_string = utf8Encode($search_string); include 'include/search.inc.php'; return $rowset; break; case 'usearch': // User pics search results if (isset($USER['suid']) && $USER['suid'] > 0) { $owner = new XoopsUser($USER['suid']); $album_name = _MD_USEARCH . $owner->uname(); } else { $album_name = 'Pics submitted by ' . $xoopsConfig['anonymous']; } $result = $xoopsDB->query("SELECT count(*) from " . $xoopsDB->prefix("xcgal_pictures") . " WHERE approved = 'YES' AND owner_id = '{$USER['suid']}' {$ALBUM_SET}"); $nbEnr = $xoopsDB->fetchArray($result); $count = $nbEnr['count(*)']; $xoopsDB->freeRecordSet($result); if ($select_columns != '*') { $select_columns .= ', pic_rating, votes'; } $result = $xoopsDB->query("SELECT {$select_columns} FROM " . $xoopsDB->prefix("xcgal_pictures") . " WHERE approved = 'YES' AND owner_id = '{$USER['suid']}' {$ALBUM_SET} ORDER BY ctime DESC {$limit}"); $rowset = db_fetch_rowset($result); $xoopsDB->freeRecordSet($result); if ($set_caption) { foreach ($rowset as $key => $row) { $caption = "<span class=\"thumb_caption\">" . formatTimestamp($row['ctime'], 'm') . "</span>"; $rowset[$key]['caption_text'] = $caption; } } return $rowset; break; case 'mostsend': // Top rated pictures if ($ALBUM_SET && $CURRENT_CAT_NAME) { $album_name = _MD_MOST_SENT . ' - ' . $CURRENT_CAT_NAME; } else { $album_name = _MD_MOST_SENT; } $result = $xoopsDB->query("SELECT count(*) from " . $xoopsDB->prefix("xcgal_pictures") . " WHERE approved = 'YES' AND sent_card > 0 {$ALBUM_SET}"); $nbEnr = $xoopsDB->fetchArray($result); $count = $nbEnr['count(*)']; $xoopsDB->freeRecordSet($result); if ($select_columns != '*') { $select_columns .= ', sent_card'; } $result = $xoopsDB->query("SELECT {$select_columns} FROM " . $xoopsDB->prefix("xcgal_pictures") . " WHERE approved = 'YES' AND sent_card >0 {$ALBUM_SET} ORDER BY sent_card DESC {$limit}"); $rowset = db_fetch_rowset($result); $xoopsDB->freeRecordSet($result); if ($set_caption) { foreach ($rowset as $key => $row) { $caption = "<span class=\"thumb_caption\">" . sprintf(_MD_FUNC_SEND, $row['sent_card']) . '</span>'; $rowset[$key]['caption_text'] = $caption; } } return $rowset; break; default: // Invalid meta album redirect_header('index.php', 2, _MD_NON_EXIST_AP); } }
//Set the album to last uploaded $album = 'lastup'; } //If the album is not set set it to lastup - this is the default if (!isset($album)) { $album = 'lastup'; } if (isset($_GET['cat']) && $_GET['cat'] > 0) { $cat = $_GET['cat']; $album_name_keyword = easyrss_get_cat_name($cat); $CURRENT_CAT_NAME = $album_name_keyword['name']; get_meta_album_set($cat, $META_ALBUM_SET); } if (isset($_GET['cat']) && $_GET['cat'] < 0) { $cat = $_GET['cat']; $album_name_keyword = get_album_name(-$cat); $CURRENT_CAT_NAME = $album_name_keyword['title']; $META_ALBUM_SET = "AND aid IN (" . -$cat . ")" . $ALBUM_SET; } //Changes these to point to your site if the following is not giving correct results. $link_url = $CONFIG['ecards_more_pic_target'] . "displayimage.php?pos=-"; $image_url = $CONFIG['ecards_more_pic_target'] . "albums/"; $META_ALBUM_SET .= $forbidden_set_string; $data = get_pic_data($album, $thumb_count, $album_name, $lower_limit, $thumb_per_page); header("content-type: text/xml"); //maybe you must change the encoding to iso-8859-1. $rssHeader = <<<EOT <?xml version="1.0" encoding="iso-8859-7"?> <rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"
function rss20() { global $CONFIG, $result, $base, $gallery_name, $pic_data, $album, $album_name, $CURRENT_CAT_NAME; $superCage = Inspekt::makeSuperCage(); // Decide what kind of title to be shown if ((int) $album) { $title = " | Album: {$album_name}"; } elseif ($superCage->get->testInt('cat')) { if (strip_tags($album_name)) { $title = ' | ' . strip_tags($album_name); } if ($superCage->get->getInt('cat') < 0) { $albumDetails = get_album_name(-$superCage->get->getInt('cat')); $title .= " | Album: {$albumDetails['title']}"; } } elseif ($album) { $title = ' | ' . strip_tags($album_name); } print "<?xml version=\"1.0\" encoding=\"{$CONFIG['charset']}\"?>\n"; print "<rss version=\"2.0\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\">"; print "<channel>\n"; print "<title>{$gallery_name}{$title}</title>\n"; print "<link>{$base}</link>\n"; print "<description>" . $CONFIG['gallery_description'] . "</description>\n"; print "<language>en-US</language>\n"; print "<lastBuildDate>" . lmdate(time()) . "</lastBuildDate>\n"; print "<generator>Coppermine RSS Aggregator</generator>\n\n"; foreach ($pic_data as $row) { $title = $row['title'] ? $row['title'] : $row['filename']; print "\t<item>\n"; print "\t\t<title>" . htmlspecialchars($title, ENT_COMPAT, $CONFIG['charset']) . "</title>\n"; print "\t\t<link>{$base}/displayimage.php?pid={$row['pid']}</link>\n"; print "\t\t<dc:creator>{$row['owner_name']}</dc:creator>\n"; print "\t\t<pubDate>" . lmdate($row['ctime']) . "</pubDate>\n"; print "\t\t<description>"; echo htmlspecialchars("<p><a href=\"{$base}/displayimage.php?pid={$row['pid']}\"><img src=\"{$base}/" . get_pic_url($row, 'thumb') . "\" alt=\"{$row['filename']}\" /></a></p>", ENT_COMPAT, $CONFIG['charset']); echo htmlspecialchars("<p>" . bb_decode($row['caption']) . " </p>", ENT_COMPAT, $CONFIG['charset']); echo htmlspecialchars("<p>" . bb_decode($row['keywords']) . "</p>", ENT_COMPAT, $CONFIG['charset']); if (isset($row['msg_body']) && !empty($row['msg_body'])) { // We have comment for the photo. Must be lastcom metaalbum feed. Display the comment echo htmlspecialchars("<p><b>Comment:</b> (<i>" . date('Y-m-d H:m:s', $row['msg_date']) . "</i>) - {$row['msg_author']}</p>", ENT_COMPAT, $CONFIG['charset']); if ($CONFIG['enable_smilies']) { include_once "include/smilies.inc.php"; $row['msg_body'] = process_smilies($row['msg_body']); } echo htmlspecialchars("<p>" . bb_decode($row['msg_body']) . " </p>", ENT_COMPAT, $CONFIG['charset']); } print "</description>\n"; print "\t\t<guid>{$base}/displayimage.php?pid={$row['pid']}</guid>\n"; print "\t</item>\n"; print "\n"; } print "</channel>"; print "</rss>"; }
function easyrss_footer($html) { global $CONFIG, $lang_plugin_easyrss; require 'plugins/easy_rss/include/init.inc.php'; if (($CONFIG['plugin_easyrss_showrss'] || $CONFIG['plugin_easyrss_showgoogle']) && in_array($_SERVER[SCRIPT_NAME], array('index.php', 'thumbnails.php', 'displayimage.php'))) { global $CONFIG; $album = $_GET['album']; $cat = $_GET['cat']; $feed = str_replace("http://", "", $CONFIG[ecards_more_pic_target]) . "rss.php"; if ($album) { $feed .= "?album=" . $album; } else { $feed .= "?album=lastup"; } if ($cat) { if ($cat > 10000) { $feed .= "?album=lastupby&uid=" . ($cat - 10000); } else { $feed .= "&cat=" . $cat; } } $html .= "<center>\n"; if ($CONFIG['plugin_easyrss_showrss']) { $html .= '<img src="images/spacer.gif" border=0 width=12 height=17>'; $rss_ico = '<a href="http://' . $feed . '">'; $rss_ico .= '<img src="plugins/easy_rss/rss.gif" border=0 alt="' . $lang_plugin_easyrss['alt_rss_feed'] . '"></a>'; $html .= "{$rss_ico}\n"; $html .= '<img src="images/spacer.gif" border=0 width=12 height=17>'; } if ($CONFIG['plugin_easyrss_showgoogle']) { $html .= '<img src="images/spacer.gif" border=0 width=12 height=17>'; $goog_ico = '<a href="http://fusion.google.com/add?feedurl='; $goog_ico .= 'http%3A//' . $feed; $goog_ico .= '"><img src="http://buttons.googlesyndication.com/fusion/add.gif" width="104" height="17" border="0" alt="' . $lang_plugin_easyrss['alt_google'] . '"></a>'; $html .= "{$goog_ico}\n"; $html .= '<img src="images/spacer.gif" border=0 width=12 height=17>'; } if ($CONFIG['plugin_easyrss_showyahoo']) { $html .= '<img src="images/spacer.gif" border=0 width=12 height=17>'; $name = ""; if (is_numeric($album)) { $name = get_album_name($album); $name = $CONFIG[gallery_name] . " - " . $name['title']; } else { if (isset($cat) && $cat > 0) { if ($cat < 10000) { $name = easyrss_get_cat_name($cat); $name = $CONFIG[gallery_name] . " - " . $name['name']; } else { $name = $CONFIG[gallery_name] . " - " . get_username($cat - 10000); } } else { $name = $CONFIG[gallery_name]; } } $yahoo_ico = '<a href="http://us.rd.yahoo.com/my/atm/'; $yahoo_ico .= $CONFIG[gallery_name] . '/'; $yahoo_ico .= $name; $yahoo_ico .= '/*http://add.my.yahoo.com/rss?url=http%3A//'; $yahoo_ico .= $feed; $yahoo_ico .= '"><img src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif" width="91" height="17" border="0" alt="' . $lang_plugin_easyrss['alt_yahoo'] . '"></a>'; $html .= "{$yahoo_ico}\n"; $html .= '<img src="images/spacer.gif" border=0 width=12 height=17>'; } $html .= "</center>\n"; } return $html; }