====== karriere.ac-Testzugänge bei NdU Aachen ====== ===== Knuts Vorgehen ===== Den NdU-Aachen-Teilnehmerunternehmen wird als Teil des Pakets ein Testzugang (in der Regel bis Ende November des NdU-Jahrs) angelegt. [[projekte:karriere.ac|Hier geht es zu karriere.ac in diesem Brain »»]] (ftp-Zugang, SQL-Zugang) Die PHP-Scripte zur Jobbörse (realisiert als UserFunctions im TYPOSCRIPT) liegen in ''**/htdocs/karriere2017/typo3conf/ext/bl_jobboerse**'' (Stand 2019-09-24) Zentral ist die Tabelle "Company". Das ist die Logintabelle für die Arbeitgeber. Zur Anmeldung kann ein Username oder die E-Mail-Adresse genutzt werden. Ein Unternehmen kann sich anmelden, wenn die Spalte ''**c_aktiv**'' den Wert 1 hat. Die Spalten ''**c_testaccount**'' und ''**c_testaccountdate**'' werden beim Login nicht beachtet. Die Spalten ''**c_testaccount**'' und ''**c_testaccountdate**'' werden aber in der Funktion "jobSlider" (auf der karriere.ac-Startseite) überprüft und ''**c_activ**'' wird auf 0 gesetzt, wenn ''**c_testaccount**'' = 1 ist und ''**c_testaccountdate**'' kleiner als das aktuelle Unix-Timestamp. Ich (Knut, EC) habe mir ein Testunternehmen "TEMA Testnologie AG" (''**c_id=250**'') gemacht, dem Testbewerber "Knutsch" (''**id=198**'') ein neues Passwort verpasst und dieses in der Datenbank dem Unternehmen zugewiesen. Außerdem das ''**c_testaccountdate**'' auf einen aktuellen Wert gesetzt. \\ Das wird nun die **Kopiervorlage** für alle Testaccounts. Da gibt es UNIX-Timestamps: https://www.unixtimestamp.com/index.php (Sicherlich auch woanders.) Nachdem aus dem NdU-Backend die Daten Excel-exportiert und zurechtgemacht wurden (z.B. Spaltennamen wie in der Jobbörse), wurden diese in die Jobbörsen-DB importiert (Tabelle ''**ndu**''). Dann schauen wir, wo es die Firma schon gibt - Gleichheit der E-Mailadresse (die E-Mail ist nicht unique, aber fast). ''update ndu, company \\ set ndu.c_id=company.c_id, \\ ndu.c_aktiv=company.c_aktiv, \\ ndu.c_username=company.c_username, \\ ndu.c_passwort=company.c_passwort, \\ ndu.c_testaccount=company.c_testaccount \\ WHERE ndu.c_email=company.c_email'' Die Datensätze in der ''**ndu**''-Tabelle, bei denen ''**c_aktiv**''=1 und ''**c_testaccount**''=0 (haben also aktiven karriere.ac-Zugang), löschen wir - da wird nichts angerührt. Die Daten in der ''**ndu**''-Tabelle vorbereiten: ''update ndu set c_username=replace(`c_email`,'@','.bei.') where c_username=""'' ''update ndu,company \\ set ndu.c_aktiv=1, ndu.c_testaccount=1, ndu.c_testaccountdate=company.c_testaccountdate, ndu.c_passwort=company.c_passwort, ndu.c_timestamp=unix_timestamp() \\ WHERE company.c_id=250'' Die Neuzugänge einfügen: ''insert into company (c_timestamp, c_name, c_strasse, c_plz, c_ort, c_email, \\ c_telefon, c_ansprechpartner, c_username, c_passwort, c_aktiv, c_testaccountdate, c_testaccount) \\ select c_timestamp, c_name, c_strasse, c_plz, c_ort, c_email, \\ c_telefon, c_ansprechpartner, c_username, c_passwort, c_aktiv, c_testaccountdate, c_testaccount \\ from ndu where c_id is null'' Alte Testzugänge aktualisieren: ''update ndu,company \\ set company.c_aktiv=ndu.c_aktiv, company.c_testaccountdate=ndu.c_testaccountdate, \\ company.c_testaccount=ndu.c_testaccount, company.c_passwort=ndu.c_passwort \\ where ndu.c_id=company.c_id'' Wegen der Scheißvorgaben (keine Punkte und so) müssten die ''**c_username**'' noch nachbearbeitet werden!!! - Deshalb die Aufforderung, sich über die E-Mailadresse einzuloggen. ===== Unterprojekte ===== {{indexmenu>projekte:nachtderunternehmen:karriere-ac-testzugaenge#2| js doku}} \\ Neues Projekt anlegen: {{NEWPAGE>projekte:nachtderunternehmen:karriere-ac-testzugaenge}} ===== Kommentare =====