- Timestamp:
- Feb 11, 2014, 10:47:44 PM (10 years ago)
- Location:
- trunk/include
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/category_cats.inc.php
r26461 r27336 134 134 if ($conf['display_fromto']) 135 135 { 136 $dates_of_category = array();137 136 if (count($category_ids) > 0) 138 137 { … … 140 139 SELECT 141 140 category_id, 142 MIN(date_creation) AS date_creation_min,143 MAX(date_creation) AS date_creation_max141 MIN(date_creation) AS `from`, 142 MAX(date_creation) AS `to` 144 143 FROM '.IMAGE_CATEGORY_TABLE.' 145 144 INNER JOIN '.IMAGES_TABLE.' ON image_id = id … … 156 155 GROUP BY category_id 157 156 ;'; 158 $result = pwg_query($query); 159 while ($row = pwg_db_fetch_assoc($result)) 160 { 161 $dates_of_category[ $row['category_id'] ] = array( 162 'from' => $row['date_creation_min'], 163 'to' => $row['date_creation_max'], 164 ); 165 } 157 $dates_of_category = query2array($query, 'category_id'); 166 158 } 167 159 } -
trunk/include/dblayer/functions_mysql.inc.php
r26461 r27336 761 761 } 762 762 763 /** 764 * Builds an data array from a SQL query. 765 * Depending on $key_name and $value_name it can return : 766 * 767 * - an array of arrays of all fields (key=null, value=null) 768 * array( 769 * array('id'=>1, 'name'=>'DSC8956', ...), 770 * array('id'=>2, 'name'=>'DSC8957', ...), 771 * ... 772 * ) 773 * 774 * - an array of a single field (key=null, value='...') 775 * array('DSC8956', 'DSC8957', ...) 776 * 777 * - an associative array of array of all fields (key='...', value=null) 778 * array( 779 * 'DSC8956' => array('id'=>1, 'name'=>'DSC8956', ...), 780 * 'DSC8957' => array('id'=>2, 'name'=>'DSC8957', ...), 781 * ... 782 * ) 783 * 784 * - an associative array of a single field (key='...', value='...') 785 * array( 786 * 'DSC8956' => 1, 787 * 'DSC8957' => 2, 788 * ... 789 * ) 790 * 791 * @since 2.6 792 * 793 * @param string $query 794 * @param string $key_name 795 * @param string $value_name 796 * @return array 797 */ 798 function query2array($query, $key_name=null, $value_name=null) 799 { 800 $result = pwg_query($query); 801 $data = array(); 802 803 if (isset($key_name)) 804 { 805 if (isset($value_name)) 806 { 807 while ($row = pwg_db_fetch_assoc($result)) 808 $data[ $row[$key_name] ] = $row[$value_name]; 809 } 810 else 811 { 812 while ($row = pwg_db_fetch_assoc($result)) 813 $data[ $row[$key_name] ] = $row; 814 } 815 } 816 else 817 { 818 if (isset($value_name)) 819 { 820 while ($row = pwg_db_fetch_assoc($result)) 821 $data[] = $row[$value_name]; 822 } 823 else 824 { 825 while ($row = pwg_db_fetch_assoc($result)) 826 $data[] = $row; 827 } 828 } 829 830 return $data; 831 } 832 763 833 ?> -
trunk/include/dblayer/functions_mysqli.inc.php
r26461 r27336 800 800 } 801 801 802 /** 803 * Builds an data array from a SQL query. 804 * Depending on $key_name and $value_name it can return : 805 * 806 * - an array of arrays of all fields (key=null, value=null) 807 * array( 808 * array('id'=>1, 'name'=>'DSC8956', ...), 809 * array('id'=>2, 'name'=>'DSC8957', ...), 810 * ... 811 * ) 812 * 813 * - an array of a single field (key=null, value='...') 814 * array('DSC8956', 'DSC8957', ...) 815 * 816 * - an associative array of array of all fields (key='...', value=null) 817 * array( 818 * 'DSC8956' => array('id'=>1, 'name'=>'DSC8956', ...), 819 * 'DSC8957' => array('id'=>2, 'name'=>'DSC8957', ...), 820 * ... 821 * ) 822 * 823 * - an associative array of a single field (key='...', value='...') 824 * array( 825 * 'DSC8956' => 1, 826 * 'DSC8957' => 2, 827 * ... 828 * ) 829 * 830 * @since 2.6 831 * 832 * @param string $query 833 * @param string $key_name 834 * @param string $value_name 835 * @return array 836 */ 837 function query2array($query, $key_name=null, $value_name=null) 838 { 839 $result = pwg_query($query); 840 $data = array(); 841 842 if (isset($key_name)) 843 { 844 if (isset($value_name)) 845 { 846 while ($row = $result->fetch_assoc()) 847 $data[ $row[$key_name] ] = $row[$value_name]; 848 } 849 else 850 { 851 while ($row = $result->fetch_assoc()) 852 $data[ $row[$key_name] ] = $row; 853 } 854 } 855 else 856 { 857 if (isset($value_name)) 858 { 859 while ($row = $result->fetch_assoc()) 860 $data[] = $row[$value_name]; 861 } 862 else 863 { 864 while ($row = $result->fetch_assoc()) 865 $data[] = $row; 866 } 867 } 868 869 return $data; 870 } 871 802 872 ?> -
trunk/include/functions.inc.php
r27158 r27336 1 <?php 1 <?php 2 2 // +-----------------------------------------------------------------------+ 3 3 // | Piwigo - a PHP based photo gallery | … … 482 482 return $date1->diff($date2); 483 483 } 484 484 485 485 $diff = new stdClass(); 486 486 487 487 //Make sure $date1 is ealier 488 488 $diff->invert = $date2 < $date1; … … 491 491 list($date1, $date2) = array($date2, $date1); 492 492 } 493 493 494 494 //Calculate R values 495 495 $R = ($date1 <= $date2 ? '+' : '-'); … … 525 525 $date1->modify('-1 '.$period); 526 526 } 527 527 528 528 list($diff->y, $diff->m, $diff->d, $diff->h) = array_values($periods); 529 529 … … 532 532 $diff->i = floor($diff->s/60); 533 533 $diff->s = $diff->s - $diff->i*60; 534 534 535 535 return $diff; 536 536 } … … 570 570 $tok = strtok('- :/'); 571 571 } 572 572 573 573 if (count($ymdhms)<3) return false; 574 574 if (!isset($ymdhms[3])) $ymdhms[3] = 0; 575 575 if (!isset($ymdhms[4])) $ymdhms[4] = 0; 576 576 if (!isset($ymdhms[5])) $ymdhms[5] = 0; 577 577 578 578 $date = new DateTime(); 579 579 $date->setDate($ymdhms[0], $ymdhms[1], $ymdhms[2]); … … 596 596 { 597 597 global $lang; 598 598 599 599 $date = str2DateTime($original, $format); 600 600 … … 609 609 $print.= $lang['day'][ $date->format('w') ].' '; 610 610 } 611 611 612 612 $print.= $date->format('j'); 613 613 $print.= ' '.$lang['month'][ $date->format('n') ]; 614 614 $print.= ' '.$date->format('Y'); 615 615 616 616 if ($show_time) 617 617 { … … 644 644 return l10n('N/A'); 645 645 } 646 646 647 647 $now = new DateTime(); 648 648 $diff = dateDiff($now, $date); 649 649 650 650 $chunks = array( 651 651 'year' => $diff->y, … … 657 657 'second' => $diff->s, 658 658 ); 659 659 660 660 // DateInterval does not contain the number of weeks 661 661 if ($with_week) … … 664 664 $chunks['day'] = $chunks['day'] - $chunks['week']*7; 665 665 } 666 666 667 667 $j = array_search($stop, array_keys($chunks)); 668 668 669 669 $print = ''; $i=0; 670 670 foreach ($chunks as $name => $value) … … 680 680 $i++; 681 681 } 682 682 683 683 $print = trim($print); 684 684 685 685 if ($with_text) 686 686 { … … 934 934 WHERE user_id = '.$user['id'].' 935 935 ;'; 936 $in_caddie = array_from_query($query, 'element_id');936 $in_caddie = query2array($query, null, 'element_id'); 937 937 938 938 $caddiables = array_diff($elements_id, $in_caddie); … … 1043 1043 * returns a string formated with l10n elements. 1044 1044 * it is usefull to "prepare" a text and translate it later 1045 * @see get_l10n_args() 1045 * @see get_l10n_args() 1046 1046 * 1047 1047 * @param array $key_args one l10n_args element or array of l10n_args elements … … 1153 1153 $conf[ $row['param'] ] = $val; 1154 1154 } 1155 1155 1156 1156 trigger_action('load_conf', $condition); 1157 1157 } … … 1166 1166 { 1167 1167 $query = ' 1168 SELECT 1169 param, 1170 value 1168 SELECT param 1171 1169 FROM '.CONFIG_TABLE.' 1172 1170 WHERE param = \''.$param.'\' 1173 1171 ;'; 1174 $params = array_from_query($query, 'param');1172 $params = query2array($query, null, 'param'); 1175 1173 1176 1174 if (count($params) == 0) … … 1204 1202 { 1205 1203 global $conf; 1206 1204 1207 1205 if (!is_array($params)) 1208 1206 { … … 1213 1211 return; 1214 1212 } 1215 1213 1216 1214 $query = ' 1217 1215 DELETE FROM '.CONFIG_TABLE.' … … 1219 1217 ;'; 1220 1218 pwg_query($query); 1221 1219 1222 1220 foreach ($params as $param) 1223 1221 { … … 1245 1243 1246 1244 /** 1247 * Builds an data array from a SQL query.1248 * Depending on $key_name and $value_name it can return :1249 *1250 * - an array of arrays of all fields (key=null, value=null)1251 * array(1252 * array('id'=>1, 'name'=>'DSC8956', ...),1253 * array('id'=>2, 'name'=>'DSC8957', ...),1254 * ...1255 * )1256 *1257 * - an array of a single field (key=null, value='...')1258 * array('DSC8956', 'DSC8957', ...)1259 *1260 * - an associative array of array of all fields (key='...', value=null)1261 * array(1262 * 'DSC8956' => array('id'=>1, 'name'=>'DSC8956', ...),1263 * 'DSC8957' => array('id'=>2, 'name'=>'DSC8957', ...),1264 * ...1265 * )1266 *1267 * - an associative array of a single field (key='...', value='...')1268 * array(1269 * 'DSC8956' => 1,1270 * 'DSC8957' => 2,1271 * ...1272 * )1273 *1274 * @since 2.61275 *1276 * @param string $query1277 * @param string $key_name1278 * @param string $value_name1279 * @return array1280 */1281 function query2array($query, $key_name=null, $value_name=null)1282 {1283 $result = pwg_query($query);1284 $data = array();1285 1286 while ($row = pwg_db_fetch_assoc($result))1287 {1288 if (isset($value_name))1289 {1290 $value = $row[ $value_name ];1291 }1292 else1293 {1294 $value = $row;1295 }1296 if (isset($key_name))1297 {1298 $data[ $row[$key_name] ] = $value;1299 }1300 else1301 {1302 $data[] = $value;1303 }1304 }1305 1306 return $data;1307 }1308 1309 /**1310 1245 * creates an simple hashmap based on a SQL query. 1311 1246 * choose one to be the key, another one to be the value. … … 1369 1304 while ($row = pwg_db_fetch_assoc($result)) 1370 1305 { 1371 $array[] = $row; 1306 $array[] = $row; 1372 1307 } 1373 1308 } … … 1494 1429 { 1495 1430 global $user, $language_files; 1496 1431 1497 1432 if ( !empty($dirname) and !empty($filename) ) 1498 1433 { … … 1574 1509 if ( !isset($lang) ) $lang=array(); 1575 1510 if ( !isset($lang_info) ) $lang_info=array(); 1576 1511 1577 1512 $parent_language = !empty($load_lang_info['parent']) ? $load_lang_info['parent'] : ( 1578 1513 !empty($lang_info['parent']) ? $lang_info['parent'] : null ); … … 2066 2001 list($user['nb_available_comments']) = pwg_db_fetch_row(pwg_query($query)); 2067 2002 2068 single_update(USER_CACHE_TABLE, 2003 single_update(USER_CACHE_TABLE, 2069 2004 array('nb_available_comments'=>$user['nb_available_comments']), 2070 2005 array('user_id'=>$user['id']) … … 2087 2022 { 2088 2023 $replace_chars = create_function('$m', 'return ord(strtolower($m[1]));'); 2089 2024 2090 2025 // add dot before groups of letters (version_compare does the same thing) 2091 2026 $a = preg_replace('#([0-9]+)([a-z]+)#i', '$1.$2', $a); 2092 2027 $b = preg_replace('#([0-9]+)([a-z]+)#i', '$1.$2', $b); 2093 2028 2094 2029 // apply ord() to any single letter 2095 2030 $a = preg_replace_callback('#\b([a-z]{1})\b#i', $replace_chars, $a); 2096 2031 $b = preg_replace_callback('#\b([a-z]{1})\b#i', $replace_chars, $b); 2097 2032 2098 2033 if (empty($op)) 2099 2034 { -
trunk/include/functions_tag.inc.php
r26649 r27336 71 71 GROUP BY tag_id 72 72 ;'; 73 $tag_counters = simple_hash_from_query($query, 'tag_id', 'counter');73 $tag_counters = query2array($query, 'tag_id', 'counter'); 74 74 75 75 if ( empty($tag_counters) ) … … 234 234 $query .= "\n".(empty($order_by) ? $conf['order_by'] : $order_by); 235 235 236 return array_from_query($query, 'id');236 return query2array($query, null, 'id'); 237 237 } 238 238 … … 321 321 OR ', $where_clauses); 322 322 323 $result = pwg_query($query); 324 $tags = array(); 325 while ($row = pwg_db_fetch_assoc($result)) 326 { 327 $tags[] = $row; 328 } 329 return $tags; 323 return query2array($query); 330 324 } 331 325 -
trunk/include/section_init.inc.php
r26461 r27336 93 93 // url compatibility with versions below 1.6 94 94 if ( isset($_GET['image_id']) 95 and isset($_GET['cat']) 95 and isset($_GET['cat']) 96 96 and is_numeric($_GET['cat']) ) 97 97 { … … 103 103 redirect($url); 104 104 } 105 105 106 106 $token = $tokens[$next_token]; 107 107 $next_token++; … … 243 243 { 244 244 $page = array_merge( 245 $page, 245 $page, 246 246 array( 247 247 'comment' => trigger_event( … … 293 293 "\n AND" 294 294 ); 295 296 $subcat_ids = array_from_query($query, 'id');295 296 $subcat_ids = query2array($query,null, 'id'); 297 297 $subcat_ids[] = $page['category']['id']; 298 298 $where_sql = 'category_id IN ('.implode(',',$subcat_ids).')'; … … 326 326 ;'; 327 327 328 $page['items'] = array_from_query($query, 'image_id');328 $page['items'] = query2array($query,null, 'image_id'); 329 329 } 330 330 } … … 417 417 $page, 418 418 array( 419 'items' => array_from_query($query, 'image_id'),419 'items' => query2array($query,null, 'image_id'), 420 420 ) 421 421 ); … … 464 464 'title' => '<a href="'.duplicate_index_url(array('start'=>0)).'">' 465 465 .l10n('Recent photos').'</a>', 466 'items' => array_from_query($query, 'id'),466 'items' => query2array($query,null, 'id'), 467 467 ) 468 468 ); … … 487 487 $page['super_order_by'] = true; 488 488 $conf['order_by'] = ' ORDER BY hit DESC, id DESC'; 489 489 490 490 $query = ' 491 491 SELECT DISTINCT(id) … … 503 503 'title' => '<a href="'.duplicate_index_url(array('start'=>0)).'">' 504 504 .$conf['top_number'].' '.l10n('Most visited').'</a>', 505 'items' => array_from_query($query, 'id'),505 'items' => query2array($query,null, 'id'), 506 506 ) 507 507 ); … … 529 529 'title' => '<a href="'.duplicate_index_url(array('start'=>0)).'">' 530 530 .$conf['top_number'].' '.l10n('Best rated').'</a>', 531 'items' => array_from_query($query, 'id'),531 'items' => query2array($query,null, 'id'), 532 532 ) 533 533 ); … … 552 552 'title' => '<a href="'.duplicate_index_url(array('start'=>0)).'">' 553 553 .l10n('Random photos').'</a>', 554 'items' => array_from_query($query, 'id'),554 'items' => query2array($query,null, 'id'), 555 555 ) 556 556 ); … … 633 633 { 634 634 $redirect_url = script_basename()=='picture' ? duplicate_picture_url() : duplicate_index_url(); 635 635 636 636 if (!headers_sent()) 637 637 { // this is a permanent redirection
Note: See TracChangeset
for help on using the changeset viewer.