Beiträge von harry89

    So, heute auch mal GIT für die Zukunft eingerichtet und die Daten dort hochgeladen.

    Dazu habe ich heute mal ein paar Bugs behoben die mir noch aufgefallen sind und den Code wieder was aufgeräumt.
    Jetzt funktioniert auch das Updaten von Diensten bzw. deren Informationen.

    Nächster Schritt wird das Eintragen von Usern erlauben (Struktur steht schon, aber der Code muss angepasst werden bzw. "eingepasst" in die neue Struktur des Codes).

    Hallo zusammen.

    Ich erstelle den Post hier so früh aus zwei Gründen.
    Zunächst einmal um im Arbeitsprozess auch vielleicht ein wenig Hilfe zu bekommen.
    Zum anderen für die Veröffentlichung ein paar Infos und Beta-Tester zu finden die mir an der Lösung der Bugs vielleicht auch helfen können.

    Vorstellung:
    Ich arbeite in einem kleinen Verein der eine Bar für Studenten betreibt. Unsere alte Webseite ist nicht mehr aufm neusten Stand, daher bringe ich die Grundfunktionen jetzt mal als Plugin nach Wordpress. Nach und nach werden die Funktionen erweitert bzw. zusätzliche Plugins (Core + Addons)

    Plugin Infos:
    Es handelt sich um einen Dienstplan für jeden Zweck. Angemeldete User können sich im Backend für Dienste eintragen und austragen. Der Verwalter der Dienste kann beliebig viele Dienste am Tag erstellen und einstellen wie der Dienst heißt, wie viele Leute benötigt werden und z.B. ob der Dienst im Frontend in einem Widget veröffentlicht werden sollen.

    Bisher funktioniert:

    • Dienstplan Anzeigen
    • Dienste erstellen, löschen
    • AJAX + jQuery Übergang von der Übersicht zur Dienst Eingabe

    Geplante Umsetzung:

    • Eintragungen in den Dienstplan ermöglichen
    • Rollenverwaltung einbauen (Wer kann Dienste erstellen, wer eintragen,...)
    • Erinnerungssystem (eMail + Backend Notification für Eintragungen + spontane Austragungen)
    • Statistik für Dienste (wer hat sich wie viel eingetragen)
    • Kommentare zu Diensten

    Bereits umgesetzt, aber noch Änderungen erforderlich:

    • Widget fürs Anzeigen der nächsten Dienste im Frontend

    Wenn jemand das Plugin schon Testen will, so stelle ich es gerne nach Rücksprache zur Verfügung.
    Sobald die Eintragungen möglich sind werde ich das Plugin offiziell veröffentlichen.



    Und noch ein Youtube Video für die Funktionen.

    https://www.youtube.com/watch?v=KYijY2znYbE

    Beste Grüße

    Da bisher wohl niemand eine Idee hat oder bei dem doch recht kompliziert beschriebenen Text entsprechend durchblickt, so formuliere ich das noch mal etwas eindeutiger.

    Ich suche eine Möglichkeit innerhalb von PHP und Wordpress verschiedene Inhalte zu laden mit Links und Formularen. Dabei möglichst die URL in Ruhe lassen.

    Außerdem: Habe beobachtet, dass viele Plugins keine URL haben wie meine:

    PHP
    http://localhost/wordpress/wp-admin/admin.php?page=dp-show

    Diese haben dann tatsächlich URLs wie z.b.:

    PHP
    http://localhost/wordpress/wp-admin/edit.php

    Ich kann nicht so ganz beim Code durchblicken wie diese edit.php Seite des Plugins geladen / erzeugt wird. Der Code ist etwas undurchsichtig. Ideen? Tutorials? Codex Posts? Zumal ich bei gleichen "page" GET die Seiten sich überschneiden und so fehlgeleitet werden

    Beste Grüße

    Hallo maf,

    nein, die maximale Anzahl die hinzufügbar ist, ist durch die registrierten Nutzer begrenzt. Dient nur als Orientierung welchen numerischen Wert der User eingeben könnte.
    Übersteigt der eingegebene Wert diese Summe oder ist er kleiner als 0, dann wird der Wert entsprechend resetet.

    Ich plane sowieso noch eine Admin Einstellungsseite für den Dienstplan. Darin kann man dann die für die Nutzer angezeigte Darstellung entsprechend einstellen. Finde es nur für Nutzer wichtig mit wem sie aufkreuzen ^^
    Auch die Art der registrierten Nutzer soll festgelegt werden können. Manche Seiten wollen wirklich nur "Mitglieder" erlauben. Abonnenten z.b dann aber nicht.
    Die Google Sache wäre für mich als blutiger PHP anfänger noch mal ein Meilenstein. Integrieren wollte ich aber sowieso einen eMail Versand der personalisierbar ist.
    Dazu:Dienst steht bevor, ist aber nicht voll. Dienst wurde geöffnet / geschlossen. Mitglied hat sich eingetragen oder kurzfristig ausgetragen. Neue Notiz / Kommentar wurde erstellt.

    Das Plugin in seiner Grundfunktion steht zu 95%. Aber die initiallisierung mit MySQL muss noch gemacht werden sowie ein paar kleine Bugs raus.

    Hallo zusammen,

    aktuell programmiere ich für meinen Heimbar Verein eines Wohnheimes einen Dienstplan um so Dienste für die angemeldeten Nutzer zu erstellen, in welche diese sich dann eintragen können. Das ganze läuft mit dem internen Usermanagment von Wordpress.

    Hier mal ein paar Bilder:
    [ATTACH=CONFIG]12547[/ATTACH]
    [ATTACH=CONFIG]12548[/ATTACH]
    [ATTACH=CONFIG]12549[/ATTACH]

    Die Struktur der Seite sieht Module aus, die aus verschiedenen Ursprüngen heraus aufgerufen werden. Jeh nach Ursprung (Origin) wird dem Nutzer dann der gleiche Content angezeigt, aber mit mehr Optionen.

    Seiten des Navis:

    1. Dienstplan Anzeigen (Nur Bearbeitung aus der Sicht eines Nutzers. Selbst der Admin bekommt nur die Light Version)
    2. Dienstplan Bearbeiten (Zugriff nur für Admin. Hier kann gelöscht, bearbeitet und hinzugefügt werden)

    Module der Seite (Zugriff) -> Funktionen:

    1. Dienstplan Anzeigen (Nutzer) -> Eintragen, Austragen, Kommentare
    2. Dienstplan Bearbeiten (Admin) -> Öffnen, Schließen, Kommentare, Eintragen, Austragen
    3. Dienst Bearbeiten (Admin) -> Öffnen, Schließen, Zurück, Eintragen, Austragen
    4. Kommentare Anzeigen (Nutzer) -> Hinzufügen, Löschen eigener Kommentare, Zurück
    5. Kommentare Bearbeiten (Admin) -> Hinzufügen, Löschen von Kommentare, Zurück

    Rollenverteilung sorgt dafür, dass der Admin sich in die Rolle des Nutzers hinein versetzen kann, sodass er nicht mit Optionen erschlagen wird, jedes mal. Der Nutzer kann nur eigene Kommentare löschen oder sich selbst bei Diensten ein- / austragen. Der Admin kann im Bearbeiten Feld aber jeden aus- / eintragen.

    Funktionen wie Eintragen, Austragen und Öffnen usw. können von verschiedenen "Adressen" aufgerufen werden.
    Zurzeit löse ich das, indem ich z.b für Eintragen dies so gestalte:

    Die Funktion kann von überall augerufen werden, sodass ich nur die UserID übergebe und das Datum. Ich würde gerne selbiges schaffen für das Laden der Kommentare Seite an einen bestimmten Datum: z.B. showcomments($date)

    Auf die Seite kommt man aber nur mit einen Link. Ich will auch ungern richtig lange URL Parameter benutzen.

    URL Parameter aktuell in Benutzung:

    • page: wird von wordpress zur weiterleitung ins navigationsmenü verwendet. Pages, welche keinen Eintrag im navi menü haben kann Wordpress ohne Zugriffsrechte nicht öffnen.
    • type: signin, signout, open, close,... alles wird darüber aufgerufen.
    • ac / action: dient bisher als Notlösung um auf die Kommentarseite zu kommen oder die Dienst Bearbeiten Seite. Ich würde dies gerne "eleganter" lösen.
    PHP
    <a href="admin.php?page=dp-show">MÖGLICH</a> - <a href="admin.php/dpshow.php>NICHT MÖGLICH</a>


    Zusammenfassung des Problems:
    Wie Löse ich bei Wordpress die Weiterleitung von den Basisseiten des Admin Navigationsmenü zu mehreren Unterseiten, jeh nachdem welchen Link der Benutzer klickt oder welchen Formularbutton er verwendet. GET empfinde ich als eher unelegant... POST ist ohne Formular ja nicht möglich. Funktionen mit Parametern kann ich nicht einfach so aufrufen. Zurzeit mache ich quasi alles mit POST von Formularen und GET von Links und rufe sie jeweils mit REQUESt ab auf der Hauptseite (dp show) gibt es dann einen "pageredirect" der als ne art Sortiermaschine für Anfragen dient. Jeh nach REQUEST Input wird der Nutzer weitergeleitet. Das ist Viel, kompliziert und die entsprechenden Links werden echt lang.

    Hat da jemand eine art Tutorial oder Hilfe? Auch ein kleines Plugin mit verschiedenen Weiterleitungen auf "Unterseiten" eines Navigationsmenü (nicht Sub-Menu) mit diversenen echo Befehlen könnte helfen.

    Ich baue gerne mein Plugin um, damit ich es umsetzen kann.


    Würde mein Plugin gerne mal releasen, aber ohne ein Wordpress-mäßigeres Handling ist das iwie doof.

    ps: die SQL Query sachen bastel cih bereits auf $wpdb->get_var und $wpdb->get_results um.

    Grüße

    Hallo maf,

    aktuell erstelle ich ein Plugin, welches in deine Richtung geht.
    Ich setze dabei auf einen Dienstplan. Dort können sich registrierte Nutzer für Termine eintragen, welcher der Admin selbst konfiguriert.
    Tendenziell geht dieses Plugin dann aber für alle möglichen Events.

    Hier mal ein paar Bilder:


    Aktuell bin ich aber noch damit konfrontiert, dass ich die Seitenweiterleitung besser hinbekommen will / muss.
    Dazu schreibe ich aber in einen eigenen Beitrag.

    Google implementieren kann man am Ende auch noch. Fände auch ich interessant für meine eigenen Zwecke.

    Integriert ist außerem ein Widget für die Sidebar im Frontend, das ein wenig konfiguriert werden kann.

    Grüße

    Hallo zusammen,

    dies ist mein erster Beitrag im Forum und fängt sofort mit einer Hilfsanfrage an.
    Ich bin ultra neu in PHP und möchte zurzeit ein Plugin für meinen Verein stellen. Dazu dann gleich mal mehr.

    Hintergrund:
    Um ein paar wenige Baustellen in der Funktion abzuarbeiten, habe ich meinen Code von einer einseitigen Index.php aufgeteilt in mehrere und jeweils mittels require_once in die index.php meines Plugins eingebunden. Dies betraf überwiegend die Funktionen der Seite wie "speichern", "löschen", usw...

    Die Seiten welche dem User optisch dargestellt werden, sind nach wie vor in der Index.php.

    [size=12]Problem-Hintergrund (PHP):[/SIZE]
    Aktuell kann ich eine Seite nicht aufrufen, welche ich mit einem Link entsprechend öffne.
    Ich will von einer Seite, welche übers Admin Menü erreichbar ist auf eine Seite, welche dort nicht direkt aufgerufen werden kann.

    Admin Menü Aufbau:

    PHP
    add_action('admin_menu','dienstplan_register');
    function dienstplan_register(){
         add_menu_page('Dienstplan','Dienstplan','edit_posts','dienstplan-show','pageredirect', 'dashicons-calendar-alt',3);
         add_submenu_page('dienstplan-show','Bearbeiten','Bearbeiten','manage_options','dienstplan-edit','pageredirect');
         add_submenu_page('dienstplan-show','Statistik','Statistik','manage_options','dienstplan-stats','pageredirect');
    }

    Die aufgerufene Funktion "pagedirect" ist letztlich eine Art bahnhof, welche jeh nach URL Parameter des REQUEST den Nutzer auf die gewünschte Seite verweißt. Dabei wird natürlich immer gefragt ob richtig übergeben, ob überhaupt vorhanden und dann für die Admin-only Bereiche auch, ob der User über entsprechende Zugriffsrechte verfügt.

    pagedirect Funktion:

    URL auf Dienstplan-Edit Seite:

    PHP
    echo ('<a href="admin.php?page=dienst_edit&page=opendate=' .  date('Y-m-d', $laufender) . '">&ouml;ffnen</a>');

    Problem:

    Code
    Du hast nicht die erforderlichen Rechte,  um auf diese Seite zuzugreifen.

    Problemursache:
    Ich vermute, dass der übergebene page key für das Problem verantwortlich ist. Im Admin-Menü habe ich 3 Menüeinträge definiert mit den page keys: dienstplan-show, dienstplan-edit und dienstplan-stats.

    Meine pageredirect Funktion kann also zwar den page key verarbeiten, aber Wordpress kennt diesen nicht und sucht daher nach den Berechtigungen. Da keine gesetzt wurden, sperrt Wordpress entsprechend aus Sicherheitsgründen alle Nutzer (auch den Admin) aus.

    Wie kann ich also den page-key entsprechend mit Zugriffsrechten in Wordpress versehen, sodass mein Plugin und Wordpress zwar die Seite kennt, diese aber nicht als Direktzugriff vom Admin Menu aus anzeigt.

    [HR][/HR]
    Zum Plugin:

    Für meinen Verein bastel ich ein Plugin, welches einen Dienstplan für alle registrierten Nutzer eines bestimmten Levels erstellt. Dieser ist über den Login-Bereich einzusehen und für den Admin bearbeitbar. Dabei kann dieser einen Dienst erstellen und die Nutzer sich selbstständig ein- und austragen.
    Der Admin kann Dienste erstellen, die Menge an Nutzer festlegen, welche gebraucht werden und auch anderes festlegen.
    Für einen erweiterten Zweck wird ein Widget erstellt, welches auf der Hauptseite eingebunden werden kann. Dieses zeigt auf Basis der Dienst-Optionen alle gewünschten Dienste mit Startzeit an.

    Zielgruppen: Ehrenamtliche Vereine mit Dienstplan, kleine Unternehmen und viele mehr.

    Bilder im Anhang :-)

    Ich hoffe mit meinem Problem kann mir jemand helfen.
    Sofern ich demnächst alles fertig bekomme, werde ich es auch für mehr Kritik hochladen und natürlich für Nutzer bereitstellen :-)
    Mehr wird kommen. Z.b. ein Doodle für nicht Buddy Press Nutzer

    Beste Grüße
    harry89