59 if (isset($this->_aArray[$offset])) {
76 return $this->_aArray[$offset];
91 $this->_aArray[$offset] = & $oBase;
94 if (isset($oBase->$sLongFieldName->value)) {
95 $sOxid = $oBase->$sLongFieldName->value;
96 $this->_aArray[$sOxid] = & $oBase;
98 $this->_aArray[] = & $oBase;
111 if (strcmp($offset, $this->
key()) === 0) {
113 $this->_blRemovedActive =
true;
116 unset($this->_aArray[$offset]);
126 return array_keys($this->_aArray);
134 $this->_blRemovedActive =
false;
135 $this->_blValid = (
false !== reset($this->_aArray));
145 return current($this->_aArray);
155 return key($this->_aArray);
165 $oVar =
prev($this->_aArray);
166 if ($oVar ===
false) {
168 $oVar = reset($this->_aArray);
170 $this->_blRemovedActive =
false;
180 if ($this->_blRemovedActive ===
true &&
current($this->_aArray)) {
181 $oVar = $this->
prev();
183 $oVar =
next($this->_aArray);
186 $this->_blValid = (
false !== $oVar);
206 return count($this->_aArray);
219 $this->_aArray = array();
229 $this->_aArray = $aArray;
239 return array_reverse($this->_aArray);
280 $this->_aSqlLimit[0] = 0;
281 $this->_aSqlLimit[1] = 0;
282 $this->_sShopID =
$myConfig->getShopId();
285 $this->
init($sObjectName);
298 if ($sName ==
'aList') {
319 public function init($sObjectName, $sCoreTable = null)
321 $this->_sObjectsInListName = $sObjectName;
323 $this->_sCoreTable = $sCoreTable;
334 if (!$this->_oBaseObject) {
335 $this->_oBaseObject =
oxNew($this->_sObjectsInListName);
336 $this->_oBaseObject->setInList();
337 $this->_oBaseObject->init($this->_sCoreTable);
350 $this->_oBaseObject = $oObject;
363 if ($this->_aSqlLimit[0] || $this->_aSqlLimit[1]) {
364 $rs = $oDb->selectLimit($sSql, $this->_aSqlLimit[1], $this->_aSqlLimit[0]);
366 $rs = $oDb->select($sSql);
369 if ($rs !=
false && $rs->recordCount() > 0) {
375 $oListObject = clone $oSaved;
379 $this->
add($oListObject);
391 public function add($oObject)
393 if ($oObject->getId()) {
394 $this->_aArray[$oObject->getId()] = $oObject;
396 $this->_aArray[] = $oObject;
412 foreach ($aData as $aItem) {
413 $oListObject = clone $oSaved;
415 if ($oListObject->getId()) {
416 $this->_aArray[$oListObject->getId()] = $oListObject;
418 $this->_aArray[] = $oListObject;
433 $this->_aSqlLimit[0] = $iStart;
434 $this->_aSqlLimit[1] = $iRecords;
448 foreach ($this->_aArray as $obj) {
449 if ($obj->{$sFieldName}->value == $oVal) {
462 public function getList()
464 $oListObject = $this->getBaseObject();
465 $sFieldList = $oListObject->getSelectFields();
466 $sQ =
"select $sFieldList from " . $oListObject->getViewName();
467 if ($sActiveSnippet = $oListObject->getSqlActiveSnippet()) {
468 $sQ .=
" where $sActiveSnippet ";
470 $this->selectString($sQ);
482 protected function _assignElement($oListObject, $aDbFields)
484 $oListObject->assign($aDbFields);
494 protected function _getFieldLongName($sFieldName)
496 if ($this->_sCoreTable) {
497 return $this->_sCoreTable .
'__' . $sFieldName;