예제 #1
0
function get_data_array()
{
    global $dataFile, $dataCols, $fields, $lists, $docsCount, $biosCount;
    if (($handle = fopen($dataFile, "r")) === FALSE) {
        return array();
    }
    $results = array();
    $j = 0;
    while (($cols = fgetcsv($handle, 0, "\t")) !== FALSE) {
        $glData = array();
        $row = array();
        if ($cols && $cols[1]) {
            //var_dump($cols);exit;
            foreach ($cols as $key => $val) {
                $val = trim($val, '"');
                $val = trim($val);
                $row[$key] = $val;
                $entityField = $dataCols[$key];
                if ($entityField) {
                    $ent = $entityField["ent"];
                    $list_code = $entityField['list_code'];
                    $type = $entityField['field_type'];
                    $mlt = trim($entityField['is_repeat']) == 'Y' || trim($entityField['is_repeat']) == 'y' ? true : false;
                    if ($list_code == 39) {
                        if ($val == "M") {
                            $val = "Hombre";
                        } elseif ($val == "F") {
                            $val = "Mujer";
                        }
                    }
                    if ($list_code && !$lists[$list_code]) {
                        $options = array();
                        $data_array = MtFieldWrapper::getMTList($list_code);
                        $size = count($data_array);
                        for ($i = 0; $i < $size; $i++) {
                            $options[$data_array[$i]['vocab_number']] = strtolower($data_array[$i]['label']);
                        }
                        $lists[$list_code] = $options;
                    }
                    if ($list_code) {
                        if ($mlt) {
                            $val2 = explode(";", $val);
                            $val = array();
                            foreach ($val2 as $v) {
                                $v = trim($v);
                                $vocab_number = array_search(strtolower($v), $lists[$list_code]);
                                if ($vocab_number) {
                                    $val[] = $vocab_number;
                                }
                            }
                        } else {
                            $vocab_number = array_search(strtolower($val), $lists[$list_code]);
                            if ($vocab_number) {
                                $val = $vocab_number;
                            } else {
                                $val = null;
                            }
                        }
                    }
                    if ($type == "date") {
                        if ($val) {
                            $d = date_create_from_format("m/d/Y", $val);
                            if ($d) {
                                $val = date_format($d, 'Y-m-d');
                            } else {
                                $val = null;
                            }
                        } else {
                            $val = null;
                        }
                    } elseif ($type == "location") {
                        $val2 = explode(",", $val);
                        //$row[$entityField['field_name'] . "_latitude"] = -floatval($val2[0]);
                        //$row[$entityField['field_name'] . "_longitude"] = -floatval($val2[1]);
                        $glData[$ent][$entityField['field_name'] . "_latitude"] = -floatval($val2[0]);
                        $glData[$ent][$entityField['field_name'] . "_longitude"] = -floatval($val2[1]);
                        $val = null;
                    } elseif ($type == "radio") {
                        if ($val == "NO" || $val == "no") {
                            $val = "n";
                        } elseif ($val == "SÍ" || $val == "sí") {
                            $val = "y";
                        } else {
                            $val = null;
                        }
                    }
                    if (!is_null($val)) {
                        //$row[$entityField['field_name']] = $val;
                        $glData[$ent][$entityField['field_name']] = $val;
                    }
                }
            }
            if (!$glData['act']['ubicacto']) {
                $v = $row[25];
                $vocab_number = array_search(strtolower($v), $lists[71]);
                if ($vocab_number) {
                    $glData['act']['ubicacto'] = $vocab_number;
                }
            }
            if (!$glData['act']['ubicacto']) {
                $v = $row[24];
                $vocab_number = array_search(strtolower($v), $lists[71]);
                if ($vocab_number) {
                    $glData['act']['ubicacto'] = $vocab_number;
                }
            }
            $browse = new Browse();
            $rows = $browse->ExecuteQuery("select event_record_number as id from event where event_title='" . $glData['event']['event_title'] . "'");
            if ($rows && $rows[0]['id']) {
                $event = new Event();
                $event->LoadFromRecordNumber($rows[0]['id']);
            } else {
                $form = event_form('new');
                $event = new Event();
                $event->event_record_number = shn_create_uuid('event');
                form_objects($form, $event, $glData['event']);
                $event->SaveAll();
            }
            $browse = new Browse();
            $person = null;
            if ($glData['person']['person_name'] != "NN") {
                $rows = $browse->ExecuteQuery("select person_record_number as id from person where person_name='" . $glData['person']['person_name'] . "' \n\t\t\t\tand other_names='" . $glData['person']['other_names'] . "' ");
                if ($rows && $rows[0]['id']) {
                    $person = new Person();
                    $person->LoadFromRecordNumber($rows[0]['id']);
                }
            }
            if (!$person) {
                $person_form = person_form('new');
                $person = new Person();
                form_objects($person_form, $person, $glData['person']);
                $person->deceased = $person->deceased == 'on' ? 'y' : 'n';
                if (isset($person->number_of_persons_in_group) && !$person->number_of_persons_in_group) {
                    $person->number_of_persons_in_group = Null;
                }
                if (isset($person->dependants) && !$person->dependants) {
                    $person->dependants = Null;
                }
                $person->SaveAll();
            }
            $victim = $person;
            $act_form = act_form('new');
            $act = new Act();
            $act->act_record_number = shn_create_uuid('act');
            $glData['act']['victim'] = $victim->person_record_number;
            form_objects($act_form, $act, $glData['act']);
            $act->event = $event->event_record_number;
            $act->SaveAll();
            if ($glData['perpetrator']['person_name']) {
                $browse = new Browse();
                $rows = $browse->ExecuteQuery("select person_record_number as id from person where person_name='" . $glData['perpetrator']['person_name'] . "' ");
                if ($rows && $rows[0]['id']) {
                    $person = new Person();
                    $person->LoadFromRecordNumber($rows[0]['id']);
                } else {
                    $person_form = person_form('new');
                    $person = new Person();
                    form_objects($person_form, $person, $glData['perpetrator']);
                    $person->deceased = $person->deceased == 'on' ? 'y' : 'n';
                    if (isset($person->number_of_persons_in_group) && !$person->number_of_persons_in_group) {
                        $person->number_of_persons_in_group = Null;
                    }
                    if (isset($person->dependants) && !$person->dependants) {
                        $person->dependants = Null;
                    }
                    $person->SaveAll();
                }
                $perpetrator = $person;
                $inv = new Involvement();
                $inv->involvement_record_number = shn_create_uuid('inv');
                $inv->degree_of_involvement = "54010101001921";
                //placeholder
                $inv->event = $event->event_record_number;
                $inv->act = $act->act_record_number;
                $inv->perpetrator = $perpetrator->person_record_number;
                $inv->SaveAll();
            }
            $supporting_documents = array();
            if (trim($row[9])) {
                $document_form = document_form('new');
                unset($document_form['doc_id']);
                $supporting_docs = new SupportingDocs();
                $supporting_docs_meta = new SupportingDocsMeta();
                $type = null;
                $doc_uuid = shn_create_uuid('doc');
                $supporting_docs->doc_id = $doc_uuid;
                $supporting_docs_meta->doc_id = $doc_uuid;
                $supporting_docs->uri = '';
                form_objects($document_form, $supporting_docs, array('title' => $row[9]));
                form_objects($document_form, $supporting_docs_meta, array('title' => $row[9]));
                $supporting_docs_meta->format = $type;
                $supporting_docs->Save();
                $supporting_docs_meta->Save();
                $supporting_documents[] = $doc_uuid;
            }
            for ($j = 1; $j <= $docsCount; $j++) {
                if ($glData["supporting_docs_meta" . $j]) {
                    if (!$glData["supporting_docs_meta" . $j]['title']) {
                        continue;
                    }
                    $document_form = document_form('new');
                    unset($document_form['doc_id']);
                    $supporting_docs = new SupportingDocs();
                    $supporting_docs_meta = new SupportingDocsMeta();
                    $type = null;
                    $doc_uuid = shn_create_uuid('doc');
                    $supporting_docs->doc_id = $doc_uuid;
                    $supporting_docs_meta->doc_id = $doc_uuid;
                    $supporting_docs->uri = '';
                    form_objects($document_form, $supporting_docs, $glData["supporting_docs_meta" . $j]);
                    form_objects($document_form, $supporting_docs_meta, $glData["supporting_docs_meta" . $j]);
                    $supporting_docs_meta->format = $type;
                    $supporting_docs->Save();
                    $supporting_docs_meta->SaveAll();
                    $supporting_documents[] = $doc_uuid;
                }
            }
            if ($supporting_documents) {
                $act->supporting_documents = $supporting_documents;
                $act->SaveDocs();
            }
            $bio_details = array();
            for ($j = 1; $j <= $biosCount; $j++) {
                if ($glData["bio_details" . $j] && $glData["bio_details" . $j]["type_of_relationship"]) {
                    $browse = new Browse();
                    $rows = $browse->ExecuteQuery("select person_record_number as id from person where person_name='" . $glData["bio_details" . $j]['person_name'] . "' \n\t\t\t\t\tand other_names='" . $glData['bio_details']['other_names'] . "' ");
                    if ($rows && $rows[0]['id']) {
                        $person = new Person();
                        $person->LoadFromRecordNumber($rows[0]['id']);
                    } else {
                        $person_form = person_form('new');
                        $person = new Person();
                        form_objects($person_form, $person, $glData["bio_details" . $j]);
                        $person->deceased = $person->deceased == 'on' ? 'y' : 'n';
                        if (isset($person->number_of_persons_in_group) && !$person->number_of_persons_in_group) {
                            $person->number_of_persons_in_group = Null;
                        }
                        if (isset($person->dependants) && !$person->dependants) {
                            $person->dependants = Null;
                        }
                        $person->SaveAll();
                    }
                    if ($glData["bio_details" . $j]["phone"] || $glData["bio_details" . $j]["email"]) {
                        $address = new Address();
                        $address_form = address_form('new');
                        form_objects($address_form, $address, $glData["bio_details" . $j]);
                        $address->person = $person->person_record_number;
                        $address->Save();
                    }
                    $biography_form = biographic_form('new');
                    $biography = new BiographicDetail();
                    //$biography->LoadfromRecordNumber();
                    $biography->biographic_details_record_number = shn_create_uuid('biography');
                    $glData["bio_details" . $j]['person_id'] = $person->person_record_number;
                    form_objects($biography_form, $biography, $glData["bio_details" . $j]);
                    $biography->person = $victim->person_record_number;
                    $biography->related_person = $person->person_record_number;
                    if ($biography->related_person == '') {
                        $biography->related_person = null;
                    }
                    $biography->SaveAll();
                }
            }
        }
        $results[] = $row;
        $j++;
    }
    return $results;
}
예제 #2
0
 public function act_edit_act()
 {
     $act_form = act_form('edit');
     $this->vp_list = Browse::getVpList($this->event_id);
     if (isset($_POST['update'])) {
         $status = shn_form_validate($act_form);
         if ($status) {
             $act = new Act();
             $act->LoadFromRecordNumber($_REQUEST['act_id']);
             $act->LoadRelationships();
             $act->LoadManagementData();
             form_objects($act_form, $act);
             $act->SaveAll();
             $this->act = $act;
             $_GET['type'] = 'act';
             set_redirect_header('events', 'vp_list', null, array('act_id' => $_REQUEST['act_id'], 'type' => 'act'));
             return;
         }
     }
     $this->act_form = $act_form;
     //if an involvement is requested
     if (isset($_GET['inv_id'])) {
         $this->set_inv();
     }
     //if an act is requested
     if (isset($_GET['act_id'])) {
         $this->set_act();
     }
 }
 public function entity_search_form($entity_type)
 {
     include_once APPROOT . 'inc/lib_form_util.inc';
     if ($entity_type != null) {
         switch ($entity_type) {
             case 'event':
                 $this->search_header = _t("EVENT_SEARCH_FORM");
                 $this->search_form = event_form('search');
                 formArrayRefine($this->search_form);
                 $this->fields = shn_form_get_html_fields($this->search_form);
                 break;
             case 'person':
                 $this->search_header = _t("PERSON_SEARCH_FORM");
                 $this->search_form = person_form('search');
                 $this->address_search_form($this->search_form);
                 formArrayRefine($this->search_form);
                 $this->fields = shn_form_get_html_fields($this->search_form);
                 break;
             case 'victim':
                 $this->search_header = _t("VICTIM_SEARCH_FORM");
                 $this->search_form = victim_form('search');
                 $this->address_search_form($this->search_form);
                 formArrayRefine($this->search_form);
                 $this->fields = shn_form_get_html_fields($this->search_form);
                 break;
             case 'perpetrator':
                 $this->search_header = _t("PERPETRATOR_SEARCH_FORM");
                 $this->search_form = perpetrator_form('search');
                 $this->address_search_form($this->search_form);
                 formArrayRefine($this->search_form);
                 $this->fields = shn_form_get_html_fields($this->search_form);
                 break;
             case 'source':
                 $this->search_header = _t("SOURCE_SEARCH_FORM");
                 $this->search_form = source_form('search');
                 $this->address_search_form($this->search_form);
                 formArrayRefine($this->search_form);
                 $this->fields = shn_form_get_html_fields($this->search_form);
                 break;
             case 'intervening_party':
                 $this->search_header = _t("INTERVENING_PARTY_SEARCH_FORM");
                 $this->search_form = intervening_party_form('search');
                 $this->address_search_form($this->search_form);
                 formArrayRefine($this->search_form);
                 $this->fields = shn_form_get_html_fields($this->search_form);
                 break;
             case 'information':
                 $this->search_header = _t("INFORMATION_SEARCH_FORM");
                 $this->search_form = information_form('search');
                 formArrayRefine($this->search_form);
                 $this->fields = shn_form_get_html_fields($this->search_form);
                 break;
             case 'intervention':
                 $this->search_header = _t("INTERVENTION_SEARCH_FORM");
                 $this->search_form = intervention_form('search');
                 formArrayRefine($this->search_form);
                 $this->fields = shn_form_get_html_fields($this->search_form);
                 break;
             case 'act':
                 $this->search_header = _t("ACT_SEARCH_FORM");
                 $this->search_form = act_form('search');
                 formArrayRefine($this->search_form);
                 $this->fields = shn_form_get_html_fields($this->search_form);
                 break;
             case 'involvement':
                 $this->search_header = _t("INVOLVEMENT_SEARCH_FORM");
                 $this->search_form = involvement_form('search');
                 formArrayRefine($this->search_form);
                 $this->fields = shn_form_get_html_fields($this->search_form);
                 break;
             case 'supporting_docs_meta':
                 $this->search_header = _t("DOCUMENT_SEARCH_FORM");
                 $this->search_form = document_form('search');
                 formArrayRefine($this->search_form);
                 $this->fields = shn_form_get_html_fields($this->search_form);
                 break;
         }
     }
 }
예제 #4
0
</button>
                                        <button type='submit' class='btn' name='no' ><i class="icon-remove-circle"></i> <?php 
                    echo _t('CANCEL');
                    ?>
</button>
                                    </center>
                                </form>
                            </div>
                            <?php 
                }
            }
            ?>
                    <?php 
            echo "<br />";
            echo "<br />";
            $act_form = act_form('view');
            popuate_formArray($act_form, $act);
            shn_form_get_html_labels($act_form, false);
            if (isset($ad)) {
                echo "<br />";
                echo "<br />";
                echo "<h3>" . _t('ADDITIONAL_DETAILS') . "</h3>&nbsp;";
                $ad_form = generate_formarray($ad_type, 'view');
                popuate_formArray($ad_form, $ad);
                shn_form_get_html_labels($ad_form, false);
            }
            break;
        case 'inv':
            echo "<h3>" . _t('VIEW_INVOLVEMENT_RECORD') . "</h3>&nbsp;";
            echo "<br />";
            ?>