. .
pragmaMx Support Forum 25 Mai 2012, 21:42:27 *
Willkommen Gast. Bitte einloggen oder registrieren.


Einloggen mit Benutzername und Passwort
News:
Brauchen Sie Hilfe? Bitte nutzen Sie unsere Suchfunktion bevor Sie Beiträge oder Fragen ins Board schreiben! Viele Fragen wurden bereits gestellt und beantwortet. Danke!
 
Übersicht Hilfe Forenregeln / Boardrules
 
Suche
Seiten: [1]   Nach unten
Drucken
Autor Thema: SPAW Editor - Bilderverzeichnis dynamisch laden  (Gelesen 2695 mal)
0 Mitglieder und 2 Gäste betrachten dieses Thema.
Webfan
Spezialist
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 552


WWW
« am: 23 Juli 2010, 10:27:26 »

Hallo,
es geht darum, für mein neues Blogmodul möchte ich, daß wenn im Modul im Spaweditor nur (bzw. oder an erster Stelle) das Verzeichnis des Blogs/users zur Auswahl erscheint, wenn man auf Bild einfügen klickt (also hier: http://www.webfan.de/spaw/dialogs/img_library.php?lang=de&theme=default&editor=impressum&callback=SPAW_image_insert_click_callback&request_uri=https%3A//www.webfan.de/Userblog-op-settings-id-1.html

Mein Code sieht foilgendermaßen aus (spaw/config/spaw_control.config.php):

Code: [Select]  
if ((!empty($wysiwyg_userpath)) && ((WYSIWYG_IS_ADMIN) || (WYSIWYG_IS_USER && $wysiwyg_uploadallow == 2))) {
    // image libraries
 
 global $BLOGDATA;
 //-> BLOGDATA ist korrekt vorhanden

    
    if(MX_MODULE=='Userblog' && $BLOGDATA!=FALSE)
     {
     //in diese if bedingung geht er nur wenn admin
      $spaw_imglibs = array(

            array("value" => "images/userpics/".$BLOGDATA['subdomain']."/",
            "text" => "Bilder von ".$BLOGDATA['blogname'],
            ),
            );
     }else{
    $spaw_imglibs = array(

            array("value" => "images/userpics/",
            "text" => "Benutzerbilder",
            ),

        array("value" => $wysiwyg_userpath . "/",
            'text' => "Mx-Uploads",
            ),
        array("value" => "images/smilies/",
            "text" => "Smilies",
            ),
        );
        }
        //eof mx module nouserblog
        
} else {

    if(MX_MODULE=='Userblog' && $BLOGDATA!=FALSE)
     {
           $spaw_imglibs = array(

            array("value" => "images/userpics/".$BLOGDATA['subdomain']."/",
            "text" => "Bilder von ".$BLOGDATA['blogname'],
            ),
            );
     }else{
    // image libraries
    $spaw_imglibs = array(

            array("value" => "images/userpics/",
            "text" => "Benutzerbilder",
            ),

            array("value" => $wysiwyg_userpath . "/",
            'text' => "Mx-Uploads",
            ),

        array("value" => "images/smilies/",
            "text" => "Smilies",
            ),
        );
      }
        //eof mx module nouserblog        
}

Wie in den Quellcodekommetaren angegeben (durch tests), geht er nur in die  
if(MX_MODULE=='Userblog' && $BLOGDATA!=FALSE)
Bedingung, wenn ich als Admin eingeloggt bin, aber auch dann wird trotzdem die falsche Auswahl geladen, also die Verzeichnisse aus der else Bedingung.
Wenn ich als nur User eiongeloggt bin wird noch nicht mal
if(MX_MODULE=='Userblog' && $BLOGDATA!=FALSE)
korrekt ausgeführt?

Also was mach ich falsch (wird die config gecached irgendwo?) oder wie kann ich die Auswahl der/des Bilderverzeichnisses im Spaw editor dynamisch gestelten?

Für Hilfe vielen Dank!
+ viele Grüße
 Smiley
Gespeichert

Webfan
Spezialist
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 552


WWW
« Antworten #1 am: 26 Juli 2010, 08:53:13 »

Hat wirklich niemand eine Idee, oder das Verz. schonmal dynamsich geladen?
Bitte!

Ich hab jetzt in der spa_control.config.php mal den Blog geladen, statt die globalen Variablen zu verwenden.

Code: [Select]  
if(MX_MODULE=='Userblog')
{
require('modules/Userblog/functions.php');
$BLOGDATA = fetchBlog($_GET['id']);
//die($BLOGDATA['subdomain']);
}

Das die($BLOGDATA['subdomain']) habe ich zum testen geschrieben, also das BGLOGDATA Array ist KORREKT gefüllt bis dahin.

Er geht nun in die wenn bLOGDATA nicht fals Bedingung,
allerdings sind dort nun $BLOGDATA['subdomain'] und $BLOGDATA['blogname'] LEER, so daß nur "Bilder von " als Verzeichnisname angezeigt wird.

Code: [Select]  
if ((!empty($wysiwyg_userpath)) && ((WYSIWYG_IS_ADMIN) || (WYSIWYG_IS_USER && $wysiwyg_uploadallow == 2))) {
    // image libraries


 //-> BLOGDATA ist korrekt vorhanden



    if($BLOGDATA!==FALSE)
     {

      $spaw_imglibs = array(

            array("value" => "images/userpics/".$BLOGDATA['subdomain']."/",
            "text" => "Bilder von ".$BLOGDATA['blogname'],
            ),
            );
     }else{
    $spaw_imglibs = array(

            array("value" => "images/userpics/",
            "text" => "Benutzerbilder",
            ),

        array("value" => $wysiwyg_userpath . "/",
            'text' => "Mx-Uploads",
            ),
        array("value" => "images/smilies/",
            "text" => "Smilies",
            ),
        );
        }
        //eof mx module nouserblog

} else {
 
    if($BLOGDATA!==FALSE)
     {
           $spaw_imglibs = array(

            array("value" => "images/userpics/".$BLOGDATA['subdomain']."/",
            "text" => "Bilder von ".$BLOGDATA['blogname'],
            ),
            );
     }else{
    // image libraries
    $spaw_imglibs = array(

            array("value" => "images/userpics/",
            "text" => "Benutzerbilder",
            ),

            array("value" => $wysiwyg_userpath . "/",
            'text' => "Mx-Uploads",
            ),

        array("value" => "images/smilies/",
            "text" => "Smilies",
            ),
        );
      }
        //eof mx module nouserblog
}

Wie kann das sein, ich fasse zusammen:
- Ich leses ein Array ein, ein paar Zeilenm tiefer (oder besser direkt darunter) sind die Arrayelemente/die Vaiable leer.

Hier der ganze Code:
Code: [Select]  
if(MX_MODULE=='Userblog')
{
require('modules/Userblog/functions.php');
$BLOGDATA = fetchBlog($_GET['id']);
//die($BLOGDATA['subdomain']);
}
// end unset limits for superusers
if ((!empty($wysiwyg_userpath)) && ((WYSIWYG_IS_ADMIN) || (WYSIWYG_IS_USER && $wysiwyg_uploadallow == 2))) {
    // image libraries


 //-> BLOGDATA ist korrekt vorhanden



    if($BLOGDATA!==FALSE)
     {
     //in diese if bedingung geht er nur wenn admin
      $spaw_imglibs = array(

            array("value" => "images/userpics/".$BLOGDATA['subdomain']."/",
            "text" => "Bilder von ".$BLOGDATA['blogname'],
            ),
            );
     }else{
    $spaw_imglibs = array(

            array("value" => "images/userpics/",
            "text" => "Benutzerbilder",
            ),

        array("value" => $wysiwyg_userpath . "/",
            'text' => "Mx-Uploads",
            ),
        array("value" => "images/smilies/",
            "text" => "Smilies",
            ),
        );
        }
        //eof mx module nouserblog

} else {
 
    if($BLOGDATA!==FALSE)
     {
           $spaw_imglibs = array(

            array("value" => "images/userpics/".$BLOGDATA['subdomain']."/",
            "text" => "Bilder von ".$BLOGDATA['blogname'],
            ),
            );
     }else{
    // image libraries
    $spaw_imglibs = array(

            array("value" => "images/userpics/",
            "text" => "Benutzerbilder",
            ),

            array("value" => $wysiwyg_userpath . "/",
            'text' => "Mx-Uploads",
            ),

        array("value" => "images/smilies/",
            "text" => "Smilies",
            ),
        );
      }
        //eof mx module nouserblog
}

Ich wäre sehr dankbar wenn mir jemand helfen könnte.
Gespeichert

Webfan
Spezialist
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 552


WWW
« Antworten #2 am: 26 Juli 2010, 11:23:51 »

Was mich ganz stutzig macht:

Code: [Select]  
if(MX_MODULE=='Userblog')
     {
   
     //wenn ich hier
    die('test');
    //einfüge, wird "test" angezeigt, aber die image_libs aus der else Bedingung angezeigt
      $verz = "images/userpics/".$BLOGDATA_['subdomain']."/";
      $txt = "Bilder von ".$BLOGDATA_['blogname'];
     

      $spaw_imglibs = array(

            array("value" => $verz,
            "text" => $txt,
            ),
            );
     }else{
    $spaw_imglibs = array(

            array("value" => "images/userpics/",
            "text" => "Benutzerbilder",
            ),

        array("value" => $wysiwyg_userpath . "/",
            'text' => "Mx-Uploads",
            ),
        array("value" => "images/smilies/",
            "text" => "Smilies",
            ),
        );
  }
        //eof mx module nouserblog

Wie im Quellcode geschrieben,
wenn ich ein die('test') hinter  if(MX_MODULE=='Userblog')
     {
schreibe, wird korrekt "test" angezeigt,
es werden aber die Bilderverzeichnisse aus der else Bedingung angezeigt. Wie das?
Gespeichert

lemming
weiss mehr
****
Offline Offline

Geschlecht: Männlich
Beiträge: 491


WWW
« Antworten #3 am: 26 Juli 2010, 14:33:41 »

hey  Smiley,
habs mir jetzt nicht ganz durchgelesen aber evtl. verlierst du die werte weil spaw ein popup öffnet für den bilder-dialog? und im moment bist du ja dabei den SPAW anzupassen. wärs nicht schöner, wenn du dein modul anpasst, so dass sich das modul selbst drum kümmert an der speziellen stelle dort wo das modul den spaw einsetzt?

dann könntest du dort wo du den spaw anzeigst mit folgendem das verzeichnis ändern:

Code: [Select]  
Here is how you set directories available to the File Manager of a specific SPAW editor instance:

// setting directories for a SPAW editor instance:
$spaw->setConfigItem(
  'PG_SPAWFM_DIRECTORIES',
  array(
    array(
      'dir' => '/myuploads/images/2006/',
      'caption' => 'Images 2006',
      'params' => array(
        'allowed_filetypes' => array('images')
      )
    ),
  ),
  SPAW_CFG_TRANSFER_SECURE
);

quelle: http://www.spaweditor.com/spaw/spaw2/docs/documentation/integrators.html

einzige was dann halt wiederrum bisschen blöd ist, du musst an anderer stelle wieder zu den ursprünglichen verzeichnissen switchen. mhm...
Gespeichert

greetz,
Jörg

------------------------
Mitgliedersuche v.0.3 *new*
Webfan
Spezialist
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 552


WWW
« Antworten #4 am: 26 Juli 2010, 14:48:30 »

Ich habe es jetzt wie Du gesagt hast probiert:

Zitat
Fatal error: Call to undefined method SPAW_Wysiwyg::setConfigItem() in /var/www/web14/html/fromwebfan/webfan2/pragma/modules/Userblog/task.pages.php on line 262

Ich nutze auf dieser Seite noch pragmaMx 0.1.9 (und kann aufgrund der vielen Modifizierungen dort nicht updaten).
Dennoch muß es doch irgendwie möglich sein die Bilderverzeichnisse dynamisch zu laden?
Irgendwie bin ich ja wohl auch nah dran, klappt aber nicht (siehe oben).

Wenn mir hier gehlofen wird (und ggf. themes entwickelt werden), siehe anderer Thread, überlege ich mir das Modul als Downloadmodul zu entwickeln oder irgendwie zur Verfügung zu stellen. (Die nächste PMX Version warte ich aber mindestens noch ab, wegen der erwarteten Änderungen, und ich möchte das Modul aber auch unter meinem pragmaMx 0.1.9 laufen haben).

Danke lemming schonmal für Deine Hilfe!

mfg
 bye
Gespeichert

lemming
weiss mehr
****
Offline Offline

Geschlecht: Männlich
Beiträge: 491


WWW
« Antworten #5 am: 26 Juli 2010, 16:12:51 »

Ich nutze auf dieser Seite noch pragmaMx 0.1.9 (und kann aufgrund der vielen Modifizierungen dort nicht updaten).

ja das ist ätzend, ist bei mir aus dem selben grund auch noch so aber zum glück bin ich bald soweit, dass ich updaten kann.

-----------------------

les dir mal das hier noch durch, der letzte post scheint vllt. noch ne möglichkeit zu sein.

http://forums.solmetra.com/viewtopic.php?f=2&t=609

image library könnte man hier auch falsch verstehen, ich dachte auch zuerst dass die vllt. von der GDLib o.ä. sprechen aber dem code nach dreht sichs hier auch um die bild verzeichnisse.

kanns leider nicht testen für dich, hab selbst ncoh einige baustellen offen die mir kopfschmerzen bereiten aber ansich wärs schon ne gute sache, da es mir pers auch lieber wäre wenn es verschiedene ordner bei verschiedenen modulen wären. usergästebuch, kalender, web_links. und dann jeweils vorausgewählt, weil auswählen tuts sowieso keiner.
Gespeichert

greetz,
Jörg

------------------------
Mitgliedersuche v.0.3 *new*
Webfan
Spezialist
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 552


WWW
« Antworten #6 am: 26 Juli 2010, 16:45:48 »

Mh. Ich werd das nachher nochmal durchgehen mit img_library.php (bin im Moment kurz beschäftigt).

Allerdings ist es so, daß ich die Logik nicht ganz schnalle (siehe oben):
Wie obe beschrieben habe ich dieses $BLOGDATA array und er geht, wie getestet(Siehe oben) auch in die Schleife, allerdings werden dennoch nicht die richtigen Verzeichnisse angezeigt.
Das verstehe ich nicht.

Viele Grüße
 bye
Gespeichert

Webfan
Spezialist
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 552


WWW
« Antworten #7 am: 30 Juli 2010, 23:10:59 »

Ich wage es nochmal vorsichtig anzufragen, ob denn wirklich niemand es mal irgendwie geschafft hat, das Bilderverzeichnis dynamsich vorzugeben?
Irgendwie kann ich das nicht ganz glauben, vor allem macht mich stuzig, das wie oben beschrieben zwar die richtige if Bedingung ausgeführt wird, aber die Verzeichnisse trotzdem nicht stimmen irgendwie...

 gruebel

Ich denke ich werde mich bald dafür entscheiden, mein stark modifiziertes Webfan 1.9 Pragma doch "nach und nach" upzudaten, sobald das neue PMX erscheint, das wird zwar viel Arbeit, ich habe nicht nur die Module modifiziert sondern auch "Systemdateien" und die Änderungen möchte ich gerne beibehalten. (bin also auch für eine Lösung mit der neuen Version offen, falls es eine solche gibt, ich meine aber das Problem sollte auch unter der alten Version zu lösen sein).
Die betreffende Stelle meine ich schon gefunden zu haben (siehe oben) nur klappt es irgendwie nicht...

 bye
Gespeichert

Andi
Administrator
******
Offline Offline

Geschlecht: Männlich
Beiträge: 19.424

Andi


WWW
« Antworten #8 am: 02 August 2010, 23:36:38 »

Hoi Smiley

ich habe den thread nur recht oberflächlich verfolgt, mich also nicht mit deinem Code beschäftigt.

Grundsätzlich existiert das Problem, dass die Popupfenster, also auch der Filemanager, des Spaw nicht in der pragmaMx Umgebung laufen und damit weder die Session, noch die Datenbank verwenden können.
Die relevanten Daten werden über ein Cookie weiter gegeben. Die User-ID ist da aber nicht dabei, sondern nur ob es überhaupt ein angemeldeter User, ein Gast oder ein Admin ist.
Eine Userspezifische Einstellung ist also so nicht möglich.

Mit deiner Version 0.1.9 werkelst du natürlich in einer völlig veralteten Version rum. Gerade der Spaw Editor wurde bereits in 0.1.10 komplett erneuert. An dem alten Spaw würde ich keine Code Zeile mehr verschwenden.

In der kommenden Version 1.12 habe ich die /spaw/mx_bridge.php entsprechend ergänzt, so dass die User-Id mit übergeben wird. Damit sollte es also kein Problem sein, entsprechende userordner anzusprechen.
Gespeichert

schön´s Grüssle, Andi
Kein Support über PN, Mail oder ICQ!
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!
Webfan
Spezialist
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 552


WWW
« Antworten #9 am: 02 August 2010, 23:43:36 »

Ok, danke! Dann warte ich mal ab...

Viele Grüße  bye
Gespeichert

Seiten: [1]   Nach oben
Drucken
 
Gehe zu:  

Powered by SMF 1.1.16 | SMF © 2011, Simple Machines
design by hENNE, layout based on YAML