Changeset 3
- Timestamp:
- 03/31/2008 10:38:39 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/bp_core.php
r1 r3 348 348 } 349 349 350 // get the IDs of user blogs in a comma-separated list for use in SQL statements 351 function bp_get_blog_ids_of_user($id, $all = false) 352 { 353 $blogs = get_blogs_of_user($id, $all); 354 $blog_ids = ""; 355 if ($blogs && count($blogs) > 0) 356 { 357 foreach($blogs as $blog) 358 { 359 $blog_ids .= $blog->blog_id.","; 360 } 361 } 362 $blog_ids = trim($blog_ids, ","); 363 return $blog_ids; 364 } 365 366 // return a tick for a checkbox for a true boolean value 367 function bp_boolean_ticked($bool) 368 { 369 if ($bool) 370 { 371 return " checked=\"checked\""; 372 } 373 return ""; 374 } 375 376 // return a tick for a checkbox for a particular value 377 function bp_value_ticked($var, $value) 378 { 379 if ($var == $value) 380 { 381 return " checked=\"checked\""; 382 } 383 return ""; 384 } 385 386 // return true for a boolean value from a checkbox 387 function bp_boolean($value = 0) 388 { 389 if ($value != "") 390 { 391 return 1; 392 } else { 393 return 0; 394 } 395 } 396 397 // return an integer 398 function bp_int($var,$nullToOne=false) 399 { 400 if (@$var == "") 401 { 402 if ($nullToOne) 403 { 404 return 1; 405 } else { 406 return 0; 407 } 408 } else { 409 return (int)$var; 410 } 411 } 412 413 // get the start number for pagination 414 function bp_get_page_start($p, $num) 415 { 416 $p = bp_int($p); 417 $num = bp_int($num); 418 if ($p == "") 419 { 420 return 0; 421 } else { 422 return ($p*$num)-$num; 423 } 424 } 425 426 // get the page number from the $_GET["p"] variable 427 function bp_get_page() 428 { 429 if (isset($_GET["p"]) ? $page = (int)$_GET["p"] : $page = 1); 430 return $page; 431 } 432 433 // generate page links 434 function bp_generate_pages_links($totalRows,$maxPerPage=25,$linktext="",$var,$attributes="") 435 { 436 // loop all the pages in the result set 437 for ($i = 1; $i <= ceil($totalRows/$maxPerPage); $i++) 438 { 439 // if the current page is different to this link, create the querystring 440 $page = bp_int(@$var,true); 441 if ($i != $page) 442 { 443 if ($linktext == ""){ 444 $link = "?p=" . $i; 445 } else { 446 $link = str_replace("%%", $i, $linktext); 447 } 448 $links["link"][] = $link; 449 $links["text"][] = $i; 450 $links["attributes"][] = str_replace("%%", $i, $attributes); 451 // otherwise make the link empty 452 } else { 453 $links["link"][] = ""; 454 $links["text"][] = $i; 455 $links["attributes"][] = str_replace("%%", $i, $attributes); 456 } 457 } 458 // return the links 459 return $links; 460 } 461 462 // generate page link list 463 function bp_paginate($links,$currentPage=1, $firstItem="", $listclass="") 464 { 465 $return = ""; 466 // check the parameter is an array with more than 1 items in 467 if (is_array($links) && count($links["text"]) > 1) 468 { 469 // get the total number of links 470 $totalPages = count($links["text"]); 471 // set showstart and showend to false 472 $showStart = false; 473 $showEnd = false; 474 // if the total number of pages is greater than 10 475 if ($totalPages > 10) 476 { 477 // if the current page is less than 5 from the start 478 if ($currentPage <= 5) 479 { 480 // set the minimum and maximum pages to show 481 $minimum = 0; 482 $maximum = 9; 483 $showEnd = true; 484 } 485 // if the current page is less than 5 from the end 486 if ($currentPage >= ($totalPages-5)) 487 { 488 // set the minumum and maximum pages to show 489 $minimum = $totalPages-9; 490 $maximum = $totalPages; 491 $showStart = true; 492 } 493 // if the current page is somewhere in the middle 494 if ($currentPage > 5 && $currentPage < ($totalPages-5)) 495 { 496 $showEnd = true; 497 $showStart = true; 498 $minimum = $currentPage-4; 499 $maximum = $currentPage+4; 500 } 501 } else { 502 $minimum = 0; 503 $maximum = $totalPages; 504 } 505 // print the start of the list 506 $return .= "\n\n<ul class=\"pagelinks"; 507 if ($listclass!=""){ $return .= " ".$listclass; } 508 $return .= "\">\n"; 509 // print the first item, it if is set 510 if ($firstItem != "") 511 { 512 $return .= "<li>".$firstItem."</li>\n"; 513 } 514 // print the page text 515 $return .= "<li>Pages:</li>\n"; 516 // if set, show the start 517 if ($showStart){ 518 $return .= "<li><a href=\"" . str_replace("&", "&", $links["link"][0]) . "\">" . $links["text"][0] . "...</a></li>\n"; 519 } 520 // loop the links 521 for ($i = $minimum; $i < $maximum; $i++) 522 { 523 if ($i == ($currentPage-1)) 524 { 525 $url = "<li class=\"current\">" . $links["text"][$i] . "</li>\n"; 526 } else { 527 if ($links["attributes"][$i] != "") 528 { 529 $attributes = " ".$links["attributes"][$i]; 530 } else { 531 $attributes = ""; 532 } 533 $url = "<li><a href=\"" . str_replace("&", "&", $links["link"][$i]) . "\"".$attributes.">" . $links["text"][$i] . "</a></li>\n"; 534 } 535 $return .= $url; 536 } 537 // if set, show the end 538 if ($showEnd){ 539 $return .= "<li><a href=\"" . str_replace("&", "&", $links["link"][$totalPages-1]) . "\">..." . $links["text"][$totalPages-1] . "</a></li>\n"; 540 } 541 $return .= "</ul>\n\n"; 542 } 543 return $return; 544 } 545 546 // show a friendly date 547 function bp_friendly_date($timestamp) 548 { 549 // set the timestamp to now if it hasn't been given 550 if (strlen($timestamp) == 0){ $timestamp = time(); } 551 552 // create the date string 553 if (date("m", $timestamp)==date("m") && date("d", $timestamp)==date("d")-1 && date("Y", $timestamp)==date("Y")){ 554 return "yesterday at ".date("g:i a", $timestamp); 555 } else if (date("m", $timestamp)==date("m") && date("d", $timestamp)==date("d") && date("Y", $timestamp)==date("Y")){ 556 return "at ".date("g:i a", $timestamp); 557 } else if (date("m", $timestamp)==date("m") && date("d", $timestamp)>date("d")-5 && date("Y", $timestamp)==date("Y")){ 558 return "on ".date("l", $timestamp)." at ".date("g:i a", $timestamp); 559 } else if (date("Y", $timestamp)==date("Y")){ 560 return "on ".date("F jS", $timestamp); 561 } else { 562 return "on ".date("F jS Y", $timestamp); 563 } 564 } 565 566 // search users 567 function bp_search_users($q, $start = 0, $num = 10) 568 { 569 if (trim($q) != "") 570 { 571 global $wpdb; 572 global $wpmuBaseTablePrefix; 573 global $current_user; 574 $sql = "select SQL_CALC_FOUND_ROWS id, user_login, display_name, user_nicename from ".$wpmuBaseTablePrefix."users 575 where (user_nicename like '%".$wpdb->escape($q)."%' 576 or user_email like '%".$wpdb->escape($q)."%' 577 or display_name like '%".$wpdb->escape($q)."%') 578 and (id <> ".$current_user->ID." and id > 1) 579 limit ".$wpdb->escape($start).", ".$wpdb->escape($num).";"; 580 //print $sql; 581 $users = $wpdb->get_results($sql); 582 $rows = $wpdb->get_var("SELECT found_rows() AS found_rows"); 583 if (is_array($users) && count($users) >0) 584 { 585 for ($i = 0; $i < count($users); $i++) 586 { 587 $user = $users[$i]; 588 $user->siteurl = $user->user_url; 589 $user->blogs = ""; 590 $user->blogs = get_blogs_of_user($user->id); 591 $user->rows = $rows; 592 } 593 return $users; 594 } else { 595 return false; 596 } 597 } else { 598 return false; 599 } 600 } 601 602 // return a ' if the text ends in an "s", or "'s" otherwise 603 function bp_end_with_s($string) 604 { 605 if (substr(strtolower($string), -1) == "s") 606 { 607 return $string."'"; 608 } else { 609 return $string."'s"; 610 } 611 } 612 613 // pluralise a string 614 function bp_plural($num, $ifone="", $ifmore="s") 615 { 616 if (bp_int($num) <> 1) 617 { 618 return $ifmore; 619 } else { 620 return $ifone; 621 } 622 } 623 350 624 ?>
Note: See TracChangeset
for help on using the changeset viewer.