BioTorrents.de’s version of Gazelle
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

templates.class.php 2.4KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php
  2. // Example :
  3. // $TPL = new TEMPLATE;
  4. // $TPL->open('inv.tpl');
  5. // $TPL->set('ADDRESS1', $TPL->str_align(57, $UADDRESS1, 'l', ' '));
  6. // $TPL->get();
  7. class TEMPLATE
  8. {
  9. public $file = '';
  10. public $vars = [];
  11. public function open($file)
  12. {
  13. $this->file = file($file);
  14. }
  15. public function set($name, $var, $ifnone = '<span style="font-style: italic;">-None-</span>')
  16. {
  17. if ($name !== '') {
  18. $this->vars[$name][0] = $var;
  19. $this->vars[$name][1] = $ifnone;
  20. }
  21. }
  22. public function show()
  23. {
  24. $TMPVAR = '';
  25. for ($i = 0; $i < sizeof($this->file); $i++) {
  26. $TMPVAR = $this->file[$i];
  27. foreach ($this->vars as $k=>$v) {
  28. if ($v[1] !== '' && $v[0] === '') {
  29. $v[0] = $v[1];
  30. }
  31. $TMPVAR = str_replace('{{'.$k.'}}', $v[0], $TMPVAR);
  32. }
  33. echo $TMPVAR;
  34. }
  35. }
  36. public function get()
  37. {
  38. $RESULT = '';
  39. $TMPVAR = '';
  40. for ($i = 0; $i < sizeof($this->file); $i++) {
  41. $TMPVAR = $this->file[$i];
  42. foreach ($this->vars as $k=>$v) {
  43. if ($v[1] !== '' && $v[0] === '') {
  44. $v[0] = $v[1];
  45. }
  46. $TMPVAR = str_replace('{{'.$k.'}}', $v[0], $TMPVAR);
  47. }
  48. $RESULT.= $TMPVAR;
  49. }
  50. return $RESULT;
  51. }
  52. public function str_align($len, $str, $align, $fill)
  53. {
  54. $strlen = strlen($str);
  55. if ($strlen > $len) {
  56. return substr($str, 0, $len);
  57. } elseif (($strlen === 0) || ($len === 0)) {
  58. return '';
  59. } else {
  60. if (($align === 'l') || ($align === 'left')) {
  61. $result = $str.str_repeat($fill, ($len - $strlen));
  62. } elseif (($align === 'r') || ($align === 'right')) {
  63. $result = str_repeat($fill, ($len - $strlen)).$str;
  64. } elseif (($align === 'c') || ($align === 'center')) {
  65. $snm = intval(($len - $strlen) / 2);
  66. if (($strlen + ($snm * 2)) === $len) {
  67. $result = str_repeat($fill, $snm).$str;
  68. } else {
  69. $result = str_repeat($fill, $snm + 1).$str;
  70. }
  71. $result.= str_repeat($fill, $snm);
  72. }
  73. return $result;
  74. }
  75. }
  76. }