1: <?php
2:
3: /**
4: * This file contains the maillog success collection and item class.
5: *
6: * @package Core
7: * @subpackage GenericDB_Model
8: * @author Simon Sprankel
9: * @copyright four for business AG <www.4fb.de>
10: * @license http://www.contenido.org/license/LIZENZ.txt
11: * @link http://www.4fb.de
12: * @link http://www.contenido.org
13: */
14:
15: defined('CON_FRAMEWORK') || die('Illegal call: Missing framework initialization - request aborted.');
16:
17: /**
18: * Mail log success collection
19: *
20: * @package Core
21: * @subpackage GenericDB_Model
22: */
23: class cApiMailLogSuccessCollection extends ItemCollection {
24: /**
25: * Constructor to create an instance of this class.
26: *
27: * @throws cInvalidArgumentException
28: */
29: public function __construct() {
30: global $cfg;
31: parent::__construct($cfg['tab']['mail_log_success'], 'idmailsuccess');
32: $this->_setItemClass('cApiMailLogSuccess');
33:
34: // set the join partners so that joins can be used via link() method
35: $this->_setJoinPartner('cApiMailLogCollection');
36: }
37:
38: /**
39: * Creates a new mail log success entry with the given data.
40: *
41: * @param int $idmail
42: * @param array $recipient
43: * @param bool $success
44: * @param string $exception
45: *
46: * @return cApiMailLogSuccess
47: * @throws cDbException
48: * @throws cException
49: * @throws cInvalidArgumentException
50: */
51: public function create($idmail, $recipient, $success, $exception) {
52: $item = $this->createNewItem();
53:
54: $item->set('idmail', $idmail);
55: $item->set('recipient', json_encode($recipient));
56: $item->set('success', $success);
57: $item->set('exception', $exception);
58:
59: $item->store();
60:
61: return $item;
62: }
63: }
64:
65: /**
66: * Mail log success item
67: *
68: * @package Core
69: * @subpackage GenericDB_Model
70: */
71: class cApiMailLogSuccess extends Item
72: {
73: /**
74: * Constructor
75: *
76: * @param mixed $mId
77: *
78: * @throws cDbException
79: * @throws cException
80: */
81: public function __construct($mId = false) {
82: global $cfg;
83: parent::__construct($cfg['tab']['mail_log_success'], 'idmailsuccess');
84: $this->setFilters(array(), array());
85: if ($mId !== false) {
86: $this->loadByPrimaryKey($mId);
87: }
88: }
89: }
90: