1: <?php
2: /**
3: * This file contains the article specifications collection and item class.
4: *
5: * @package Core
6: * @subpackage GenericDB_Model
7: * @version SVN Revision $Rev:$
8: *
9: * @author Murat Purc <murat@purc.de>
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: * Article specification collection
20: *
21: * @package Core
22: * @subpackage GenericDB_Model
23: */
24: class cApiArticleSpecificationCollection extends ItemCollection {
25:
26: /**
27: * Constructor function
28: */
29: public function __construct() {
30: global $cfg;
31: parent::__construct($cfg['tab']['art_spec'], 'idartspec');
32: $this->_setItemClass('cApiArticleSpecification');
33: }
34:
35: /**
36: * Returns all article specifications by client and language.
37: *
38: * @param int $client
39: * @param int $lang
40: * @param string $orderby Order statement, like "artspec ASC"
41: * @return array
42: */
43: public function fetchByClientLang($client, $lang, $orderBy = '') {
44: $this->select("client=" . (int) $client . " AND lang=" . (int) $lang, '', $this->escape($orderBy));
45: $entries = array();
46: while (($entry = $this->next()) !== false) {
47: $entries[] = clone $entry;
48: }
49: return $entries;
50: }
51:
52: }
53:
54: /**
55: * Article specification item
56: *
57: * @package Core
58: * @subpackage GenericDB_Model
59: */
60: class cApiArticleSpecification extends Item {
61:
62: /**
63: * Constructor function
64: *
65: * @param mixed $mId Specifies the ID of item to load
66: */
67: public function __construct($mId = false) {
68: global $cfg;
69: parent::__construct($cfg['tab']['art_spec'], 'idartspec');
70: $this->setFilters(array(), array());
71: if ($mId !== false) {
72: $this->loadByPrimaryKey($mId);
73: }
74: }
75:
76: }
77: