Changeset 25658
- Timestamp:
- Nov 23, 2013, 11:57:15 PM (10 years ago)
- Location:
- trunk/include
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/functions_category.inc.php
r25508 r25658 343 343 * 344 344 * @param string[] $permalinks 345 * @param int $idx filled with the index in $permalinks that matches345 * @param int &$idx filled with the index in $permalinks that matches 346 346 * @return int|null 347 347 */ -
trunk/include/functions_comment.inc.php
r25548 r25658 73 73 * Tries to insert a user comment and returns action to perform. 74 74 * 75 * @param array $comm75 * @param array &$comm 76 76 * @param string $key secret key sent back to the browser 77 * @param array $infos output array of error messages77 * @param array &$infos output array of error messages 78 78 * @return string validate, moderate, reject 79 79 */ -
trunk/include/functions_filter.inc.php
r25548 r25658 30 30 * Updates data of categories with filtered values 31 31 * 32 * @param array $cats32 * @param array &$cats 33 33 */ 34 34 function update_cats_with_filtered_data(&$cats) -
trunk/include/functions_notification.inc.php
r25602 r25658 362 362 * Formats a news line and adds it to the array (e.g. '5 new elements') 363 363 * 364 * @param array $news364 * @param array &$news 365 365 * @param int $count 366 366 * @param string $singular_key -
trunk/include/functions_plugins.inc.php
r25602 r25658 51 51 /** 52 52 * @param string $plugin_version 53 * @param array $errors - used to return error messages53 * @param array &$errors - used to return error messages 54 54 */ 55 55 abstract function install($plugin_version, &$errors=array()); … … 57 57 /** 58 58 * @param string $plugin_version 59 * @param array $errors - used to return error messages59 * @param array &$errors - used to return error messages 60 60 */ 61 61 abstract function activate($plugin_version, &$errors=array()); … … 120 120 /** 121 121 * @param string $theme_version 122 * @param array $errors - used to return error messages122 * @param array &$errors - used to return error messages 123 123 */ 124 124 abstract function activate($theme_version, &$errors=array()); … … 343 343 * 344 344 * @param string $plugin_id 345 * @param mixed $data345 * @param mixed &$data 346 346 * @return bool 347 347 */ -
trunk/include/functions_search.inc.php
r25026 r25658 22 22 // +-----------------------------------------------------------------------+ 23 23 24 25 /** 26 * returns search rules stored into a serialized array in "search" 24 /** 25 * @package functions\search 26 */ 27 28 29 /** 30 * Returns search rules stored into a serialized array in "search" 27 31 * table. Each search rules set is numericaly identified. 28 32 * 29 * @param int search_id33 * @param int $search_id 30 34 * @return array 31 35 */ … … 48 52 49 53 /** 50 * returns the SQL clause from a search identifier 51 * 52 * Search rules are stored in search table as a serialized array. This array 53 * need to be transformed into an SQL clause to be used in queries. 54 * 55 * @param array search 54 * Returns the SQL clause for a search. 55 * Transforms the array returned by get_search_array() into SQL sub-query. 56 * 57 * @param array $search 56 58 * @return string 57 59 */ … … 171 173 172 174 /** 173 * returns the list of items corresponding to the advanced search array 174 * 175 * @param array search 175 * Returns the list of items corresponding to the advanced search array. 176 * 177 * @param array $search 178 * @param string $images_where optional additional restriction on images table 176 179 * @return array 177 180 */ 178 function get_regular_search_results($search, $images_where )181 function get_regular_search_results($search, $images_where='') 179 182 { 180 183 global $conf; … … 247 250 } 248 251 249 252 /** 253 * Finds if a char is a letter, a figure or any char of the extended ASCII table (>127). 254 * 255 * @param char $ch 256 * @return bool 257 */ 250 258 function is_word_char($ch) 251 259 { … … 253 261 } 254 262 263 /** 264 * Finds if a char is a special token for word start: [{<=*+ 265 * 266 * @param char $ch 267 * @return bool 268 */ 255 269 function is_odd_wbreak_begin($ch) 256 270 { … … 258 272 } 259 273 274 /** 275 * Finds if a char is a special token for word end: ]}>=*+ 276 * 277 * @param char $ch 278 * @return bool 279 */ 260 280 function is_odd_wbreak_end($ch) 261 281 { … … 263 283 } 264 284 265 define('QST_QUOTED', 0x01); 266 define('QST_NOT', 0x02); 267 define('QST_WILDCARD_BEGIN',0x04); 268 define('QST_WILDCARD_END', 0x08); 285 286 define('QST_QUOTED', 0x01); 287 define('QST_NOT', 0x02); 288 define('QST_WILDCARD_BEGIN', 0x04); 289 define('QST_WILDCARD_END', 0x08); 269 290 define('QST_WILDCARD', QST_WILDCARD_BEGIN|QST_WILDCARD_END); 270 291 271 272 /** 273 * analyzes and splits the quick/query search query $q into tokens 292 /** 293 * Analyzes and splits the quick/query search query $q into tokens. 274 294 * q='john bill' => 2 tokens 'john' 'bill' 275 295 * Special characters for MySql full text search (+,<,>,~) appear in the token modifiers. 276 296 * The query can contain a phrase: 'Pierre "New York"' will return 'pierre' qnd 'new york'. 297 * 298 * @param string $q 299 * @param array &$qtokens 300 * @param array &$qtoken_modifiers 277 301 */ 278 302 function analyse_qsearch($q, &$qtokens, &$qtoken_modifiers) … … 369 393 } 370 394 371 372 /** 373 * returns the LIKE sql clause corresponding to the quick search query 374 * that has been split into tokens 395 /** 396 * Returns the LIKE SQL clause corresponding to the quick search query 397 * that has been split into tokens. 375 398 * for example file LIKE '%john%' OR file LIKE '%bill%'. 399 * 400 * @param array $tokens 401 * @param array $token_modifiers 402 * @param string $field 403 * @return string|null 376 404 */ 377 405 function get_qsearch_like_clause($tokens, $token_modifiers, $field) … … 394 422 395 423 /** 396 */ 424 * Returns tags corresponding to the quick search query that has been split into tokens. 425 * 426 * @param array $tokens 427 * @param array $token_modifiers 428 * @param array &$token_tag_ids 429 * @param array &$not_tag_ids 430 * @param array &$all_tags 431 */ 397 432 function get_qsearch_tags($tokens, $token_modifiers, &$token_tag_ids, &$not_tag_ids, &$all_tags) 398 433 { … … 547 582 usort($all_tags, 'tag_alpha_compare'); 548 583 foreach ( $all_tags as &$tag ) 584 { 549 585 $tag['name'] = trigger_event('render_tag_name', $tag['name']); 550 } 551 552 /** 553 * returns the search results corresponding to a quick/query search. 586 } 587 } 588 589 /** 590 * Returns the search results corresponding to a quick/query search. 554 591 * A quick/query search returns many items (search is not strict), but results 555 592 * are sorted by relevance unless $super_order_by is true. Returns: 556 * array ( 557 * 'items' => array(85,68,79...) 558 * 'qs' => array( 559 * 'matching_tags' => array of matching tags 560 * 'matching_cats' => array of matching categories 561 * 'matching_cats_no_images' =>array(99) - matching categories without images 562 * )) 563 * 564 * @param string q 565 * @param bool super_order_by 566 * @param string images_where optional aditional restriction on images table 593 * array ( 594 * 'items' => array of matching images 595 * 'qs' => array( 596 * 'matching_tags' => array of matching tags 597 * 'matching_cats' => array of matching categories 598 * 'matching_cats_no_images' =>array(99) - matching categories without images 599 * ) 600 * ) 601 * 602 * @param string $q 603 * @param bool $super_order_by 604 * @param string $images_where optional additional restriction on images table 567 605 * @return array 568 606 */ … … 764 802 765 803 /** 766 * returns an array of 'items' corresponding to the search id 767 * 768 * @param int search id 769 * @param string images_where optional aditional restriction on images table 804 * Returns an array of 'items' corresponding to the search id. 805 * It can be either a quick search or a regular search. 806 * 807 * @param int $search_id 808 * @param bool $super_order_by 809 * @param string $images_where optional aditional restriction on images table 770 810 * @return array 771 811 */ … … 783 823 } 784 824 } 825 785 826 ?> -
trunk/include/functions_tag.inc.php
r25018 r25658 22 22 // +-----------------------------------------------------------------------+ 23 23 24 25 /** returns the number of available tags for the connected user */ 24 /** 25 * @package functions\tag 26 */ 27 28 29 /** 30 * Returns the number of available tags for the connected user. 31 * 32 * @return int 33 */ 26 34 function get_nb_available_tags() 27 35 { … … 39 47 40 48 /** 41 * Tags available. Each return tag is represented as an array with its id, 42 * its name, its weight (count), its url name. Tags are not sorted. 43 * 44 * The returned list can be a subset of all existing tags due to 45 * permissions, only if a list of forbidden categories is provided 46 * 47 * @param array forbidden categories 48 * @return array 49 * Returns all available tags for the connected user (not sorted). 50 * The returned list can be a subset of all existing tags due to permissions, 51 * also tags with no images are not returned. 52 * 53 * @return array [id, name, counter, url_name] 49 54 */ 50 55 function get_available_tags() … … 54 59 SELECT tag_id, COUNT(DISTINCT(it.image_id)) AS counter 55 60 FROM '.IMAGE_CATEGORY_TABLE.' ic 56 INNER JOIN '.IMAGE_TAG_TABLE.' it ON ic.image_id=it.image_id'.get_sql_condition_FandF 57 ( 58 array 59 ( 60 'forbidden_categories' => 'category_id', 61 'visible_categories' => 'category_id', 62 'visible_images' => 'ic.image_id' 63 ), 64 ' 65 WHERE' 61 INNER JOIN '.IMAGE_TAG_TABLE.' it 62 ON ic.image_id=it.image_id 63 '.get_sql_condition_FandF( 64 array( 65 'forbidden_categories' => 'category_id', 66 'visible_categories' => 'category_id', 67 'visible_images' => 'ic.image_id' 68 ), 69 ' WHERE ' 66 70 ).' 67 GROUP BY tag_id'; 71 GROUP BY tag_id 72 ;'; 68 73 $tag_counters = simple_hash_from_query($query, 'tag_id', 'counter'); 69 74 … … 77 82 FROM '.TAGS_TABLE; 78 83 $result = pwg_query($query); 84 79 85 $tags = array(); 80 86 while ($row = pwg_db_fetch_assoc($result)) … … 92 98 93 99 /** 94 * All tags, even tagsassociated to no image.95 * 96 * @return array 100 * Returns all tags even associated to no image. 101 * 102 * @return array [id, name, url_name] 97 103 */ 98 104 function get_all_tags() … … 120 126 * 121 127 * The level of each tag depends on the average count of tags. This 122 * calc ylation method avoid having very different levels for tags having128 * calculation method avoid having very different levels for tags having 123 129 * nearly the same count when set are small. 124 130 * 125 * @param array tags126 * @return array 131 * @param array $tags at least [id, counter] 132 * @return array [..., level] 127 133 */ 128 134 function add_level_to_tags($tags) … … 174 180 175 181 /** 176 * return the list of image ids corresponding to given tags. AND & OR mode177 * supported.178 * 179 * @param array tagids182 * Return the list of image ids corresponding to given tags. 183 * AND & OR mode supported. 184 * 185 * @param int[] $tag_ids 180 186 * @param string mode 181 * @param string extra_images_where_sql - optionally apply a sql where filter to retrieved images 182 * @param string order_by - optionally overwrite default photo order 187 * @param string $extra_images_where_sql - optionally apply a sql where filter to retrieved images 188 * @param string $order_by - optionally overwrite default photo order 189 * @param bool $user_permissions 183 190 * @return array 184 191 */ … … 191 198 } 192 199 193 $query = 'SELECT id 200 $query = ' 201 SELECT id 194 202 FROM '.IMAGES_TABLE.' i '; 195 203 … … 230 238 231 239 /** 232 * return a list of tags corresponding to given items.233 * 234 * @param arrayitems235 * @param arraymax_tags236 * @param arrayexcluded_tag_ids237 * @return array 238 */ 239 function get_common_tags($items, $max_tags, $excluded_tag_ids= null)240 * Return a list of tags corresponding to given items. 241 * 242 * @param int[] $items 243 * @param int $max_tags 244 * @param int[] $excluded_tag_ids 245 * @return array [id, name, counter, url_name] 246 */ 247 function get_common_tags($items, $max_tags, $excluded_tag_ids=array()) 240 248 { 241 249 if (empty($items)) … … 257 265 ORDER BY '; 258 266 if ($max_tags>0) 259 { 267 { // TODO : why ORDER field is in the if ? 260 268 $query .= 'counter DESC 261 269 LIMIT '.$max_tags; … … 278 286 279 287 /** 280 * return a list of tags corresponding to any of ids, url_names, names281 * 282 * @param arrayids283 * @param arrayurl_names284 * @param arraynames285 * @return array 286 */ 287 function find_tags($ids , $url_names=array(), $names=array() )288 * Return a list of tags corresponding to any of ids, url_names or names. 289 * 290 * @param int[] $ids 291 * @param string[] $url_names 292 * @param string[] $names 293 * @return array [id, name, url_name] 294 */ 295 function find_tags($ids=array(), $url_names=array(), $names=array() ) 288 296 { 289 297 $where_clauses = array(); 290 if ( !empty($ids))298 if (!empty($ids)) 291 299 { 292 300 $where_clauses[] = 'id IN ('.implode(',', $ids).')'; 293 301 } 294 if ( !empty($url_names))302 if (!empty($url_names)) 295 303 { 296 304 $where_clauses[] = 297 'url_name IN ('. 298 implode( 299 ',', 300 array_map( 301 create_function('$s', 'return "\'".$s."\'";'), 302 $url_names 303 ) 304 ) 305 .')'; 306 } 307 if ( !empty($names) ) 305 'url_name IN (\''. implode('\', \'', $url_names) .'\')'; 306 } 307 if (!empty($names)) 308 308 { 309 309 $where_clauses[] = 310 'name IN ('. 311 implode( 312 ',', 313 array_map( 314 create_function('$s', 'return "\'".$s."\'";'), 315 $names 316 ) 317 ) 318 .')'; 310 'name IN (\''. implode('\', \'', $names) .'\')'; 319 311 } 320 312 if (empty($where_clauses)) … … 337 329 return $tags; 338 330 } 331 339 332 ?>
Note: See TracChangeset
for help on using the changeset viewer.