/** * used in notempty validation rule */ function dataConsideredEmpty($data, $repeatCounter) { if ((int) JRequest::getVar('rowid', 0) !== 0) { if (JRequest::getVar('task') == '') { return parent::dataConsideredEmpty($data, $repeatCounter); } $olddaata = JArrayHelper::getValue($this->getFormModel()->_origData, $repeatCounter); if (!is_null($olddaata)) { $name = $this->getFullName(false, true, false); $r = JArrayHelper::getValue(JArrayHelper::fromObject($olddaata), $name, '') === '' ? true : false; if (!$r) { //if an original value is found then data not empty - if not found continue to check the $_FILES array to see if one // has been uploaded return false; } } } $groupModel = $this->getGroup(); if ($groupModel->isJoin()) { $name = $this->getFullName(false, true, false); $joinid = $groupModel->getGroup()->join_id; $joindata = JRequest::getVar('join', '', 'files', 'array', array()); if (!array_key_exists('name', $joindata)) { return true; } $file = (array) $joindata['name'][$joinid][$name]; return JArrayHelper::getValue($file, $repeatCounter, '') == '' ? true : false; } else { if ($this->isJoin()) { $join = $this->getJoinModel()->getJoin(); $joinid = $join->id; $joindata = JRequest::getVar('join', '', 'post', 'array', array()); $joindata = JArrayHelper::getValue($joindata, $joinid, array()); $name = $this->getFullName(false, true, false); $joindata = JArrayHelper::getValue($joindata, $name, array()); $joinids = JArrayHelper::getValue($joindata, 'id', array()); return empty($joinids) ? true : false; } else { $name = $this->getFullName(true, true, false); $file = JRequest::getVar($name, '', 'files', 'array', array()); if ($groupModel->canRepeat()) { return JArrayHelper::getValue($file['name'], $repeatCounter, '') == '' ? true : false; } } } if (!array_key_exists('name', $file)) { $file = JRequest::getVar($name); return $file == '' ? true : false; //ajax test - nothing in files } // no files selected? return $file['name'] == '' ? true : false; }
/** * used in notempty validation rule */ function dataConsideredEmpty($data, $repeatCounter) { if ((int) JRequest::getVar('rowid', 0) != 0) { if (JRequest::getVar('task') == '') { return parent::dataConsideredEmpty($data, $repeatCounter); } // editing an existing record so consider that the file was tested and added for // when the original record was added. (cant test $_FILES on edit) return false; } $groupModel = $this->getGroup(); if ($groupModel->isJoin()) { $name = $this->getFullName(false, true, false); $joinid = $groupModel->getGroup()->join_id; $joindata = JRequest::getVar('join', '', 'files', 'array', array()); if (!array_key_exists('name', $joindata)) { return true; } $file = (array) $joindata['name'][$joinid][$name]; return JArrayHelper::getValue($file, $repeatCounter, '') == '' ? true : false; } else { $name = $this->getFullName(true, true, false); $file = JRequest::getVar($name, '', 'files', 'array', array()); if ($groupModel->canRepeat()) { return JArrayHelper::getValue($file['name'], $repeatCounter, '') == '' ? true : false; } } if (!array_key_exists('name', $file)) { $file = JRequest::getVar($name); return $file == '' ? true : false; //ajax test - nothing in files } // no files selected? return $file['name'] == '' ? true : false; }