Last active
January 13, 2019 18:10
-
-
Save radarin/8f5b3ef03a6c2ab27dd0af91ff405bba to your computer and use it in GitHub Desktop.
Listet die Tabelle und stellt das Bearbeitungsformular
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/* Inhalt listen (Admin) */ | |
add_shortcode('rad-glossar-adminlist', 'radGlossarAdminlist'); | |
function radGlossarAdminlist() { | |
global $wpdb; | |
$ausgabe = ""; | |
// Formular wird nur Admin angezeigt | |
if(current_user_can('administrator')){ | |
// Hier die URL eintragen, auf welcher die Seite verwendet wird | |
$url = "https://computer-for-dummies.ch/glossar/bearbeiten/"; | |
$spacer= "https://computer-for-dummies.ch/static-img/blank.3x3.png"; | |
// Formular wird angezeigt wenn in der URL die DSID vorhanden ist. | |
if((isset($_GET['id']) OR isset($_GET['del'])) AND !isset($_GET['delok']) ){ | |
// Liest die Daten eines Datensatzes und füllt das Formular aus | |
$sql = $wpdb->get_row("SELECT * FROM ".$wpdb->prefix."rad_glossar WHERE glossar_ID = ".esc_sql($_GET['id']).""); | |
$ausgabe .= "<p class='glossartitel'>Eintrag bearbeiten</p>"; | |
// | |
if(isset($_GET['del'])){ | |
$ausgabe .= "<p class='glossarinfo-false'>Wollen Sie diesen Eintrag wirklich löschen?</p>"; | |
} | |
$ausgabe .= "<form action='".$url."?save' METHOD='post'>"; | |
$ausgabe .= "<p class='glossarfieldname' class='glossartitel'>Begriff</p>"; | |
$ausgabe .= "<p><input type='text' name='glossar_term' value='".$sql->glossar_term."' maxlength='50' class='glossarfield'></p>"; | |
$ausgabe .= "<p class='glossarfieldname'>Beschreibung</p>"; | |
$ausgabe .= "<p><textarea name='glossar_description' wrap='virtual' class='glossararea'>".$sql->glossar_description."</textarea></p>"; | |
// Der Speichern Button ändert die Beschriftung bei der Löschen-Nachfrage | |
if(!isset($_GET['del'])){$txtsave = "Speichern";} else {$txtsave = "Abbrechen";} | |
// Speichern Button | |
$ausgabe .= "<p><input type='Submit' value='".$txtsave."' class='glossarbutton'><img class='glossarspacer' src='".$spacer."'></p>"; | |
$ausgabe .= "<input type='hidden' name='glossar_ID' value='".$sql->glossar_ID."'></p>"; | |
$ausgabe .= "</form>"; | |
// URL Variable für Löschen-Button | |
if(!isset($_GET['del'])){$del = "del";} else {$del = "delok";} | |
$ausgabe .= "<form action='".$url."?id=".$sql->glossar_ID."&".$del."' METHOD='post'>"; | |
// Der Löschen-Button ändert die Beschriftung, wenn die URL Variable 'del' vorhanden ist. | |
if(!isset($_GET['del'])){$txtdel = "Löschen...";} else {$txtdel = "Definitiv löschen";} | |
// Löschen Button | |
$ausgabe .= "<p><input type='Submit' value='".$txtdel."' class='glossarbutton'></p>"; | |
$ausgabe .= "</form><p><br /> <br /> <br /></p>"; | |
} | |
} | |
// Speichert den DS wenn in der URL die Variable 'save' vorhanden ist, und das Feld 'term' nicht leer ist | |
if(isset($_GET['save']) AND $_POST['glossar_term'] != ""){ | |
$result = $wpdb->update( | |
$wpdb->prefix.'rad_glossar', | |
array( | |
'glossar_term' => $_POST['glossar_term'], | |
'glossar_description' => $_POST['glossar_description'] | |
), | |
array( 'glossar_ID' => $_POST['glossar_ID'] ), | |
array( | |
'%s', //term | |
'%s' //description | |
// %s steht für String (Text), %d für Integer (ganze Zahlen) und %f für Float (Gleitkommazahlen). | |
), | |
array( '%d' ) //Integer (ID) | |
); | |
// Bestätigung | |
if($result === false) | |
{ | |
echo "<p class='glossarinfo-false'>Der Datensatz konnte nicht aktualisiert werden</p>"; | |
} else { | |
// | |
if($result == 0){ | |
echo "<p class='glossarinfo-false'>Am Datensatz wurden keine Änderungen vorgenommen</p>"; | |
}else{ | |
if($result > 1){ | |
echo "<p class='glossarinfo-true'>".$result." Datensätze wurden aktualisiert</p>"; | |
}else{ | |
echo "<p class='glossarinfo-true'>".$result." Datensatz wurde aktualisiert</p>"; | |
} | |
} | |
} | |
} | |
// Datensatz löschen, wenn URL Variable 'delok' vorhanden ist | |
if(isset($_GET['delok']) ){ | |
// Tabellenname, löschen mittels ID | |
$table = $wpdb->prefix."rad_glossar"; | |
$result = $wpdb-> delete ($table, Array ('glossar_ID' => $_GET['id'])); | |
// Bestätigung | |
if($result == 0){ | |
echo "<p class='glossarinfo-false'>Fehler beim Löschen des Eintrages</p>"; | |
} else { | |
echo "<p class='glossarinfo-true'>Der Eintrag wurde gelöscht</p>"; | |
} | |
} | |
// Alle Einträge listen (nur Begriff) | |
$sql = $wpdb->get_results("SELECT glossar_term, glossar_ID | |
FROM ".$wpdb->prefix."rad_glossar | |
ORDER BY glossar_term ASC"); | |
$numrows = $wpdb->num_rows; | |
$ausgabe .= "<p class='glossartitel'>Auswahl zu bearbeitende Einträge</p>"; | |
$ausgabe .= "<p class='glossarnumrows'>Das Glossar enthällt ".$numrows." Einträge.</p>"; | |
$ausgabe .= "<p class='glossaredit'>"; | |
foreach($sql as $result) | |
{ | |
// Lädt die Liste erneut, durch die ID in der URL wird das Edit Formular angezeigt | |
$ausgabe .= "<a href='".$url."?id=".$result->glossar_ID."'>".$result->glossar_term."</a><br />"; | |
} | |
$ausgabe .= "</p>"; | |
return $ausgabe; | |
} // --- END Funktion | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment