function updateMd($recno, $data, $user) { $rs = FALSE; $sql = array(); $record = getMdHeader('recno', $recno, '', array('all', '=')); if (isset($record[0]['RECNO']) && $record[0]['RECNO'] > -1) { if (!getMdRight('view', $user, $record[0]['DATA_TYPE'], $record[0]['CREATE_USER'], $record[0]['EDIT_GROUP'], $record[0]['VIEW_GROUP'])) { return $rs; } } if (count($data) == 0) { return $rs; } array_push($sql, 'UPDATE md SET', $data, 'WHERE recno=%i', $recno); $rs = _executeSql('update', $sql, array()); //dibi::test($sql); return $rs; }
function getMdRecord($user, $uuid, $akce) { setMickaLog("user={$user}, uuid={$uuid}, akce={$akce}", 'DEBUG', 'MdDetail.getMdRecord.start'); $rs = array(); $rs['data'] = FALSE; $col = 'recno, uuid, md_standard, lang, data_type, create_user, edit_group, view_group, x1 ,x2, y1, y2, title, valid'; $record = getMdHeader('uuid', $uuid, $col, array('all', '=')); if (isset($record[0]['RECNO']) && $record[0]['RECNO'] > -1) { // autorizace if (!getMdRight('view', $user, $record[0]['DATA_TYPE'], $record[0]['CREATE_USER'], $record[0]['EDIT_GROUP'], $record[0]['VIEW_GROUP'])) { setMickaLog("Not right", 'ERROR', 'MdDetail.php (getMdRecord)'); return $rs; } $rs['head']['edit'] = 0; if (getMdRight('edit', $user, $record[0]['DATA_TYPE'], $record[0]['CREATE_USER'], $record[0]['EDIT_GROUP'], $record[0]['VIEW_GROUP']) === TRUE) { $rs['head']['edit'] = 1; } $this->mds = $record[0]['MD_STANDARD']; $rs['head']['recno'] = $record[0]['RECNO']; $rs['head']['mds'] = $record[0]['MD_STANDARD']; $rs['head']['uuid'] = $record[0]['UUID']; $rs['head']['title'] = $record[0]['TITLE']; $rs['head']['valid'] = $record[0]['VALID'] != '' ? $record[0]['VALID'] : ''; $rs['head']['x1'] = array_key_exists('X1', $record[0]) ? (string) str_replace(",", ".", $record[0]['X1']) : ''; $rs['head']['y1'] = array_key_exists('Y1', $record[0]) ? (string) str_replace(",", ".", $record[0]['Y1']) : ''; $rs['head']['x2'] = array_key_exists('X2', $record[0]) ? (string) str_replace(",", ".", $record[0]['X2']) : ''; $rs['head']['y2'] = array_key_exists('Y2', $record[0]) ? (string) str_replace(",", ".", $record[0]['Y2']) : ''; $rs['head']['hierarchy'] = ''; if ($akce == 'detail') { if ($record[0]['MD_STANDARD'] == 0 || $record[0]['MD_STANDARD'] == 10) { $rs['data'] = $this->getMdValuesMdId($record[0]['RECNO'], $record[0]['MD_STANDARD'], $this->getLangValue($record[0]['LANG'])); // Rodicovske zaznamy $master = isset($rs['data'][121][0]) ? $rs['data'][121][0] : ''; $rs['head']['master'] = $this->getMdMaster($master); // Je rodicem pro zaznamy $rs['head']['slave'] = $this->getMdSlave($record[0]['UUID']); $rs['head']['repre'] = $this->getSpatialRep($record[0]['RECNO']); } elseif ($record[0]['MD_STANDARD'] == 1) { $rs['data'] = $this->getMdValuesMdId($record[0]['RECNO'], $record[0]['MD_STANDARD'], $this->getLangValue($record[0]['LANG'])); } elseif ($record[0]['MD_STANDARD'] == 2) { //$pom = $this->getMdValuesMdId($record[0]['RECNO'], $record[0]['MD_STANDARD'], $this->getLangValue($record[0]['LANG']), 'no_lang'); $pom = getMdValues($record[0]['RECNO'], $record[0]['MD_STANDARD'], $this->getLangValue($record[0]['LANG']), 'no_lang'); if (isset($pom[0][0])) { $rs['data'] = $pom[0][0]; } } } elseif ($akce == 'detailall') { $rs['data'] = $this->getMdDetailView($record[0]['RECNO'], $record[0]['MD_STANDARD']); if ($record[0]['MD_STANDARD'] == 0 || $record[0]['MD_STANDARD'] == 10) { foreach ($rs['data'] as $value) { if ($value['id'] == 11 || $value['id'] == 5063) { $rs['head']['title'] = $value['hodnota']; break; } } } } } $rs['head']['hierarchy'] = $this->hierarchy; setMickaLog($rs, 'DEBUG', 'MdDetail.getMdRecord.return'); return $rs; }
function mainMdFc($akFc, $recno) { $rs = array(); if ($akFc == 'list') { $sql[] = "\n\t\t\tSELECT md.recno, md_values.md_value, md_values.lang, md.data_type, md.create_user, md.view_group, md.edit_group\n\t\t\tFROM (md INNER JOIN md_values ON md.recno = md_values.recno) INNER JOIN standard ON md.md_standard = standard.md_standard"; $sql[] = "WHERE md.md_standard=2 AND md_values.md_id=11"; $sql[] = "ORDER BY md_values.recno"; $result = _executeSql('select', $sql, array('assoc', 'recno,#,=')); if (is_array($result) && count($result) > 0) { foreach ($result as $record) { if (getMdRight('view', MICKA_USER, $record[0]['DATA_TYPE'], $record[0]['CREATE_USER'], $record[0]['EDIT_GROUP'], $record[0]['VIEW_GROUP'])) { $title_micka = ''; $title_eng = ''; $title_random = ''; foreach ($record as $row) { $title_random = $row['MD_VALUE']; if ($row['LANG'] == MICKA_LANG) { $title_micka = $row['MD_VALUE']; } if ($row['LANG'] == 'eng') { $title_micka = $row['MD_VALUE']; } $recno = $row['RECNO']; } $title = $title_micka != '' ? $title_micka : ''; $title = $title == '' && $title_eng != '' ? $title_eng : ''; $title = $title == '' && $title_random != '' ? $title_random : ''; if ($title != '' && $recno > 0) { $title = $title_micka; $pom['recno'] = $recno; $pom['title'] = $title; array_push($rs, $pom); } } } } } elseif ($akFc == 'detail') { $md_record = new MdRecord(); $md_record->setTableMode('md'); $values = $md_record->getMdValues($recno); $rs['uuid'] = $values['md']['UUID']; $rs['langs'] = ''; $rs['titles'] = ''; $rs['hodnoty'] = array(); $title_ap = ''; $title = ''; if (isset($values['md_values']) && count($values['md_values']) > 0) { foreach ($values['md_values'] as $row) { if ($row['MD_ID'] == 11) { $rs['langs'] = $rs['langs'] == '' ? $row['LANG'] : '|' . $row['LANG']; $rs['titles'] = $rs['titles'] == '' ? $row['MD_VALUE'] : '|' . $row['MD_VALUE']; $title = $row['MD_VALUE']; if ($row['LANG'] == MICKA_LANG) { $title_ap = $row['MD_VALUE']; } } if ($row['MD_ID'] == 13) { $pom['kod'] = $row['MD_VALUE']; $pom['nazev'] = $row['MD_VALUE']; array_push($rs['hodnoty'], $pom); } } } $rs['title'] = $title_ap != '' ? $title_ap : $title; } return $rs; }
function getMdFc() { $rs = array(); $sql[] = "\n\t\tSELECT md.recno, md_values.md_value, md_values.lang, md.data_type, md.create_user, md.view_group, md.edit_group\n\t\tFROM (md INNER JOIN md_values ON md.recno = md_values.recno) INNER JOIN standard ON md.md_standard = standard.md_standard"; $sql[] = "WHERE md.md_standard=2 AND md_values.md_id=11"; $sql[] = "ORDER BY md_values.recno"; $result = _executeSql('select', $sql, array('assoc', 'recno,#,=')); if (is_array($result) && count($result) > 0) { foreach ($result as $record) { if (getMdRight('view', MICKA_USER, $record[0]['DATA_TYPE'], $record[0]['CREATE_USER'], $record[0]['EDIT_GROUP'], $record[0]['VIEW_GROUP'])) { $title_micka = ''; $title_eng = ''; $title_random = ''; foreach ($record as $row) { $title_random = $row['MD_VALUE']; if ($row['LANG'] == MICKA_LANG) { $title_micka = $row['MD_VALUE']; } if ($row['LANG'] == 'eng') { $title_micka = $row['MD_VALUE']; } $recno = $row['RECNO']; } $title = $title_micka != '' ? $title_micka : ''; $title = $title == '' && $title_eng != '' ? $title_eng : ''; $title = $title == '' && $title_random != '' ? $title_random : ''; if ($title != '' && $recno > 0) { $title = $title_micka; $pom['recno'] = $recno; $pom['title'] = $title; array_push($rs, $pom); } } } } return $rs; }