public function processEditTypeAction() { $parentId = (int) $this->_getParam('enumerationParentId'); $params = $this->_getParam('visit'); $enumerationId = (int) $params['enumerationId']; $ormClass = $params['ormClass']; $ormClasses = Visit::ormClasses(); $data = false; if (isset($ormClasses[$ormClass])) { if ($parentId > 0) { $closure = new EnumerationsClosure(); $params['active'] = 1; $enumerationId = $closure->insertEnumeration($params, $parentId); } else { $enumeration = new Enumeration(); $enumeration->enumerationId = $enumerationId; $enumeration->populate(); $enumeration->populateWithArray($params); $enumeration->persist(); } $data = true; } $json = Zend_Controller_Action_HelperBroker::getStaticHelper('json'); $json->suppressExit = true; $json->direct($data); }
protected static function _saveEnumeration($data, $parentId = 0) { $enumerationsClosure = new EnumerationsClosure(); foreach ($data as $item) { $enumerationId = $enumerationsClosure->insertEnumeration($item, $parentId); if (isset($item['data'])) { $item['guid'] = NSDR::create_guid(); self::_saveEnumeration($item['data'], $enumerationId); } } }
public function processEditAction() { $parentId = (int) $this->_getParam('parentId'); $params = $this->_getParam('enumeration'); $enumClosure = new EnumerationsClosure(); $enumerationId = $enumClosure->insertEnumeration($params, $parentId); $enumeration = new Enumeration(); $enumeration->enumerationId = $enumerationId; $enumeration->populate(); $icon = ''; if (strlen($enumeration->ormClass) > 0 && class_exists($enumeration->ormClass)) { $icon = "<a onclick=\"enumEditObject({$enumeration->enumerationId})\" title=\"Edit Object\"><img src=\"" . Zend_Registry::get('baseUrl') . "img/sm-editproblem.png\" alt=\"Edit Object\" /></a>"; } $data['parentId'] = $parentId; $data['id'] = $enumeration->enumerationId; $data['data'] = array(); $data['data'][] = $enumeration->name; $data['data'][] = $enumeration->category; $data['data'][] = $enumeration->active; $data['data'][] = $icon; $json = Zend_Controller_Action_HelperBroker::getStaticHelper('json'); $json->suppressExit = true; $json->direct($data); }
public function processImport2xFacilitiesAction() { $import = (int) $this->_getParam('import'); $parentId = (int) $this->_getParam('parentId'); $data = false; if ($import > 0 && $parentId > 0) { $db = Zend_Registry::get('dbAdapter'); $enumClosure = new EnumerationsClosure(); $sql = 'SELECT * FROM practices'; $practices = $db->fetchAll($sql); $ctr = 1; foreach ($practices as $practice) { $p = new Practice(); $p->name = $practice['name']; $p->website = $practice['website']; $p->identifier = $practice['identifier']; //$p->persist(); // add addresses (primary = 4, secondary = 5) $sql = 'SELECT * FROM practice_address AS pa INNER JOIN address a ON a.address_id=pa.address_id WHERE pa.practice_id=' . $practice['id'] . ' AND (pa.address_type=4 OR pa.address_type=5)'; $addresses = $db->fetchAll($sql); foreach ($addresses as $address) { if ($address['address_type'] == 4) { $addr = $p->primaryAddress; } else { if ($address['address_type'] == 5) { $addr = $p->secondaryAddress; } else { continue; } } $addr->populateWithArray($address); $addr->addressId = 0; $addr->type = $address['address_type']; $addr->active = 1; $addr->practiceId = $practice['id']; //$addr->persist(); } // add phones (main = 3, secondary = 1, fax = 5) $sql = 'SELECT * FROM practice_number AS pn INNER JOIN number n ON n.number_id=pn.number_id WHERE pn.practice_id=' . $practice['id'] . ' AND (n.number_type=1 OR n.number_type=3 OR n.number_type=5)'; $phones = $db->fetchAll($sql); foreach ($phones as $phone) { $pn = new PhoneNumber(); $pn->populateWithArray($phone); $pn->type = $phone['number_type']; $pn->numberId = 0; //$pn->persist(); } //$practiceId = $p->practiceId; $practiceId = $practice['id']; $params = array(); $params['name'] = $practice['name']; $params['key'] = $ctr++; $params['active'] = '1'; $params['ormClass'] = 'Practice'; $params['ormId'] = $practiceId; $params['ormEditMethod'] = 'ormEditMethod'; $buildingParentId = $enumClosure->insertEnumeration($params, $parentId); $sql = 'SELECT * FROM buildings WHERE practice_id=' . $practice['id']; $buildings = $db->fetchAll($sql); foreach ($buildings as $building) { $b = new Building(); $b->description = $building['description']; $b->name = $building['name']; $b->practiceId = $p->practiceId; $b->identifier = $building['identifier']; $b->facilityCodeId = $building['facility_code_id']; //$b->phoneNumber = $building['']; //$b->persist(); //$buildingId = $b->buildingId; $buildingId = $building['id']; $params = array(); $params['name'] = $building['name']; $params['key'] = $ctr++; $params['active'] = '1'; $params['ormClass'] = 'Building'; $params['ormId'] = $buildingId; $params['ormEditMethod'] = 'ormEditMethod'; $roomParentId = $enumClosure->insertEnumeration($params, $buildingParentId); // add phone number // add address $sql = 'SELECT * FROM building_address AS ba INNER JOIN address a ON a.address_id=ba.address_id WHERE ba.building_id=' . $building['id']; $addresses = $db->fetchAll($sql); foreach ($addresses as $address) { $addr = new Address(); $addr->populateWithArray($address); $addr->addressId = 0; $addr->type = $address['address_type']; $addr->active = 1; $addr->practiceId = $practice['id']; //$addr->persist(); } $sql = 'SELECT * FROM rooms WHERE building_id=' . $building['id']; $rooms = $db->fetchAll($sql); foreach ($rooms as $room) { $r = new Room(); $r->populateWithArray($room); $r->roomId = 0; //$r->persist(); //$roomId = $r->roomId; $roomId = $room['id']; $params = array(); $params['name'] = $room['name']; $params['key'] = $ctr++; $params['active'] = '1'; $params['ormClass'] = 'Room'; $params['ormId'] = $roomId; $params['ormEditMethod'] = 'ormEditMethod'; $enumerationId = $enumClosure->insertEnumeration($params, $roomParentId); } } } $data = true; } $json = Zend_Controller_Action_HelperBroker::getStaticHelper('json'); $json->suppressExit = true; $json->direct($data); }
protected static function _saveEnumeration($data, $parentId = 0) { $enumerationsClosure = new EnumerationsClosure(); foreach ($data as $item) { $item['key'] = strtoupper($item['key']); // make sure keys are all UPPERCASE $enumerationId = $enumerationsClosure->insertEnumeration($item, $parentId); if (isset($item['data'])) { self::_saveEnumeration($item['data'], $enumerationId); } } }