OXID eShop CE  4.9.6
 All Classes Files Functions Variables Pages
deliveryset_users_ajax.php
Go to the documentation of this file.
1 <?php
2 
7 {
8 
14  protected $_aColumns = array('container1' => array( // field , table, visible, multilanguage, ident
15  array('oxusername', 'oxuser', 1, 0, 0),
16  array('oxlname', 'oxuser', 0, 0, 0),
17  array('oxfname', 'oxuser', 0, 0, 0),
18  array('oxstreet', 'oxuser', 0, 0, 0),
19  array('oxstreetnr', 'oxuser', 0, 0, 0),
20  array('oxcity', 'oxuser', 0, 0, 0),
21  array('oxzip', 'oxuser', 0, 0, 0),
22  array('oxfon', 'oxuser', 0, 0, 0),
23  array('oxbirthdate', 'oxuser', 0, 0, 0),
24  array('oxid', 'oxuser', 0, 0, 1),
25  ),
26  'container2' => array(
27  array('oxusername', 'oxuser', 1, 0, 0),
28  array('oxlname', 'oxuser', 0, 0, 0),
29  array('oxfname', 'oxuser', 0, 0, 0),
30  array('oxstreet', 'oxuser', 0, 0, 0),
31  array('oxstreetnr', 'oxuser', 0, 0, 0),
32  array('oxcity', 'oxuser', 0, 0, 0),
33  array('oxzip', 'oxuser', 0, 0, 0),
34  array('oxfon', 'oxuser', 0, 0, 0),
35  array('oxbirthdate', 'oxuser', 0, 0, 0),
36  array('oxid', 'oxobject2delivery', 0, 0, 1),
37  )
38  );
39 
45  protected function _getQuery()
46  {
47  $myConfig = $this->getConfig();
48  $oDb = oxDb::getDb();
49  $sId = $myConfig->getRequestParameter('oxid');
50  $sSynchId = $myConfig->getRequestParameter('synchoxid');
51 
52  $sUserTable = $this->_getViewName('oxuser');
53 
54  // category selected or not ?
55  if (!$sId) {
56  $sQAdd = " from $sUserTable where 1 ";
57  if (!$myConfig->getConfigParam('blMallUsers')) {
58  $sQAdd .= "and $sUserTable.oxshopid = '" . $myConfig->getShopId() . "' ";
59  }
60  } elseif ($sSynchId && $sSynchId != $sId) {
61  // selected group ?
62  $sQAdd = " from oxobject2group left join $sUserTable on $sUserTable.oxid = oxobject2group.oxobjectid ";
63  $sQAdd .= " where oxobject2group.oxgroupsid = " . $oDb->quote($sId);
64  if (!$myConfig->getConfigParam('blMallUsers')) {
65  $sQAdd .= "and $sUserTable.oxshopid = '" . $myConfig->getShopId() . "' ";
66  }
67 
68  // resetting
69  $sId = null;
70  } else {
71  $sQAdd = " from oxobject2delivery, $sUserTable where oxobject2delivery.oxdeliveryid = " . $oDb->quote($sId);
72  $sQAdd .= "and oxobject2delivery.oxobjectid = $sUserTable.oxid and oxobject2delivery.oxtype = 'oxdelsetu' ";
73  }
74 
75  if ($sSynchId && $sSynchId != $sId) {
76  $sQAdd .= "and $sUserTable.oxid not in ( select $sUserTable.oxid from oxobject2delivery, $sUserTable where oxobject2delivery.oxdeliveryid = " . $oDb->quote($sSynchId);
77  $sQAdd .= "and oxobject2delivery.oxobjectid = $sUserTable.oxid and oxobject2delivery.oxtype = 'oxdelsetu' ) ";
78  }
79 
80  return $sQAdd;
81  }
82 
86  public function removeUserFromSet()
87  {
88  $aRemoveGroups = $this->_getActionIds('oxobject2delivery.oxid');
89  if ($this->getConfig()->getRequestParameter('all')) {
90 
91  $sQ = $this->_addFilter("delete oxobject2delivery.* " . $this->_getQuery());
92  oxDb::getDb()->Execute($sQ);
93 
94  } elseif ($aRemoveGroups && is_array($aRemoveGroups)) {
95  $sQ = "delete from oxobject2delivery where oxobject2delivery.oxid in (" . implode(", ", oxDb::getInstance()->quoteArray($aRemoveGroups)) . ") ";
96  oxDb::getDb()->Execute($sQ);
97  }
98  }
99 
103  public function addUserToSet()
104  {
105  $aChosenUsr = $this->_getActionIds('oxuser.oxid');
106  $soxId = $this->getConfig()->getRequestParameter('synchoxid');
107 
108  // adding
109  if ($this->getConfig()->getRequestParameter('all')) {
110  $sUserTable = $this->_getViewName('oxuser');
111  $aChosenUsr = $this->_getAll($this->_addFilter("select $sUserTable.oxid " . $this->_getQuery()));
112  }
113  if ($soxId && $soxId != "-1" && is_array($aChosenUsr)) {
114  foreach ($aChosenUsr as $sChosenUsr) {
115  $oObject2Delivery = oxNew('oxbase');
116  $oObject2Delivery->init('oxobject2delivery');
117  $oObject2Delivery->oxobject2delivery__oxdeliveryid = new oxField($soxId);
118  $oObject2Delivery->oxobject2delivery__oxobjectid = new oxField($sChosenUsr);
119  $oObject2Delivery->oxobject2delivery__oxtype = new oxField("oxdelsetu");
120  $oObject2Delivery->save();
121  }
122  }
123  }
124 }