YaWK  24.1
Yet another WebKit
search.php
Go to the documentation of this file.
1 <?php
2 namespace YAWK {
3  /**
4  * @details <b>Backend Search</b>
5  *
6  * handles the backend's core search functions. <br>
7  * See Methods Summary for Details!</i></p>
8  *
9  * @author Daniel Retzl <[email protected]>
10  * @copyright 2017-2021 Daniel Retzl yawk.io
11  * @license https://opensource.org/licenses/MIT
12  * @version 1.0.0
13  * @brief Backend search class
14  */
15  class search
16  {
17  /** searchString string contains the search term */
18  public $searchString;
19 
20  /**
21  * @brief search pages and draw box
22  * @param string $searchString
23  * @param object $db database object
24  */
25  public function searchPages($db, $searchString, $lang)
26  {
27  $i = 0;
28  $pagesResult = '';
29  if (isset($searchString) && (!empty($searchString)))
30  {
31  if ($res = $db->query("SELECT id, alias, title FROM {pages} WHERE alias OR title LIKE '%".$searchString."%'"))
32  {
33  while ($row = mysqli_fetch_assoc($res))
34  {
35  $i++;
36  $pagesResult .= "<a href=\"index.php?page=page-edit&id=$row[id]\" target=\"_self\"><i class=\"fa fa-edit\"></i> $row[alias].html</a><br>";
37  }
38  }
39  }
40 
41  if ($i > 0)
42  {
43  echo "
44  <div class=\"box\">
45  <div class=\"box-header with-border\">
46  <h3 class=\"box-title\">$lang[PAGES] <small>$lang[ALL_ELEMENTS]</small></h3>
47  </div>
48  <div class=\"box-body\">
49  <h4>$pagesResult</h4><b>$i</b> $lang[PAGE_ENTRIES_WITH_TAG] <i><b>&laquo;$searchString&raquo;</b></i>
50  </div>
51  </div>";
52  }
53  } /* end function searchPages(); */
54 
55 
56  /**
57  * @brief search menus
58  * @param string $searchString
59  * @param object $db database object
60  */
61  public function searchMenus($db, $searchString, $lang)
62  {
63  $i = 0;
64  $menuResult = '';
65  if (isset($searchString) && (!empty($searchString)))
66  {
67  if ($res = $db->query("SELECT menuID, text FROM {menu} WHERE text LIKE '%".$searchString."%'"))
68  {
69  while ($row = mysqli_fetch_assoc($res))
70  {
71  $i++;
72  $menuResult .= "<a href=\"index.php?page=menu-edit&menu=$row[menuID]\" target=\"_self\"><i class=\"fa fa-edit\"></i> $row[text]</a><br>";
73  }
74  }
75  }
76  if ($i > 0)
77  {
78  echo "
79  <div class=\"box\">
80  <div class=\"box-header with-border\">
81  <h3 class=\"box-title\">$lang[MENUS] <small>$lang[ALL_ELEMENTS]</small></h3>
82  </div>
83  <div class=\"box-body\">
84  <h4>$menuResult</h4><b>$i</b> $lang[MENU_ENTRIES_WITH_TAG] <i><b>&laquo;$searchString&raquo;</b></i>
85  </div>
86  </div>";
87  }
88  } /* end function searchPages(); */
89 
90 
91  /**
92  * @brief search users
93  * @param string $searchString
94  * @param object $db database object
95  */
96  public function searchUsers($db, $searchString, $lang)
97  {
98  $i = 0;
99  $userResult = '';
100  if (isset($searchString) && (!empty($searchString)))
101  {
102  if ($res = $db->query("SELECT id, username FROM {users} WHERE username LIKE '%".$searchString."%'"))
103  {
104  while ($row = mysqli_fetch_assoc($res))
105  {
106  $i++;
107  $userResult .= "<a href=\"index.php?page=users&user=$row[id]\" target=\"_self\"><i class=\"fa fa-edit\"></i> $row[username]</a><br>";
108  }
109  }
110  }
111  if ($i > 0)
112  {
113  echo "
114  <div class=\"box\">
115  <div class=\"box-header with-border\">
116  <h3 class=\"box-title\">$lang[USERS] <small>$lang[ALL_ELEMENTS]</small></h3>
117  </div>
118  <div class=\"box-body\">
119  <h4>$userResult</h4><b>$i</b> $lang[USER_ENTRIES_WITH_TAG] <i><b>&laquo;$searchString&raquo;</b></i>
120  </div>
121  </div>";
122  }
123 
124  } /* end function searchPages(); */
125 
126 
127  /**
128  * @brief search widgets
129  * @param string $searchString
130  * @param object $db database object
131  */
133  {
134  $i = 0;
135  $widgetResult = '';
136  if (isset($searchString) && (!empty($searchString)))
137  {
138  if ($res = $db->query("SELECT id, widgetTitle FROM {widgets} WHERE widgetTitle LIKE '%".$searchString."%'"))
139  {
140  while ($row = mysqli_fetch_assoc($res))
141  {
142  $i++;
143  $widgetResult .= "<a href=\"index.php?page=widget-edit&widget=$row[id]\" target=\"_self\"><i class=\"fa fa-edit\"></i> $row[widgetTitle]</a><br>";
144  }
145  }
146  }
147  if ($i > 0 )
148  {
149  echo "
150  <div class=\"box\">
151  <div class=\"box-header with-border\">
152  <h3 class=\"box-title\">$lang[WIDGETS] <small>$lang[ALL_ELEMENTS]</small></h3>
153  </div>
154  <div class=\"box-body\">
155  <h4>$widgetResult</h4><b>$i</b> $lang[WIDGETS_ENTRIES_WITH_TAG] <i><b>&laquo;$searchString&raquo;</b></i>
156  </div>
157  </div>";
158  }
159  } /* end function searchPages(); */
160 
161 
162  /**
163  * @brief search blogs
164  * @param string $searchString
165  * @param object $db database object
166  */
167  public function searchBlogs($db, $searchString, $lang)
168  {
169  $i = 0;
170  $blogResults = '';
171  if (isset($searchString) && (!empty($searchString)))
172  {
173  if ($res = $db->query("SELECT blogid, title, subtitle, teasertext FROM {blog_items}
174  WHERE title LIKE '%".$searchString."%' OR
175  subtitle LIKE '%".$searchString."%' OR
176  teasertext LIKE '%".$searchString."%'"))
177  {
178  while ($row = mysqli_fetch_assoc($res))
179  {
180  $i++;
181  $blogResults .= "<a href=\"index.php?plugin=blog&pluginpage=blog-entries&blogid=$row[blogid]\" target=\"_self\"><i class=\"fa fa-edit\"></i> $row[title]</a><br>";
182  }
183  }
184  }
185  if ($i > 0)
186  {
187  echo "
188  <div class=\"box\">
189  <div class=\"box-header with-border\">
190  <h3 class=\"box-title\">$lang[BLOG] <small>$lang[ALL_ELEMENTS]</small></h3>
191  </div>
192  <div class=\"box-body\">
193  <h4>$blogResults</h4><b>$i</b> $lang[BLOG_ENTRIES_WITH_TAG] <i><b>&laquo;$searchString&raquo;</b></i>
194  </div>
195  </div>";
196  }
197  } /* end function searchPages(); */
198 
199 
200  } /* end class Search */
201 }
print $lang['FILEMAN_UPLOAD']
Backend search class.
Definition: search.php:16
searchBlogs($db, $searchString, $lang)
search blogs
Definition: search.php:167
searchWidgets($db, $searchString, $lang)
search widgets
Definition: search.php:132
searchUsers($db, $searchString, $lang)
search users
Definition: search.php:96
searchPages($db, $searchString, $lang)
search pages and draw box
Definition: search.php:25
searchMenus($db, $searchString, $lang)
search menus
Definition: search.php:61
This class serves methods to create backup from files.
Definition: AdminLTE.php:2
$i