protected function _scanForms() { $messages = array(); $formCnt = 0; $addCnt = 0; $eDir = $this->_checkDir($this->formDir); if ($eDir !== false) { $model = $this->loader->getModels()->getOpenRosaFormModel(); while (false !== ($filename = $eDir->read())) { if (substr($filename, -4) == '.xml') { $formCnt++; $form = new \OpenRosa_Tracker_Source_OpenRosa_Form($this->formDir . $filename); $filter['gof_form_id'] = $form->getFormID(); $filter['gof_form_version'] = $form->getFormVersion(); $forms = $model->load($filter); if (!$forms) { $newValues = array(); $newValues['gof_id'] = null; $newValues['gof_form_id'] = $form->getFormID(); $newValues['gof_form_version'] = $form->getFormVersion(); $newValues['gof_form_title'] = $form->getTitle(); $newValues['gof_form_xml'] = $filename; $newValues = $model->save($newValues); if (\Gems_Tracker::$verbose) { \MUtil_Echo::r($newValues, 'added form'); } $addCnt++; } } } } $cache = GemsEscort::getInstance()->cache; $cache->clean(); $messages[] = sprintf('Checked %s forms and added %s forms', $formCnt, $addCnt); }