1: <?php
 2: /*
 3:  You may not change or alter any portion of this comment or credits
 4:  of supporting developers from this source code or any supporting source code
 5:  which is considered copyrighted (c) material of the original comment or credit authors.
 6: 
 7:  This program is distributed in the hope that it will be useful,
 8:  but WITHOUT ANY WARRANTY; without even the implied warranty of
 9:  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10:  */
11: 
12: namespace Xoops\Core\Kernel\Dtype;
13: 
14: use Xoops\Core\Kernel\Dtype;
15: use Xoops\Core\Kernel\XoopsObject;
16: 
17: /**
18:  * DtypeSource
19:  *
20:  * @category  Xoops\Core\Kernel\Dtype\DtypeSource
21:  * @package   Xoops\Core\Kernel
22:  * @author    trabis <lusopoemas@gmail.com>
23:  * @copyright 2011-2015 XOOPS Project (http://xoops.org)
24:  * @license   GNU GPL 2 or later (http://www.gnu.org/licenses/gpl-2.0.html)
25:  * @link      http://xoops.org
26:  */
27: class DtypeSource extends DtypeAbstract
28: {
29:     /**
30:      * getVar get variable prepared according to format
31:      *
32:      * @param XoopsObject $obj    object containing variable
33:      * @param string      $key    name of variable
34:      * @param string      $format Dtype::FORMAT_* constant indicating desired formatting
35:      *
36:      * @return mixed
37:      */
38:     public function getVar(XoopsObject $obj, $key, $format)
39:     {
40:         $value = $obj->vars[$key]['value'];
41:         switch (strtolower($format)) {
42:             case 's':
43:             case Dtype::FORMAT_SHOW:
44:                 return $value;
45:             case 'e':
46:             case Dtype::FORMAT_EDIT:
47:                 return htmlspecialchars($value, ENT_QUOTES);
48:             case 'p':
49:             case Dtype::FORMAT_PREVIEW:
50:                 return $value;
51:             case 'f':
52:             case Dtype::FORMAT_FORM_PREVIEW:
53:                 return htmlspecialchars($value, ENT_QUOTES);
54:             case 'n':
55:             case Dtype::FORMAT_NONE:
56:             default:
57:                 return $value;
58:         }
59:     }
60: 
61:     /**
62:      * cleanVar prepare variable for persistence
63:      *
64:      * @param XoopsObject $obj object containing variable
65:      * @param string      $key name of variable
66:      *
67:      * @return string
68:      */
69:     public function cleanVar(XoopsObject $obj, $key)
70:     {
71:         $value = trim($obj->vars[$key]['value']);
72: 
73:         return $value;
74:     }
75: }
76: