Changeset 313
- Timestamp:
- 03/24/08 16:27:52 (8 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/luxbum-0.6/_fonctions/class/luxbumindex.class.php
r275 r313 1 <?php 1 <?php 2 2 3 3 //============================================================================== … … 15 15 var $sortOrder; 16 16 var $dir; 17 17 18 18 function luxBumIndex ($photoDir = '') { 19 19 if ($photoDir != PHOTOS_DIR) { … … 23 23 $this->_loadSort (); 24 24 } 25 26 25 26 27 27 /**-----------------------------------------------------------------------**/ 28 28 /** Getter et setter */ … … 35 35 $this->sortType = $sortType; 36 36 } 37 37 38 38 /** 39 39 * Retourne le type de tri de l'index … … 43 43 return $this->sortType; 44 44 } 45 45 46 46 /** 47 47 * Affecte le sens du tri (asc / desc) … … 51 51 $this->sortOrder = $sortOrder; 52 52 } 53 53 54 54 /** 55 55 * Retourne le sens du tri … … 65 65 function getGalleryCount () { 66 66 return count ($this->galleryList); 67 } 68 69 /** 70 * Retourne la position d'une galerie dans l'index 71 */ 72 function getIndex($dir) { 73 for ($i = 0 ; $i < count($this->galleryList) ; $i++) { 74 $gal = $this->galleryList[$i]; 75 if ($gal->getName() == $dir) { 76 return $i; 77 } 78 } 79 return -1; 67 80 } 68 81 … … 86 99 } 87 100 88 89 90 101 /** 91 102 * Remplit la liste de toutes les galeries … … 98 109 } 99 110 $this->_loadSort(); 100 101 // Lecture de tous les dossiers de photos 111 112 // Lecture de tous les dossiers de photos 102 113 if ($dir_fd = opendir ($this->photoDir)) { 103 114 $i = 0; 104 115 105 116 while ($current_dir = readdir ($dir_fd)) { 106 117 107 118 // Lecture de tous les dossiers 108 119 if ($current_dir[0] != '.' && is_dir ($this->getDirPath ($current_dir)) … … 111 122 $trouve = false; 112 123 $apercu_fd = opendir ($this->getDirPath ($current_dir)); 113 124 114 125 // Au moins une image dans la galerie ? 115 126 while (!$trouve && $current_file = readdir ($apercu_fd)) { … … 119 130 } 120 131 closedir ($apercu_fd); 121 132 122 133 if ($trouve == true || ($minImage == 0 && $trouve == false)) { 123 134 $this->addGallery ($current_dir); … … 130 141 } 131 142 } 132 143 133 144 /**-----------------------------------------------------------------------**/ 134 145 /** Fonctions de tri */ … … 150 161 $realkey = null; 151 162 $i = 0; 152 163 153 164 foreach ($galleryList as $gallery) { 154 165 switch ($sortType) { … … 170 181 } 171 182 else { 172 // Suffixe avec le nom de la galerie au cas où 173 // il y aurait des clés identiques !!! 183 // Suffixe avec le nom de la galerie au cas où 184 // il y aurait des clés identiques !!! 174 185 // (ce qui arrive souvent, même size|count, ordre non défini) 175 186 $realkey .= '_'.$gallery->getName(); … … 178 189 $i++; 179 190 } 180 181 // Now natcase sort the array based on the keys 191 192 // Now natcase sort the array based on the keys 182 193 uksort ($newImageArray, "strnatcasecmp"); 183 194 uksort ($newImageArrayFailed, "strnatcasecmp"); 184 195 185 196 // Inverse l'ordre si ordre décroissant 186 197 if ($sortOrder == 'desc') { … … 188 199 $newImageArrayFailed = array_reverse ($newImageArrayFailed); 189 200 } 190 201 191 202 // Return a new array with just the values 192 203 $newImageArray = array_values($newImageArray); … … 194 205 return array_merge($newImageArray, $newImageArrayFailed); 195 206 } 196 207 197 208 /** 198 209 * Enregistre les préférences de tri dans un fichier de format : … … 216 227 } 217 228 } 218 229 219 230 /** 220 231 * Charge l'ordre des photos … … 236 247 } 237 248 } 249 250 /** 251 * Renome une galerie présente dans l'index. Sert à préserver l'ordre définit manuellement 252 */ 253 function renameGallery($oldName, $newGallery) { 254 $index = $this->getIndex($oldName); 255 if ($index != -1) { 256 $newGallery->setSortPosition($this->galleryList[$index]->getSortPosition()); 257 $this->galleryList[$index] = $newGallery; 258 259 $newSort = array(); 260 foreach ($this->sortList as $key => $value) { 261 if ($key == $oldName) { 262 $key = $newGallery->getName(); 263 } 264 $newSort[$key] = $value; 265 } 266 unset($this->sortList); 267 $this->sortList = $newSort; 268 269 $this->saveSort(); 270 } 271 } 238 272 } 273 239 274 ?> branches/luxbum-0.6/_fonctions_manager/liste_galeries.php
r306 r313 138 138 } 139 139 else { 140 $nuxIndex->renameGallery($dir, $galRename); 140 141 unset ($nuxIndex); 141 142 $nuxIndex = new luxBumIndex ('');
