Просмотр файла vavok-1.5.3/adminpanel/pgtitle.php

Размер файла: 6.1Kb
  1. <?php
  2. // (c) vavok.net
  3. require_once"../include/startup.php";
  4.  
  5. $act = '';
  6. if (isset($_GET['act'])) {
  7. $act = check($_GET['act']);
  8. } elseif (isset($_POST['act'])) {
  9. $act = check($_POST['act']);
  10. }
  11.  
  12. if (!$users->is_administrator() || !$users->is_reg()) {
  13. redirect_to("../?error");
  14. }
  15.  
  16. if ($act == "addedit") {
  17.  
  18. $tfile = check($_POST['tfile']);
  19. $msg = no_br($_POST['msg']);
  20.  
  21. // get page data
  22. $pageData = $db->get_data(get_configuration('tablePrefix') . 'pages', "file='{$tfile}'", 'file, headt');
  23.  
  24. $headData = $pageData['headt'];
  25.  
  26. // remove old open graph title title and set new
  27. if (stripos($headData, 'property="og:title" content="')) {
  28. $start = stripos($headData, '<meta property="og:title"');
  29. for ($i = $start;$i < strlen($headData);$i++) {
  30. $currentChar = $headData[$i];
  31. $headData[$i] = '~';
  32.  
  33. if ($currentChar == '>')
  34. break;
  35. }
  36. }
  37.  
  38. $inputPosition = $start;
  39. $headData = str_replace('~', '', $headData);
  40. $headData = substr_replace($headData, '<meta property="og:title" content="' . $msg . '" />', $inputPosition, 0);
  41.  
  42. $fields = array('tname', 'headt');
  43. $values = array($msg, $headData);
  44. $db->update(get_configuration('tablePrefix') . 'pages', $fields, $values, "file='{$tfile}'");
  45.  
  46.  
  47. redirect_to("files.php?action=edit&file=" . $pageData['file'] . "&isset=savedok");
  48.  
  49. }
  50.  
  51. if ($act == "savenew") {
  52. $tpage = check($_POST['tpage']);
  53. $tpage = strtolower($tpage);
  54. $tpage = str_replace(' ', '-', $tpage);
  55.  
  56. $msg = no_br($_POST['msg']);
  57.  
  58. $last_notif = $db->get_data(get_configuration('tablePrefix') . 'pages', "pname='" . $tpage . "'", '`tname`, `pname`, `file`, `headt`');
  59.  
  60. $headData = $last_notif['headt'];
  61.  
  62. // remove old open graph title title and set new
  63. if (stripos($headData, 'property="og:title" content="')) {
  64. $start = stripos($headData, '<meta property="og:title"');
  65. for ($i = $start;$i < strlen($headData);$i++) {
  66. $currentChar = $headData[$i];
  67. $headData[$i] = '~';
  68.  
  69. if ($currentChar == '>')
  70. break;
  71. }
  72. }
  73.  
  74. $inputPosition = $start;
  75. $headData = str_replace('~', '', $headData);
  76. $headData = trim(substr_replace($headData, '<meta property="og:title" content="' . $msg . '" />', $inputPosition, 0));
  77.  
  78. // no data in database, insert data
  79. if (empty($last_notif['tname'] && $last_notif['pname'] && $last_notif['file'])) {
  80. $values = array(
  81. 'pname' => $tpage,
  82. 'tname' => $msg,
  83. 'file' => $tpage
  84. );
  85. $db->insert_data(get_configuration('tablePrefix'). 'pages', $values);
  86.  
  87. $PBPage = false;
  88. } else {
  89. $fields = array('tname', 'headt');
  90. $values = array($msg, $headData);
  91. $db->insert_data(get_configuration('tablePrefix') . 'pages', $fields, $values, "pname='" . $tpage . "'");
  92.  
  93. $PBPage = true;
  94. }
  95.  
  96. redirect_to("pgtitle.php?isset=savedok");
  97.  
  98. }
  99.  
  100. if ($act == "del") {
  101. $tid = check($_GET['tid']);
  102.  
  103. $db->delete(get_configuration('tablePrefix') . 'pages', "pname = '" . $tid . "'");
  104.  
  105. redirect_to("pgtitle.php");
  106. }
  107.  
  108. require_once BASEDIR . "themes/" . MY_THEME . "/index.php";
  109.  
  110.  
  111. if (!isset($act) || empty($act)) {
  112.  
  113. $nitems = $db->count_row(get_configuration('tablePrefix') . 'pages');
  114. $total = $nitems;
  115.  
  116. if ($total < 1) {
  117. echo '<br /><img src="../images/img/reload.gif" alt=""> <b>Page titles not found!</b><br />';
  118. }
  119.  
  120. if (isset($_GET['page'])) {
  121. $page = check($_GET['page']);
  122. } else { $page = ''; }
  123.  
  124. $nitems = $db->count_row(get_configuration('tablePrefix') . 'pages', 'tname is not null');
  125. $num_items = $nitems;
  126.  
  127. $items_per_page = 30;
  128.  
  129.  
  130. $navigation = new Navigation($items_per_page, $num_items, $page, 'pgtitle.php?'); // start navigation
  131.  
  132. $limit_start = $navigation->start()['start']; // starting point
  133.  
  134. $sql = "SELECT id, pname, tname, file FROM " . get_configuration("tablePrefix") . "pages WHERE tname is not null ORDER BY pname LIMIT $limit_start, $items_per_page";
  135.  
  136. if ($num_items > 0) {
  137. foreach ($db->query($sql) as $item) {
  138. $lnk = $item['pname'] . " <img src=\"../images/img/edit.gif\" alt=\"\" /> <a href=\"pgtitle.php?act=edit&amp;pgfile=" . $item['file'] . "\">" . $item['tname'] . "</a> | <img src=\"../images/img/edit.gif\" alt=\"\" /> <a href=\"files.php?action=headtag&amp;file=" . $item['file'] . "\">[Edit Meta]</a> | <img src=\"../images/img/close.gif\" alt=\"\" /> <a href=\"pgtitle.php?act=del&amp;tid=" . $item['pname'] . "\">[DEL]</a>";
  139. // echo " <small>joined: $jdt</small>";
  140. echo "$lnk<br />";
  141. }
  142. }
  143.  
  144. echo $navigation->get_navigation();
  145.  
  146. echo '<br /><br /><a href="pgtitle.php?act=addnew" class="btn btn-outline-primary sitelink">Add new title</a><br /><br />'; // update lang
  147. }
  148.  
  149. if ($act == "edit") {
  150. $pgfile = check($_GET['pgfile']);
  151.  
  152. $page_title = $db->get_data(get_configuration('tablePrefix') . 'pages', "file='" . $pgfile . "'", 'tname, pname');
  153.  
  154. echo '<form action="pgtitle.php?act=addedit" method="POST">';
  155. echo '<input type="hidden" name="tfile" value="' . $pgfile . '"><br />';
  156. echo 'Page title:<br />'; // update lang
  157. echo '<textarea cols="50" rows="3" name="msg">' . $page_title['tname'] . '</textarea><br />';
  158.  
  159. echo '<br /><input type="submit" value="' . $lang_home['save'] . '"></form><hr>';
  160.  
  161. echo '<br /><a href="pgtitle.php" class="btn btn-outline-primary sitelink">' . $lang_home['back'] . '</a><br />';
  162. }
  163.  
  164. if ($act == "addnew") {
  165. echo '<form action="pgtitle.php?act=savenew" method="POST">';
  166. echo 'Page: <input type="text" name="tpage" value=""><br />'; // update lang
  167. echo 'Page title: <input type="text" name="msg" value=""><br />';
  168.  
  169. echo '<br /><input type="submit" value="' . $lang_home['save'] . '"></form><hr>';
  170.  
  171. echo '<br /><a href="pgtitle.php" class="btn btn-outline-primary sitelink">' . $lang_home['back'] . '</a><br />';
  172. }
  173.  
  174. echo '<a href="index.php" class="btn btn-outline-primary sitelink">' . $lang_home['admpanel'] . '</a><br />';
  175. echo '<a href="../" class="btn btn-primary homepage">' . $lang_home['home'] . '</a>';
  176.  
  177. require_once BASEDIR . "themes/" . MY_THEME . "/foot.php";
  178.  
  179. ?>