pagemeta.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. /**
  3. * Addon to edit meta tags of a page
  4. */
  5. namespace PHPPE\AddOn;
  6. use PHPPE\Core;
  7. use PHPPE\View;
  8. // L("pagemeta")
  9. class pagemeta extends \PHPPE\AddOn
  10. {
  11. public $heightClass = "infobox";
  12. public $forceFull = 50;
  13. function load(&$app)
  14. {
  15. if (!is_array($this->value)) {
  16. $page = View::getval("page");
  17. if (!empty($page->data['meta']))
  18. $this->value = $page->data['meta'];
  19. }
  20. if (!is_array($this->value))
  21. $this->value = [];
  22. }
  23. function show( )
  24. {
  25. $m=Core::lib("CMS")->metas;
  26. $v=is_array($this->value)?$this->value:json_decode($this->value,true);
  27. $r="<table>";
  28. foreach($m as $k)
  29. $r.="<tr><td width='1'>".ucfirst(L($k)).":</td><td>".(!empty($v[$k])?$v[$k]:'')."</td></tr>";
  30. $r.="</table>";
  31. return $r;
  32. }
  33. function edit( )
  34. {
  35. $m=Core::lib("CMS")->metas;
  36. $v=is_array($this->value)?$this->value:json_decode($this->value, true);
  37. $r="<div class='infobox' style='padding:5px;overflow:auto;'>";
  38. foreach($m as $k)
  39. $r.="<b>".ucfirst(L($k))."</b><br><input class='input form-control' name='".$this->fld."[".$k."]' value='".htmlspecialchars(!empty($v[$k])?$v[$k]:'')."'>";
  40. $r.="</div>";
  41. return $r;
  42. }
  43. }
  44. ?>