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

cyberman schrieb:
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 cool ... 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

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

nockenfell schrieb:

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 wink.

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 roll ...

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

nicmare schrieb:

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  roll  angel  kiss

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

nicmare schrieb:

zur erinnerung:
bei autolightbox werden bilddateien irgnoriert, die ein Leerzeichen enthalten. Wäre schön wenn das beim nächsten Release ginge  roll  angel  kiss

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

nicmare schrieb:

zur erinnerung:
bei autolightbox werden bilddateien irgnoriert, die ein Leerzeichen enthalten. Wäre schön wenn das beim nächsten Release ginge  roll  angel  kiss

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

faglork schrieb:

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

NaN schrieb:

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.

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…

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

nicmare schrieb:

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. smile

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

in den jeweiligen Sprachdateien (/lang/en_US.php bzw. /lang/ext/de_DE.php) versuchen ...

Offline