/** * build_caption() * * @param array $rowset by reference * @param array $must_have **/ function build_caption(&$rowset, $must_have = array()) { global $CONFIG, $THEME_DIR; 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; foreach ($rowset as $key => $row) { $caption = ''; if ($CONFIG['display_filename']) { $caption .= '<span class="thumb_filename">' . $row['filename'] . '</span>'; } $caption .= $row['title'] ? '<span class="thumb_title">' . $row['title'] . '</span>' : ''; if ($CONFIG['views_in_thumbview'] || in_array('hits', $must_have)) { $caption .= '<span class="thumb_title">' . sprintf($lang_get_pic_data['n_views'], $row['hits']) . '</span>'; } if ($CONFIG['caption_in_thumbview']) { $caption .= $row['caption'] ? "<span class=\"thumb_caption\">" . strip_tags(bb_decode($row['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 .= $row['owner_id'] && $row['owner_name'] ? '<span class="thumb_title"><a href ="profile.php?uid=' . $row['owner_id'] . '">' . $row['owner_name'] . '</a></span>' : ''; } if (in_array('msg_date', $must_have)) { $caption .= '<span class="thumb_caption">' . localised_date($row['msg_date'], $lastcom_date_fmt) . '</span>'; } if (in_array('msg_body', $must_have)) { $msg_body = strip_tags(bb_decode($row['msg_body'])); // I didn't want to fully bb_decode the message where report to admin isn't available. -donnoman $msg_body = utf_strlen($msg_body) > 50 ? utf_substr($msg_body, 0, 50) . '...' : $msg_body; if ($CONFIG['enable_smilies']) { $msg_body = process_smilies($msg_body); } if ($row['author_id']) { $caption .= '<span class="thumb_caption"><a href ="profile.php?uid=' . $row['author_id'] . '">' . $row['msg_author'] . '</a>: ' . $msg_body . '</span>'; } else { $caption .= '<span class="thumb_caption">' . $row['msg_author'] . ': ' . $msg_body . '</span>'; } } if (in_array('ctime', $must_have)) { $caption .= '<span class="thumb_caption">' . localised_date($row['ctime'], $lastup_date_fmt) . '</span>'; } if (in_array('pic_rating', $must_have)) { 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" alt=""/>' . '<br />' . sprintf($lang_get_pic_data['n_votes'], $row['votes']) . '</span>'; } if (in_array('mtime', $must_have)) { $caption .= "<span class=\"thumb_caption\">" . localised_date($row['mtime'], $lasthit_date_fmt); if (GALLERY_ADMIN_MODE) { $caption .= "<br/>" . $row['lasthit_ip']; } $caption .= '</span>'; } $rowset[$key]['caption_text'] = $caption; } $rowset = CPGPluginAPI::filter('thumb_caption', $rowset); }
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__); } }
/** * build_caption() * * @param array $rowset by reference * @param array $must_have **/ function build_caption(&$rowset, $must_have = array(), $mode = 'files') { global $CONFIG, $THEME_DIR, $lang_date, $lang_get_pic_data, $cpg_udb; foreach ($rowset as $key => $row) { $caption = ''; if ($CONFIG['display_filename']) { $caption .= '<span class="thumb_filename">' . $row['filename'] . '</span>'; } if (!empty($row['title'])) { $caption .= '<span class="thumb_title thumb_title_title">' . $row['title'] . '</span>'; } if ($CONFIG['views_in_thumbview'] || in_array('hits', $must_have)) { $views = $mode == 'albums' ? $row['alb_hits'] : $row['hits']; $caption .= '<span class="thumb_title thumb_title_views">' . sprintf($lang_get_pic_data['n_views'], $views) . '</span>'; } if ($CONFIG['caption_in_thumbview'] && !empty($row['caption'])) { $caption .= '<span class="thumb_caption thumb_caption_caption">' . strip_tags(bb_decode($row['caption'])) . '</span>'; } if ($CONFIG['display_comment_count'] && $row['pid']) { $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']) { if ($row['owner_id']) { $caption .= '<span class="thumb_title thumb_title_owner"><a href="profile.php?uid=' . $row['owner_id'] . '">' . $cpg_udb->get_user_name($row['owner_id']) . '</a></span>'; } } if (in_array('msg_date', $must_have)) { $caption .= '<span class="thumb_caption thumb_caption_msg_date">' . localised_date($row['msg_date'], $lang_date['lastcom']) . '</span>'; } if (in_array('msg_body', $must_have)) { $msg_body = strip_tags(bb_decode($row['msg_body'])); // I didn't want to fully bb_decode the message where report to admin isn't available. -donnoman $msg_body = utf_strlen($msg_body) > 50 ? utf_substr($msg_body, 0, 50) . '...' : $msg_body; if ($CONFIG['enable_smilies']) { $msg_body = process_smilies($msg_body); } if ($row['author_id']) { $caption .= '<span class="thumb_caption thumb_caption_author"><a href="profile.php?uid=' . $row['author_id'] . '">' . $row['msg_author'] . '</a>: ' . $msg_body . '</span>'; } else { $caption .= '<span class="thumb_caption thumb_caption_author">' . $row['msg_author'] . ': ' . $msg_body . '</span>'; } } if (in_array('ctime', $must_have)) { $caption .= '<span class="thumb_caption thumb_caption_ctime">' . localised_date($row['ctime'], $lang_date['lastup']) . '</span>'; } if (in_array('pic_rating', $must_have)) { if (defined('THEME_HAS_RATING_GRAPHICS')) { $prefix = $THEME_DIR; } else { $prefix = ''; } //calculate required amount of stars in picinfo $rating = round($row['pic_rating'] / 2000 / (5 / $CONFIG['rating_stars_amount'])); $rating_images = ''; for ($i = 1; $i <= $CONFIG['rating_stars_amount']; $i++) { if ($i <= $rating) { $rating_images .= '<img src="' . $prefix . 'images/rate_full.png" alt="' . $rating . '"/>'; } else { $rating_images .= '<img src="' . $prefix . 'images/rate_empty.png" alt="' . $rating . '"/>'; } } $caption .= '<span class="thumb_caption thumb_caption_rating">' . $rating_images . '<br />' . sprintf($lang_get_pic_data['n_votes'], $row['votes']) . '</span>'; } if (in_array('mtime', $must_have)) { $caption .= '<span class="thumb_caption thumb_caption_mtime">' . localised_date($row['mtime'], $lang_date['lasthit']); if (GALLERY_ADMIN_MODE) { $caption .= '<br />' . $row['lasthit_ip']; } $caption .= '</span>'; } $rowset[$key]['caption_text'] = $caption; } $rowset = CPGPluginAPI::filter('thumb_caption', $rowset); }