CMS Variablen in einem Plugin

Hilfe zu Modulen und Tags
Post Reply
nockenfell
Power Poster
Power Poster
Posts: 751
Joined: Fri Sep 12, 2008 2:34 pm

CMS Variablen in einem Plugin

Post by nockenfell »

Da ich meine PHP Schnippsel und Scrips von früher weiterhin verwenden möchte, bin ich derzeit daran ein paar Plugins zu schreiben.

Leider haben mich die Tutorials noch nicht ganz dorthin gebracht wohin ich will. (ev habe ich einfach die falschen gelesen  ;))

global $gCms;  ist mir klar.

Folgende Werte brauche ich derzeit:

- alias der Page (bzw komplette URL im Sinne von www.domian.com/page=xyz)
  -> Die URL sowie "page" sollten aus der Config kommen
- $config['root_path']

Wie muss ich diese ansprechen?

- ist es möglich die DB Verbindung mitzubenutzen?
[this message is written with 100% recycled bits]
nockenfell
Power Poster
Power Poster
Posts: 751
Joined: Fri Sep 12, 2008 2:34 pm

Re: CMS Variablen in einem Plugin

Post by nockenfell »

Hab gefunden: .

Code: Select all

print_r($gCms); 
damit gebe ich alle Variablen aus

Code: Select all

$rootpath = $gCms->config[root_path];
Damit kann ich die Variable auslesen

Noch keine Lösung habe ich für die Datenbankverbindung gefunden.
[this message is written with 100% recycled bits]
Andiministrator

Re: CMS Variablen in einem Plugin

Post by Andiministrator »

Für die Variablen der Seite - lass Dir mal das Array $params mit print_r ausgeben.

Die Datenbankverbindung kannst Du mit $db = $this->cms->db; erhalten, für Beispiele such einfach mal im Forum nach SELECT oder INSERT.
NaN

Re: CMS Variablen in einem Plugin

Post by NaN »

Oder schau Dir einfach mal andere Plugins oder UDTs an ;)
nockenfell
Power Poster
Power Poster
Posts: 751
Joined: Fri Sep 12, 2008 2:34 pm

Re: CMS Variablen in einem Plugin

Post by nockenfell »

Wenn man noch ein wenig mehr Infos über die Objekte haben will:

Code: Select all

function u_print_r($subject, $ignore = array(), $depth = 1, $refChain = array())
{
    if ($depth > 20) return;
    if (is_object($subject)) {
        foreach ($refChain as $refVal)
            if ($refVal === $subject) {
                echo "*RECURSION*\n";
                return;
            }
        array_push($refChain, $subject);
        echo get_class($subject) . " Object ( \n";
        $subject = (array) $subject;
        foreach ($subject as $key => $val)
            if (is_array($ignore) && !in_array($key, $ignore, 1)) {
                echo str_repeat(" ", $depth * 4) . '[';
                if ($key{0} == "\0") {
                    $keyParts = explode("\0", $key);
                    echo $keyParts[2] . (($keyParts[1] == '*')  ? ':protected' : ':private');
                } else
                    echo $key;
                echo '] => ';
                u_print_r($val, $ignore, $depth + 1, $refChain);
            }
        echo str_repeat(" ", ($depth - 1) * 4) . ")\n";
        array_pop($refChain);
    } elseif (is_array($subject)) {
        echo "Array ( \n";
        foreach ($subject as $key => $val)
            if (is_array($ignore) && !in_array($key, $ignore, 1)) {
                echo str_repeat(" ", $depth * 4) . '[' . $key . '] => ';
                u_print_r($val, $ignore, $depth + 1, $refChain);
            }
        echo str_repeat(" ", ($depth - 1) * 4) . ")\n";
    } else
        echo $subject . "\n";
}
[this message is written with 100% recycled bits]
nockenfell
Power Poster
Power Poster
Posts: 751
Joined: Fri Sep 12, 2008 2:34 pm

Re: CMS Variablen in einem Plugin

Post by nockenfell »

Etwas ist mir nicht erklärlich:

Code: Select all

global $gCms;
$root_path 	= $gCms->config['root_path'];
$root_url	= $gCms->config['root_url'];
$upload_path = $gCMS->config['uploads_path'];
$image_path  = $gCMS->config['image_uploads_path'];
$root_path und $root_url bringen einen Wert.

$upload_path und $image_path sind leer. Mit print_r werden die Variablen mit Wert ausgewiesen. Anyone eine Idee warum dies so ist?

Ausgabe von print_r:

Code: Select all

[image_uploads_path] => /home/btech/public_html/uploads/images
[uploads_path] => /home/btech/public_html/uploads
Last edited by nockenfell on Fri Oct 10, 2008 6:15 pm, edited 1 time in total.
[this message is written with 100% recycled bits]
NaN

Re: CMS Variablen in einem Plugin

Post by NaN »

nockenfell wrote:
global $gCms;
$root_path = $gCms->config['root_path'];
$root_url = $gCms->config['root_url'];
$upload_path = $gCMS->config['uploads_path'];
$image_path  = $gCMS->config['image_uploads_path'];
Eventuell liegts an den Großbuchstaben?
nockenfell
Power Poster
Power Poster
Posts: 751
Joined: Fri Sep 12, 2008 2:34 pm

Re: CMS Variablen in einem Plugin

Post by nockenfell »

$gCms ist schon richtig.

Irgendwas hatte ich falsch geschrieben. Nach dem ich das ganze neu geschrieben habe, funktioniert es nun tadellos.

Wahrscheinlich werde ich nächstens ein Projekt für das Plugin starten. Es gibt sicher noch mehr Leute die sich dafür interessieren könnten. Beim Plugin handelt es sich um einen Filebrowser der es ermöglicht den Inhalt eines beliebigen Ordners auszugeben.
[this message is written with 100% recycled bits]
NaN

Re: CMS Variablen in einem Plugin

Post by NaN »

Klingt interessant.
Bin gespannt.
nockenfell
Power Poster
Power Poster
Posts: 751
Joined: Fri Sep 12, 2008 2:34 pm

Re: CMS Variablen in einem Plugin

Post by nockenfell »

Ich muss nur noch das Projekt anmelden. Da mein geschriebenes Englisch zu wünschen übrig lässt, muss ich meinen Text erst noch redigiren. Melde mich sobald ich das Projekt eingereicht habe und dieses freigeschaltet ist.

Kleine Beschreibung des Projekts:

Titel: Filebrowser

Der Filebrowser kann ein beliebiges Verzeichnis im root_path des CMS anzeigen. Ausgeschlossen sind /admin, /plugin, /module, /tmp. Standard Verzeichnis: uploads_path

Die Dateien und Ordner werden mit Icon, Name, Grösse, Endung und letzte Änderung angezeigt. Die Liste kann entsprechend den vorher genannten Optionen desc oder asc sortiert werden.

Todos in der Roadmap:
- Language Files
- Sicherheit des Scripts
- die Möglichkeit ein Verzeichnis mittels .htaccess zu schützen
- Bei .htaccess:
  - Userverwaltung
  - Upload, Delete, Rename, Create Folder anhand des eingeloggten Users.
  - ev Integration von FEU
  - ?
[this message is written with 100% recycled bits]
nockenfell
Power Poster
Power Poster
Posts: 751
Joined: Fri Sep 12, 2008 2:34 pm

Re: CMS Variablen in einem Plugin

Post by nockenfell »

So, der Projektantrag ist eingereicht. Nun mal schauen obs bewilligt wird.
[this message is written with 100% recycled bits]
Post Reply

Return to “Module und Tags”