1: <?php
2:
3: if (!defined('XOOPS_ROOT_PATH')) exit();
4:
5: class UserMailjob_linkObject extends XoopsSimpleObject
6: {
7: function UserMailjob_linkObject()
8: {
9: static $initVars;
10: if (isset($initVars)) {
11: $this->mVars = $initVars;
12: return;
13: }
14: $this->initVar('mailjob_id', XOBJ_DTYPE_INT, '0', true);
15: $this->initVar('uid', XOBJ_DTYPE_INT, '0', true);
16: $this->initVar('retry', XOBJ_DTYPE_INT, '0', true);
17: $this->initVar('message', XOBJ_DTYPE_STRING, '', false, 255);
18: $initVars=$this->mVars;
19: }
20: }
21:
22: class UserMailjob_linkHandler extends XoopsObjectGenericHandler
23: {
24: var $mTable = "user_mailjob_link";
25: var $mPrimary = "mailjob_id";
26: var $mClass = "UserMailjob_linkObject";
27:
28: function &get($mailjob_id, $uid)
29: {
30: $ret = null;
31:
32: $criteria =new CriteriaCompo();
33: $criteria->add(new Criteria('mailjob_id', $mailjob_id));
34: $criteria->add(new Criteria('uid', $uid));
35:
36: $objArr =& $this->getObjects($criteria);
37:
38: if (count($objArr) == 1) {
39: $ret =& $objArr[0];
40: }
41:
42: return $ret;
43: }
44:
45: function getCurrentRetry($mailjob_id)
46: {
47: $mailjob_id = intval($mailjob_id);
48: $table = $this->mTable;
49:
50: $sql = "SELECT min(retry) AS cretry FROM ${table} where mailjob_id='${mailjob_id}'";
51:
52: $result = $this->db->query($sql);
53: $row = $this->db->fetchArray($result);
54:
55: return $row['cretry'];
56: }
57:
58: function _update(&$obj) {
59: $set_lists=array();
60: $where = "";
61:
62: $arr = $this->_makeVars4sql($obj);
63:
64: foreach ($arr as $_name => $_value) {
65: if ($_name == 'mailjob_id' || $_name == 'uid') {
66: $where = "${_name}=${_value}";
67: }
68: else {
69: $set_lists[] = "${_name}=${_value}";
70: }
71: }
72:
73: $sql = @sprintf("UPDATE " . $this->mTable . " SET %s WHERE %s", implode(",",$set_lists), $where);
74:
75: return $sql;
76: }
77:
78: function delete(&$obj, $force = false)
79: {
80:
81:
82:
83:
84: $criteria =new CriteriaCompo();
85: $criteria->add(new Criteria('mailjob_id', $obj->get('mailjob_id')));
86: $criteria->add(new Criteria('uid', $obj->get('uid')));
87: $sql = "DELETE FROM " . $this->mTable . " WHERE " . $this->_makeCriteriaElement4sql($criteria, $obj);
88:
89: return $force ? $this->db->queryF($sql) : $this->db->query($sql);
90: }
91: }
92:
93: ?>
94: