public function checkLine($line) { $errors = ""; if (!FleximportTable::findOneByName("fleximport_semiro_course_import")) { return "Tabelle fleximport_semiro_course_import existiert nicht. "; } $dilp_kennung_feld = FleximportConfig::get("SEMIRO_DILP_KENNUNG_FIELD"); if (!$dilp_kennung_feld) { $dilp_kennung_feld = "dilp_teilnehmer"; } if (!$line[$dilp_kennung_feld]) { $errors .= "Teilnehmer hat keinen Wert für '{$dilp_kennung_feld}''. "; } else { $datafield = Datafield::findOneByName(FleximportConfig::get("SEMIRO_USER_DATAFIELD_NAME")); if (!$datafield) { $errors .= "System hat kein Datenfeld " . FleximportConfig::get("SEMIRO_USER_DATAFIELD_NAME") . ", womit die Nutzer identifiziert werden. "; } else { $entry = DatafieldEntryModel::findOneBySQL("datafield_id = ? AND content = ? ", array($datafield->getId(), $line[$dilp_kennung_feld])); if (!$entry || !User::find($entry['range_id'])) { $errors .= "Nutzer konnte nicht durch id_teilnehmer identifiziert werden. "; } } } if (!$line['teilnehmergruppe']) { $errors .= "Keine Teilnehmergruppe. "; } else { $statement = DBManager::get()->prepare("\n SELECT 1\n FROM fleximport_semiro_course_import\n WHERE teilnehmergruppe = ?\n "); $statement->execute(array($line['teilnehmergruppe'])); if (!$statement->fetch()) { $errors .= "Nicht verwendete Teilnehmergruppe. "; } } return $errors; }
public function export_action($id) { $this->table = FleximportTable::find($id); if (Request::option("secret") !== $this->table->getExportSecret()) { throw new AccessDeniedException(); } $this->table->fetchData(); $this->render_csv(); }
public function overview_action() { PageLayout::addScript($this->plugin->getPluginURL() . "/assets/jquery.elastic.source.js"); $this->configs = FleximportConfig::all(); $this->possibleConfigs = array(); foreach (FleximportTable::findAll() as $table) { $this->possibleConfigs = array_merge($this->possibleConfigs, $table->neededConfigs()); } $this->possibleConfigs = array_unique($this->possibleConfigs); }
public function targetdetails_action($id) { $this->table = FleximportTable::findOneByName(Request::get("table")); $this->line = $this->table->getLine($id); $this->data = $this->table->getMappedData($this->line); $pk = $this->table->getPrimaryKey($this->data); $classname = $this->table['import_type']; if ($classname) { $this->object = new $classname($pk); } }
public function mapField($field, $line) { if ($field === 'user_id') { $db = DBManager::get(); if ($line['fp_idnr']) { //get user-ID by checking fp_idnr: $userId = $this->getUserIdByDatafield($db, 'fp_idnr', $line['fp_idnr']); if (!$userId) { //datafield not found: check for safo_key: $userId = $this->getUserIdByDatafield($db, 'safo_key', $line['safo_key']); if (!$userId) { return false; } else { return $userId; } } else { return $userId; } } elseif ($line['safo_key']) { $userId = $this->getUserIdByDatafield($db, 'safo_key', $line['safo_key']); if (!$userId) { return false; } else { return $userId; } } } elseif ($field === 'username') { $db = DBManager::get(); $userName = strtolower(str_replace(" ", ".", FleximportTable::reduceDiakritikaFromIso88591($line['vorname'])) . "." . str_replace(" ", "", FleximportTable::reduceDiakritikaFromIso88591($line['nachname']))); $user_id = $this->getUserIdByDatafield($db, 'fp_idnr', $line['fp_idnr']); if (!$user_id) { //datafield not found: check for safo key: $userId = $this->getUserIdByDatafield($db, 'safo_key', $line['safo_key']); } $pureUsername = $userName; if (!$user_id) { $i = 1; while ($db->query("SELECT 1 FROM auth_user_md5 WHERE username = "******"SELECT username FROM auth_user_md5 WHERE user_id = " . $db->quote($user_id))->fetch(PDO::FETCH_BOTH); return $userName[0]; } } elseif ($field === 'geschlecht') { if (strtolower($line['geschlecht']) == 'm') { return 1; } elseif (strtolower($line['geschlecht']) == 'w') { return 2; } else { return 0; //undefined } } return false; }