Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
#126 26. März 2013 20:54
- nockenfell
- Moderator
- Ort: Gontenschwil, Schweiz
- Registriert: 09. November 2010
- Beiträge: 2.934
- Webseite
Re: ToolBox 1.0 veröffentlicht
CGSimpleSmarty ist zum ersetzen auch das einfachste alles Module. Es bietet keine grossen Schnittstellen und keine grosse Funktionalität.
Für dieses Modul müsstest du eigentlich nur die CGSimpleSmarty.module.php modifizieren und allenfalls als Fallback die ToolBox Klasse tbTools inkludieren. Anschliessend das modifizierte Modul installieren.
Allerdings finde ich den Aufwand dazu ein wenig müssig. Weniger Module gibt es dadurch nicht. Wenn du wirklich etwas ändern willst, müsstest du direkt im Core eingreifen. Z.B. in der Datei class.moduleoperations.inc.php und das laden der Module modifizieren:
private function _load_module($module_name,$force_load = FALSE)
{
$config = cmsms()->GetConfig();
$dir = $config['root_path'].'/modules';
$info = $this->_get_module_info();
if( !isset($info[$module_name]) && !$force_load )
{
debug_buffer("Nothing is known about $module_name... cant load it");
return FALSE;
}
if( (!isset($info[$module_name]['active']) || $info[$module_name]['active'] == 0) && !$force_load )
{
debug_buffer('Requested deactivated module '.$module_name);
return FALSE;
}
global $CMS_INSTALL_PAGE;
global $CMS_VERSION;
global $CMS_PREVENT_AUTOINSTALL;
global $CMS_FORCE_MODULE_LOAD;
$allow_auto = (isset($CMS_PREVENT_AUTOINSTALL) && $CMS_PREVENT_AUTOINSTALL)?0:1;
$gCms = cmsms(); // backwards compatibility... set the global.
if( !class_exists($module_name) )
{
$fname = $dir."/$module_name/$module_name.module.php";
if( !is_file($fname) )
{
debug_buffer("Cannot load $module_name because the module file does not exist");
return FALSE;
}
debug_buffer('loading module '.$module_name);
require_once($fname);
}
$obj = new $module_name;
if( !is_object($obj) )
{
// oops, some problem loading.
audit('','Core',"Cannot load module $module_name ... some problem instantiating the class");
debug_buffer("Cannot load $module_name ... some problem instantiating the class");
return FALSE;
}
if (version_compare($obj->MinimumCMSVersion(),$CMS_VERSION) == 1 )
{
// oops, not compatible.... can't load.
audit('','Core','Cannot load module '.$module_name.' it is not compatible wth this version of CMSMS');
debug_buffer("Cannot load $module_name... It is not compatible with this version of CMSMS");
unset($obj);
return FALSE;
}
// okay, lessee if we can load the dependants
if( !isset($config['modules_noloaddependants']) )
{
$deps = $obj->GetDependencies();
if( is_array($deps) && count($deps) )
{
$res = true;
foreach( $deps as $name => $ver )
{
$obj2 = $this->get_module_instance($name);
if( !is_object($obj2) )
{
$res = false;
break;
}
}
if( !$res && !isset($CMS_FORCE_MODULE_LOAD))
{
audit('','Core',"Cannot load module $module_name ... Problem loading dependent module $name");
debug_buffer("Cannot load $module_name... cannot load it's dependants.");
unset($obj);
return FALSE;
}
}
}
if( isset($info[$module_name]) && $info[$module_name]['status'] != 'installed' &&
(isset($CMS_INSTALL_PAGE) || $this->_is_queued_for_install($module_name)) )
{
// not installed, can we auto-install it?
if( (in_array($module_name,$this->cmssystemmodules) || $obj->AllowAutoInstall() == true ||
$this->_is_queued_for_install($module_name)) && $allow_auto )
{
$res = $this->_install_module($obj);
if( !isset($_SESSION['moduleoperations_result']) )
{
$_SESSION['moduleoperations_result'] = array();
}
$_SESSION['moduleoperations_result'][$module_name] = $res;
}
else if( !isset($CMS_FORCE_MODULE_LOAD) )
{
// nope, can't auto install...
unset($obj);
return FALSE;
}
}
// check to see if an upgrade is needed.
allow_admin_lang(TRUE); // isn't this ugly.
if( isset($info[$module_name]) && $info[$module_name]['status'] == 'installed' )
{
$dbversion = $info[$module_name]['version'];
if( version_compare($dbversion, $obj->GetVersion()) == -1 )
{
// upgrade is needed
if( ($obj->AllowAutoUpgrade() == TRUE || $this->_is_queued_for_install($module_name)) && $allow_auto )
{
// we're allowed to upgrade
$res = $this->_upgrade_module($obj);
if( !isset($_SESSION['moduleoperations_result']) )
{
$_SESSION['moduleoperations_result'] = array();
}
if( $res )
{
$res2 = array(TRUE,lang('moduleupgraded'));
$_SESSION['moduleoperations_result'][$module_name] = $res2;
return TRUE;
}
else
{
$res2 = array(FALSE,lang('moduleupgradeerror'));
$_SESSION['moduleoperations_result'][$module_name] = $res2;
return FALSE;
}
if( !$res )
{
// upgrade failed
allow_admin_lang(FALSE); // isn't this ugly.
debug_buffer("Automatic upgrade of $module_name failed");
unset($obj);
return FALSE;
}
}
else if( !isset($CMS_FORCE_MODULE_LOAD) )
{
// nope, can't auto upgrade either
allow_admin_lang(FALSE); // isn't this ugly.
unset($obj);
return FALSE;
}
}
}
if( (isset($info[$module_name]) && $info[$module_name]['status'] == 'installed') ||
$force_load )
{
if( is_object($obj) ) $this->_modules[$module_name] = $obj;
return TRUE;
}
return FALSE;
}
Kann sein, dass sowas funktioniert, du kannst dir damit aber auch jede Menge Probleme machen.
[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog / Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox
Offline
#127 26. März 2013 20:56
- nockenfell
- Moderator
- Ort: Gontenschwil, Schweiz
- Registriert: 09. November 2010
- Beiträge: 2.934
- Webseite
Re: ToolBox 1.0 veröffentlicht
nockenfell schrieb:Wird wohl nicht Foge-Rule konform sein.
Da wir in den Augen der .org ja sowieso die Gesetzlosen sind, wäre mir das egal
... für mich zählen nur die Ergebnisse, die CMSMS voranbringen.
Ein solchen Image sollte man nicht exzessiv pflegen. Eine Zukunft ist längerfristig nur gemeinsam möglich. Was bringt es also das ganze jedes mal aufzuwärmen?
[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog / Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox
Offline
#128 27. März 2013 20:02
- nicmare
- Server-Pate
- Registriert: 15. Dezember 2010
- Beiträge: 1.314
- Webseite
Re: ToolBox 1.0 veröffentlicht
mal ne frage zu getChildren. in der hilfe steht:
alias - der Seiten-Alias der untergeordneten Seite
id - die Seiten-ID der untergeordneten Seite
title - der Seitentitel der untergeordneten Seite
menutext - der Menütext der untergeordneten Seite
show_in_menu - ist die Unterseite im Menü sichtbar.
active - ist die Unterseite aktiv.
type - Typ des Content Elements.
Wenn ich mir aber den print_r vom $children array ausgeben lasse, finde ich nirgends "active".
so rufe ich es auf:
{tbtools::getChildren($page_alias,"true","children")}
gemäß
[$showinactive] - (optional) hier kann eingestellt werden, ob inaktive Seiten im Ergebnis enthalten sein sollen (Standard ist false).
wieso erscheint es einfach nicht im array?
cmsms 1.11.4 und aktuelles tb
Meine Projekte:
Dashcam-Test | Babyphone-Testberichte | Türspionkameras
Offline
#129 28. März 2013 18:13
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: ToolBox 1.0 veröffentlicht
Allerdings finde ich den Aufwand dazu ein wenig müssig.
Hmm, scheint mir auch so - da isses für mein Vorhaben bedeutend einfacher, via Sprachdatei (Stichwort $lang['friendlyname']) ein bißchen Kosmetik zu machen. Erspart mir auch 'ne Menge Arbeit .
Wer ist denn eigentlich aktuell der Namensgeber der Instanz, der Verzeichnisname des Moduls, der Präfix der Datei xxx.module.php oder die Funktion GetName()?
Das hab ich für mich aus deinem geposteten Code nicht abschließend herauslesen können ...
Offline
#130 29. März 2013 07:20
- nockenfell
- Moderator
- Ort: Gontenschwil, Schweiz
- Registriert: 09. November 2010
- Beiträge: 2.934
- Webseite
Re: ToolBox 1.0 veröffentlicht
mal ne frage zu getChildren. in der hilfe steht:
Wenn ich mir aber den print_r vom $children array ausgeben lasse, finde ich nirgends "active".
so rufe ich es auf:{tbtools::getChildren($page_alias,"true","children")}
Danke für die Meldung. Der active Parameter ist tatsächlich nicht vorhanden. Im nächsten Release wird dieser enthalten sein.
[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog / Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox
Offline
#131 26. Juni 2013 13:24
- nicmare
- Server-Pate
- Registriert: 15. Dezember 2010
- Beiträge: 1.314
- Webseite
Re: ToolBox 1.0 veröffentlicht
zur erinnerung:
bei autolightbox werden bilddateien irgnoriert, die ein Leerzeichen enthalten. Wäre schön wenn das beim nächsten Release ginge
Meine Projekte:
Dashcam-Test | Babyphone-Testberichte | Türspionkameras
Offline
#132 26. Juni 2013 19:56
- faglork
- arbeitet mit CMS/ms
- Ort: Fränkische Schweiz
- Registriert: 15. Dezember 2010
- Beiträge: 1.152
- Webseite
Re: ToolBox 1.0 veröffentlicht
zur erinnerung:
bei autolightbox werden bilddateien irgnoriert, die ein Leerzeichen enthalten. Wäre schön wenn das beim nächsten Release ginge![]()
![]()
Ja, aber nur wenn die Leerzeichen automatisch ersetzt werden ...
BTW Autolightbox:
a) Ne Art Garbage-Collection wäre sehr interessant. Idee auf die Schnelle: Alle Inhalte durchsuchen nach Vorschaubildern, dann mit der liste der Bilder im Verzeichnis abgleichen, dann entsprechend löschen.
Ansonsten sammelt sich da sehr schnell sehr viel an, bei sehr aktiven Webseiten.
b) Es wäre zu überlegen ob nicht die Vorschaubilder in Jahres-Ordnern gespeichert werden sollten, vielleicht als Option zum anhaken. Hintergrund: AFAIK geht die Serverlast unter Linux in die Höhe wenn sehr viele einzelne kleine Dateien eingelesen werden müssen. Und bei sehr aktiven Seiten werden das sehr schnell sehr viele, wenn die alle in EINEM Verzeichnis landen.
Servue,
Alex
Offline
#133 27. Juni 2013 23:19
- nockenfell
- Moderator
- Ort: Gontenschwil, Schweiz
- Registriert: 09. November 2010
- Beiträge: 2.934
- Webseite
Re: ToolBox 1.0 veröffentlicht
zur erinnerung:
bei autolightbox werden bilddateien irgnoriert, die ein Leerzeichen enthalten. Wäre schön wenn das beim nächsten Release ginge![]()
![]()
Ich schau's mir an. Danke nochmals für den Hinweis.
[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog / Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox
Offline
#134 27. Juni 2013 23:22
- nockenfell
- Moderator
- Ort: Gontenschwil, Schweiz
- Registriert: 09. November 2010
- Beiträge: 2.934
- Webseite
Re: ToolBox 1.0 veröffentlicht
a) Ne Art Garbage-Collection wäre sehr interessant. Idee auf die Schnelle: Alle Inhalte durchsuchen nach Vorschaubildern, dann mit der liste der Bilder im Verzeichnis abgleichen, dann entsprechend löschen.
Ansonsten sammelt sich da sehr schnell sehr viel an, bei sehr aktiven Webseiten.
Wäre allenfalls möglich. Allerdings nicht ganz ohne zum Umsetzen. Dürfte je nach Anzahl Inhalte recht lang gehen alles auszulesen und zu vergleichen.
b) Es wäre zu überlegen ob nicht die Vorschaubilder in Jahres-Ordnern gespeichert werden sollten, vielleicht als Option zum anhaken. Hintergrund: AFAIK geht die Serverlast unter Linux in die Höhe wenn sehr viele einzelne kleine Dateien eingelesen werden müssen. Und bei sehr aktiven Seiten werden das sehr schnell sehr viele, wenn die alle in EINEM Verzeichnis landen.
Naja, die Vorschaubilder werden beim speichern des Inhalts erzeugt. Somit verbraucht es hier keine grossen Ressourcen. Die Bilder werden nur neu generiert, wenn auch etwas an der Grösse geändert hat. Ansonsten wird kein neues Bild angelegt. Allerdings könnte man mit Variante A hier ein wenig Ordnung schaffen. Dies ist bis anhin nicht möglich, da im Inhalt direkt ein Verweis auf das Vorschaubild existiert.
[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog / Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox
Offline
#135 27. Juni 2013 07:34
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Re: ToolBox 1.0 veröffentlicht
Ich hatte das autolightbox Plugin damals so geändert, dass es die Vorschaubilder nicht alle in einem Verzeichnis speichert, sondern unter einem Verzeichnis gleichen Namens wie das Original, nur eben im Autolightbox-Ordner. Also z.B. so:
Original - /uploads/images/foo/bar/bild.jpg
Thumb - /uploads/autolightbox_thumbs/images/foo/bar/bild.jpg
Ich brauchte das, weil ich a) Rückschlüsse auf das Original-Bild ziehen wollte (um zu testen, ob sich am Original etwas geändert hat) und b) dazu den Pfad zum Original nicht mit in den Dateinamen des Vorschaubildes (b64 oder md5 codiert) einbauen wollte.
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#136 27. Juni 2013 11:15
- nicmare
- Server-Pate
- Registriert: 15. Dezember 2010
- Beiträge: 1.314
- Webseite
Re: ToolBox 1.0 veröffentlicht
Ich hatte das autolightbox Plugin damals so geändert, dass es die Vorschaubilder nicht alle in einem Verzeichnis speichert, sondern unter einem Verzeichnis gleichen Namens wie das Original, nur eben im Autolightbox-Ordner. Also z.B. so:
Original - /uploads/images/foo/bar/bild.jpg
Thumb - /uploads/autolightbox_thumbs/images/foo/bar/bild.jpgIch brauchte das, weil ich a) Rückschlüsse auf das Original-Bild ziehen wollte (um zu testen, ob sich am Original etwas geändert hat) und b) dazu den Pfad zum Original nicht mit in den Dateinamen des Vorschaubildes (b64 oder md5 codiert) einbauen wollte.
ist auch sinnvoll aber etwas zu viel des guten:
http://www.tld.de/uploads/AutoLightBox/uploads/images/unterseiten_neu/2d18bdd90870ad2597e58f68493b7672_Lobby.jpg
Uploads muss ja nicht doppelt vorkommen…
Meine Projekte:
Dashcam-Test | Babyphone-Testberichte | Türspionkameras
Offline
#137 27. Juni 2013 13:13
- nockenfell
- Moderator
- Ort: Gontenschwil, Schweiz
- Registriert: 09. November 2010
- Beiträge: 2.934
- Webseite
Re: ToolBox 1.0 veröffentlicht
ist auch sinnvoll aber etwas zu viel des guten:
http://www.tld.de/uploads/AutoLightBox/uploads/images/unterseiten_neu/2d18bdd90870ad2597e58f68493b7672_Lobby.jpg
Uploads muss ja nicht doppelt vorkommen…
Zuviel des guten ist es nicht. Nur konsequent. Grundsätzlich kann eine Grafik auch aus einem anderen Verzeichnis kommen.
[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog / Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox
Offline
#138 16. November 2014 14:50
- hihachi
- hat von CMS/ms gehört
- Registriert: 15. November 2012
- Beiträge: 7
Re: ToolBox 1.0 veröffentlicht
Hallo,
ich hab grad Toolbox V. 1.3.8 installiert und mir ist ein fehlender String aufgefallen:
Wenn man die 404-Protokollierung aktiviert, sieht man folgende Fehlermeldung auf der Seite:
-- Missing Languagestring - module:ToolBox string:iregexp--?
egal ob auf Deutsch oder Englisch. Anscheinend fehlt die Variable iregexp.
Was soll oder kann ich denn da eintragn? Diese Fehlermeldung "nervt" doch ein wenig.
Danke im Voraus
Gruesse,
Marcel
Offline
#139 23. November 2014 13:47
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: ToolBox 1.0 veröffentlicht
Hab das Modul gerade nirgends zum Test online, aber du könntest es mit
$lang['iregexp'] = '...';
in den jeweiligen Sprachdateien (/lang/en_US.php bzw. /lang/ext/de_DE.php) versuchen ...
Offline