From: John K. <joh...@us...> - 2001-07-31 06:52:01
|
Update of /cvsroot/gallery/gallery/classes In directory usw-pr-cvs1:/tmp/cvs-serv17884/classes Modified Files: Album.php Log Message: * Added 3 new sorting methods. 1. Sort by number of clicks 2. Sort alphabetically by Captions. 3. Sort by number of comments. Index: Album.php =================================================================== RCS file: /cvsroot/gallery/gallery/classes/Album.php,v retrieving revision 1.37 retrieving revision 1.38 diff -u -r1.37 -r1.38 --- Album.php 2001/07/25 09:09:29 1.37 +++ Album.php 2001/07/31 06:51:58 1.38 @@ -224,6 +224,39 @@ } else { $func .= "return (strcmp(\$filenameB, \$filenameA)); "; } + } else if (!strcmp($sort, "click")) { + // sort album by number of clicks + $func = "\$objA = (object)\$a; \$objB = (object)\$b; "; + $func .= "\$aClick = \$objA->getItemClicks(); "; + $func .= "\$bClick = \$objB->getItemClicks(); "; + $func .= "if (\$aClick == \$bClick) return 0; "; + if (!$order) { + $func .= "if (\$aClick < \$bClick) return -1; else return 1;"; + } else { + $func .= "if (\$aClick > \$bClick) return -1; else return 1;"; + } + + } else if (!strcmp($sort, "caption")) { + // sort album alphabetically by caption + $func = "\$objA = (object)\$a; \$objB = (object)\$b; "; + $func .= "\$captionA = \$objA->getCaption(); "; + $func .= "\$captionB = \$objB->getCaption(); "; + if (!$order) { + $func .= "return (strcmp(\$captionA, \$captionB)); "; + } else { + $func .= "return (strcmp(\$captionB, \$captionA)); "; + } + } else if (!strcmp($sort, "comment")) { + // sort by number of comments + $func = "\$objA = (object)\$a; \$objB = (object)\$b; "; + $func .= "\$numCommentsA = \$objA->numComments(); "; + $func .= "\$numCommentsB = \$objB->numComments(); "; + $func .= "if (\$numCommentsA == \$numCommentsB) return 0; "; + if (!$order) { + $func .= "if (\$numCommentsA < \$numCommentsB) return -1; else return 1;"; + } else { + $func .= "if (\$numCommentsA > \$numCommentsB) return -1; else return 1;"; + } } usort($this->photos, create_function('$a,$b', $func)); |