havingrelevance

WP Plugin

Mar 16th, 2022 (edited)
306
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.30 KB | None | 0 0
  1. <?php
  2. /*
  3. Plugin Name: BankenFinder
  4. Description: Listet alle Banken auf
  5. */
  6.  
  7. if (!defined('WPINC')){
  8.     die;
  9. }
  10.  
  11.  
  12. add_shortcode("bankenfinder","bankenfinder");
  13. function bankenfinder(){
  14.  
  15.  
  16. // Verbindungsvariable samt Zugangsdaten festlegen
  17. $db = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
  18. mysqli_set_charset($db, "utf8");
  19.  
  20. // Verbindung überprüfen
  21. if (mysqli_connect_errno()) {
  22.   printf("Verbindung fehlgeschlagen: %s\n", mysqli_connect_error());
  23.   exit();
  24. }
  25.  
  26.  
  27.    
  28.    
  29. $s = filter_input(INPUT_GET, 's', FILTER_SANITIZE_SPECIAL_CHARS);
  30. #    $sql = "SELECT SQL_CALC_FOUND_ROWS *, ";
  31. #    $sql .= "((5.0 * (MATCH(name,name2,name3,plz,ort,str) AGAINST ('Köln' IN BOOLEAN MODE))) ";
  32. #    $sql .= ") AS relevance ";
  33. #    $sql .= "FROM `bank` HAVING relevance > 0 ORDER BY name ASC LIMIT 130";
  34.  
  35.    
  36.     $sql = "SELECT * FROM `bank` ORDER BY name ASC LIMIT 1374";
  37.  
  38.     $query = mysqli_query($db, $sql) or die(mysqli_error($db));
  39.     $num = mysqli_num_rows($query);
  40. ?>
  41.  
  42. <form action="/bankenfinder/" method="get" name="">
  43.     <input type="text" name="s" value="">
  44.     <input type="submit" value="Suchen">
  45. </form>
  46.  
  47. <?php
  48.  
  49.  
  50.    
  51. $html .= '
  52. <table class="table table-dark table-hover" id="banken">
  53. <tr>
  54. <th>Bank</th>
  55. <th>Straße</th>
  56. <th>Plz</th>
  57. <th>Ort</th>
  58. </tr>
  59. ';
  60.  
  61. while($row = mysqli_fetch_object($query)) {
  62. $html .= '
  63. <tr>
  64. <td><a href="/bankdetail/?id='.$row->id.'">'.htmlspecialchars($row->name).'</a></td>
  65. <td>'.htmlspecialchars($row->str).'</td>
  66. <td>'.htmlspecialchars($row->plz).'</td>
  67. <td>'.htmlspecialchars($row->ort).'</td>
  68. </tr>
  69. ';
  70. }
  71. $html .= '</table>';
  72.  
  73.    
  74.     return $html;
  75. }
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82. function custom_theme_titles_yoast( $title ) {
  83.     #$sep = 'xxxx|';
  84.    $name = get_bloginfo( 'name' );
  85.     $desc = get_bloginfo( 'description', 'display' );
  86.  
  87.     if( is_front_page() ) {
  88.         $pagetitle = $title;
  89.         return "{$pagetitle}";
  90.     }
  91.      elseif( is_404() ) {
  92.         $pagetitle = "404";
  93.         return "{$pagetitle} {$sep} {$name} - {$desc}";
  94.     }
  95.     else {
  96.         $pagetitle = $title;  
  97.         return "{$pagetitle} {$sep} {$name} - {$desc}";
  98.     }
  99. }
  100. add_filter( 'wpseo_title', 'custom_theme_titles_yoast', PHP_INT_MAX );
  101. add_filter( 'wpseo_description', 'custom_theme_titles_yoast', PHP_INT_MAX );
  102.  
  103.  
  104.  
  105. add_shortcode("bankendetail","bankendetail");
  106. function bankendetail(){
  107.  
  108. //Verbindungsvariable samt Zugangsdaten festlegen
  109. $db = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
  110. mysqli_set_charset($db, "utf8");
  111.  
  112. // Verbindung überprüfen
  113. if (mysqli_connect_errno()) {
  114.   printf("Verbindung fehlgeschlagen: %s\n", mysqli_connect_error());
  115.   exit();
  116. }
  117.  
  118.     $id = filter_input(INPUT_GET, 'id', FILTER_SANITIZE_NUMBER_INT);
  119.     $sql = "SELECT * ";
  120.     $sql .= "FROM `bank` WHERE `id` = '".mysqli_real_escape_string($db, $id)."' LIMIT 1";
  121.     $query = mysqli_query($db, $sql) or die(mysqli_error($db));
  122.     $row = mysqli_fetch_object($query);
  123.    
  124.     $html = "<h1>".htmlspecialchars($row->name)."</h1>";
  125.     $html .= htmlspecialchars($row->str);
  126.     $html .= "<br>".$row->plz." ".$row->ort;
  127.  
  128.     $html .= "<div style='margin-top:2rem;'>".$row->html."</div>";
  129.     $html .= "<br>".$row->title;
  130.     $html .= "<br>".$row->desc;
  131.  
  132.     $html .="<div style='display:block;margin-top:2rem'><a href='/bankenfinder/' class='btn btn-primary'>zurück</a></div>";
  133.    
  134.  
  135. return $html;
  136. }
  137. ?>
Add Comment
Please, Sign In to add comment