Hallo,
ich habe eine Gallerie in Verwendung, welche mit diesem Ausschnitt die Sortierung der Bilder bestimmt. Wie kann ich die Bilder per "Tag" sortieren lassen (Zeile 39 / 40)? Reicht der Code als Ausschnitt, um dies genau zu sagen? Ich habe bisher keine Möglichkeit gefunden.
PHP-Code:
public function getUserItemsListing($cur_page = 1, $userID = false) {
if ($cur_page > 0)
$cur_page--; elseif ($cur_page == 0)
$cur_page = 1;
if ($userID == false)
$images_per_page = RGALLERY_IMAGES_PER_USER_PAGE; else
$images_per_page = RGALLERY_IMAGES_PER_PAGE;
$start = $cur_page * $images_per_page;
if ($userID == true)
$other_user = 1; else
$other_user = 0;
if ($userID == false)
$userID = WBBCore::getUser()->userID;
$userID = RGallerySystem::prepInput($userID);
$add_sql = '';
if (RGallerySystem::getCurrentCategorie('user_cat'))
$add_sql .= " AND ic.catID=" . RGallerySystem::getCurrentCategorie('user_cat');
if (defined('ACTIVE_TAG')) {
$active_tag_id = RGallerySystem::getTagId(ACTIVE_TAG);
$add_sql .= " AND it.tagID='" . $active_tag_id . "'";
}
if ($other_user) {
$add_sql = ''; // we don't want to sort after categories, tags in the users profile
}
$sql = "SELECT *
FROM
((wcf" . WCF_N . "_rGallery_items as i
LEFT JOIN wcf" . WCF_N . "_rGallery_items_tag as it
ON i.itemID = it.itemID)
INNER JOIN wcf" . WCF_N . "_rGallery_items_cat as ic
on i.itemID = ic.itemID)
INNER JOIN wcf" . WCF_N . "_rGallery_items_owner as io
on i.itemID = io.itemID
WHERE io.ownerID=" . $userID . "
" . $add_sql . "
GROUP BY i.itemID
ORDER BY i.itemAddedDate DESC
LIMIT " . $start . ", " . $images_per_page;
$result = WCF::getDB()->sendQuery($sql);
$itemArray = array(
);
while ($row = WCF::getDB()->fetchArray($result)) {
$row['tags'] = RGallerySystem::getElementTags($row['itemID']);
$row['commentsCount'] = RGallerySystem::getElementCommentsCount($row['itemID']);
$itemArray[$row['itemID']] = $row;
}
return $itemArray;
}
Vielen Dank