Page 1 of 1
CMS Variablen in einem Plugin
Posted: Fri Oct 10, 2008 4:53 am
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?
Re: CMS Variablen in einem Plugin
Posted: Fri Oct 10, 2008 6:55 am
by nockenfell
Hab gefunden: .
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.
Re: CMS Variablen in einem Plugin
Posted: Fri Oct 10, 2008 7:28 am
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.
Re: CMS Variablen in einem Plugin
Posted: Fri Oct 10, 2008 5:17 pm
by NaN
Oder schau Dir einfach mal andere Plugins oder UDTs an

Re: CMS Variablen in einem Plugin
Posted: Fri Oct 10, 2008 5:45 pm
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";
}
Re: CMS Variablen in einem Plugin
Posted: Fri Oct 10, 2008 6:14 pm
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
Re: CMS Variablen in einem Plugin
Posted: Fri Oct 10, 2008 6:22 pm
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?
Re: CMS Variablen in einem Plugin
Posted: Sat Oct 11, 2008 7:01 pm
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.
Re: CMS Variablen in einem Plugin
Posted: Mon Oct 13, 2008 3:47 pm
by NaN
Klingt interessant.
Bin gespannt.
Re: CMS Variablen in einem Plugin
Posted: Mon Oct 13, 2008 5:33 pm
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
- ?
Re: CMS Variablen in einem Plugin
Posted: Mon Oct 13, 2008 8:09 pm
by nockenfell
So, der Projektantrag ist eingereicht. Nun mal schauen obs bewilligt wird.