1: <?php
2: /**
3: * This file contains the keyword collection and item class.
4: *
5: * @package Core
6: * @subpackage GenericDB_Model
7: * @version SVN Revision $Rev:$
8: *
9: * @author Frederic Schneider
10: * @copyright four for business AG <www.4fb.de>
11: * @license http://www.contenido.org/license/LIZENZ.txt
12: * @link http://www.4fb.de
13: * @link http://www.contenido.org
14: */
15:
16: defined('CON_FRAMEWORK') || die('Illegal call: Missing framework initialization - request aborted.');
17:
18: /**
19: * Keyword collection
20: *
21: * @package Core
22: * @subpackage GenericDB_Model
23: */
24: class cApiKeywordCollection extends ItemCollection {
25:
26: /**
27: * Constructor
28: */
29: public function __construct() {
30: global $cfg;
31: parent::__construct($cfg['tab']['keywords'], 'idkeyword');
32: $this->_setItemClass('cApiKeyword');
33: }
34:
35: /**
36: *
37: * @param string $keyword
38: * @param string $exp
39: * @param string $auto
40: * @param string $self
41: * @param int $idlang
42: * @return cApiKeyword
43: */
44: public function create($keyword, $exp = '', $auto, $self = '', $idlang) {
45: $item = $this->createNewItem();
46:
47: $item->set('keyword', $keyword);
48: $item->set('exp', $exp);
49: $item->set('auto', $auto);
50: $item->set('self', $self);
51: $item->set('idlang', $idlang);
52:
53: $item->store();
54:
55: return $item;
56: }
57:
58: }
59:
60: /**
61: * Keyword item
62: *
63: * @package Core
64: * @subpackage GenericDB_Model
65: */
66: class cApiKeyword extends Item {
67:
68: /**
69: * Constructor Function
70: *
71: * @param mixed $mId Specifies the ID of item to load
72: */
73: public function __construct($mId = false) {
74: global $cfg;
75: parent::__construct($cfg['tab']['keywords'], 'idkeyword');
76: $this->setFilters(array(
77: 'addslashes'
78: ), array(
79: 'stripslashes'
80: ));
81: if ($mId !== false) {
82: $this->loadByPrimaryKey($mId);
83: }
84: }
85:
86: /**
87: * Userdefined setter for keyword fields.
88: *
89: * @param string $name
90: * @param mixed $value
91: * @param bool $bSafe Flag to run defined inFilter on passed value
92: */
93: public function setField($name, $value, $bSafe = true) {
94: switch ($name) {
95: case 'idlang':
96: $value = (int) $value;
97: break;
98: }
99:
100: return parent::setField($name, $value, $bSafe);
101: }
102:
103: }
104: