Page 1 of 1

formmailer, calendar - rechte !?

Posted: Fri Sep 01, 2006 12:05 pm
by wolle
bin gerade dabei mal die ganzen rechte einzurichten... bin auf ein paar probleme gestoßen:

feedbackform 0.9.12: ein user, der keine rechte dafür zugewiesen bekommen hat, bekommt diesen punkt tzrotzdem angezeigt. kann zwar nichts ändern oder einfügen aber wäre schön wenn dies ausgeblendet wird. bug?
auf 0.9.13 kann ich nicht updaten, da ich cmsms 0.13 benutze.

calendar 0.7 stable: ein benutzer, der rechte für das modul calender zugewiesen bekommt (modify calendar) kann auch die templates für calender editieren. nicht sehr gut finde ich.

jemand ideen oder lösungen?

gruß
wolle

Re: formmailer, calendar - rechte !?

Posted: Fri Sep 01, 2006 12:30 pm
by wolle
lösungsvorschlag wegen dem calendar module:
ist zwar net die edelste aber für meine verhältnisse würds genügen.
bei mir soll keiner was an den templates ändern können außer ich.
in calendar.Module.php in Zeile 479 steht:

Code: Select all

		echo $this->SetTabHeader('admin_calendar_template', $this->Lang('cal_calendar_template'), $name == 'admin_calendar_template' ? true : false);
		echo $this->SetTabHeader('admin_list_template', $this->Lang('cal_list_template'), $name == 'admin_list_template' ? true : false);
		echo $this->SetTabHeader('admin_upcominglist_template', $this->Lang('cal_upcominglist_template'), $name == 'admin_upcominglist_template' ? true : false);
		echo $this->SetTabHeader('admin_event_template', $this->Lang('cal_event_template'), $name == 'admin_event_template' ? true : false);
		echo $this->SetTabHeader('admin_manage_settings',$this->Lang('cal_settings'), $name == 'admin_manage_settings' ? true : false);

darüber werden die menüpunkte aufgerufen... wenn ich jetzt abfragen könnte, ob der eingeloggte user der admin user ist könnt mans über ne if funktion ein oder ausbleden.... weiss jemand in welcher variable der namen des eingeloggten zu finden ist?

gruß
wolle

Re: formmailer, calendar - rechte !?

Posted: Fri Sep 01, 2006 1:17 pm
by wolle
problem eben gelöst...
ist zwar net die edelste methode aber für mich reichts da die templates NIE wer anders als ich editieren soll...
habe jetzt alle punkte außer den für termine rausgenommen...
wer es auch so machen will geht wie folgt vor:

calendar.Module.php öffnen...

ab zeile 475 steht der code der die punkte oben auflistet...
durch einfügen von

Code: Select all

		if($_SESSION["cms_admin_username"] == 'admin')	{
			echo $this->SetTabHeader('admin_manage_categories', $this->Lang('cal_categories'), $name == 'admin_manage_categories' ? true : false);
			echo $this->SetTabHeader('admin_calendar_template', $this->Lang('cal_calendar_template'), $name == 'admin_calendar_template' ? true : false);
			echo $this->SetTabHeader('admin_list_template', $this->Lang('cal_list_template'), $name == 'admin_list_template' ? true : false);
			echo $this->SetTabHeader('admin_upcominglist_template', $this->Lang('cal_upcominglist_template'), $name == 'admin_upcominglist_template' ? true : false);
			echo $this->SetTabHeader('admin_event_template', $this->Lang('cal_event_template'), $name == 'admin_event_template' ? true : false);
			echo $this->SetTabHeader('admin_manage_settings',$this->Lang('cal_settings'), $name == 'admin_manage_settings' ? true : false);
		}
blenden wir diese aus... sie werden nur aufgerufen, wenn der benutzer namens "admin" eingeloggt ist.
so jetzt haben wir zwar die menüpunkte ausgeblendet, jedoch werden jetzt die textfelder unterhalb der termine noch immer angezeigt. also müssen diese auch raus...
dafür suchen wir uns die funktion AdminDisplayTemplate
dort wird wieder die if abfrage eingebaut... also:

Code: Select all

		if($_SESSION["cms_admin_username"] == 'admin')	{
			echo $this->CreateFormStart($id, 'admin_update_template');
			echo $this->CreateInputHidden($id, 'template_name', $template);
			echo '<p style="margin-top: 10px">'.$this->CreateTextArea(false, $id, $this->GetTemplate($template), 'template_content', '').'</p>';
			echo '<p style="margin-top: 5px">'.$this->CreateInputSubmit($id, 'submitbutton', $this->Lang('cal_update_template')) .' </p>';
			echo $this->CreateFormEnd();
		}
prinzip ist wie er merkt immer das selbe...
nun müssen wir noch den inhalt vom punkt Kategorien ausblenden... dafür suchen wir uns die funktion AdminDisplayCategories und setzen dort auch wieder unsere if abfrage vor.... dann nochmal das ganze mit AdminManageSettings da wir ja auch die settings augeblendet haben wollen und fertig...

ist wie gesagt net die beste lösung aber die einfachste... sobald man mehreren benutzern das ändern von templates erlauben will muss man halt in die if abfragen die anderen namen mit einfügen... aber für leute wie mich, die nicht so tief in cmsms drinnen stecken um das ganze module umzuschreiben ist eben so am einfachsten ;)

jetzt steht nurnoch das problem feedbackform offen

Re: formmailer, calendar - rechte !?

Posted: Mon Sep 04, 2006 8:29 am
by cyberman
Da hast du aber immer Stress mit dem Ändern der Abfragen. Einfacher wäre es wahrscheinlich, wenn du anstatt des Usernamens die Usergruppe abfragst. Wer die Templates ändern darf, muss z. Bsp. der Gruppe Admin angehören.

Ansonsten müssten modulseitig mehr einzelne Rechte gesetzt werden. Im übrigen gibt es dafür FeatureRequests  ;D.

Für Feedbackform kannst du den Eintrag ja hilfsweise ebenfalls auf dem von dir beschriebenen Weg ausblenden. Scheint ein Bug zu sein. Eigentlich gibt es ja für FeedbackForm auch schon einen Nachfolger (FormBuilder). Deswegen frage ich mich sowieso, weshalb da noch an FeedbackForm rum- bzw. weiterentwickelt wird  ::) ...

Re: formmailer, calendar - rechte !?

Posted: Wed Sep 06, 2006 10:14 am
by wolle
ja leider gibt es den formbuilder nur als xml datei die ich mit cms 0.13 nicht installieren kann.
vll kann mir ja mal wer die extrahierten datein schicken?
hab ehrlich gesagt auch keine lust mein cms upzudaten bin froh, dass so erstmal alles soweit läuft.

gruß
wolle

Re: formmailer, calendar - rechte !?

Posted: Wed Sep 06, 2006 10:49 am
by cyberman
8)

[gelöscht durch Administrator]

Re: formmailer, calendar - rechte !?

Posted: Wed Sep 06, 2006 1:16 pm
by wolle
cool danke...
aber leider: Minimum CMSMS Version Required: 1.0-svn

hmm vll die ältere version?

Re: formmailer, calendar - rechte !?

Posted: Wed Sep 06, 2006 2:09 pm
by cyberman
Hmm, wird dir möglicherweise auch nicht viel nützen. Ansonsten kannst du dir die Dateien in älteren Versionen auch aus dem SVN holen.

http://viewsvn.cmsmadesimple.org/viewsv ... ormbuilder

Wenn ich es richtig gesehen habe, ist mit Revision 79 die 1.0 Pflicht geworden.

[gelöscht durch Administrator]