Eigene Rechteverwaltung

Discuss phpwcms here, please do not post support requests, bug reports, or feature requests! Non-phpwcms questions, discussion goes in General Chat!
MarioK
Posts: 41
Joined: Wed 11. Feb 2009, 13:07
Location: Dresden
Contact:

Re: Eigene Rechteverwaltung

Post by MarioK »

Uwe367 wrote:
error while renameing of: installmode[/quote]

Nachdem ich diese Datei von Hand umbenannt habe ist nun auch der Installationsmodus im Backend deaktiviert :)
Klasse Arbeit Mario.... :D *Daumen hoch*[/quote]

Danke, an der Stelle versucht er die Datei <installmode> in das Verzeichnis Setup zu legen, ich weis der Funktionsname rename ist eigentlich fürs umbenennen gedacht und nicht fürs ausschneiden -> einfügen
Sprich, die Datei wird nie umbenannt, lediglich in den Ordner <setup> gelegt.

wenn du bei der Datei <setup/setup.php> in Zeile 83 (beim deaktivieren des Installmodus)

Code: Select all

if(@rename('installmode','../installmode')) {
bzw. Zeile 90 (beim aktivieren des Installmodus)

Code: Select all

if(@rename('../installmode','installmode')) {
das @ entfernst, wird die Standard PHP-Fehlermeldung nicht mehr unterdrückt.

Vielleicht hat das Script im Ordner <setup> keine Schreibrechte

@pepe
learning by doing ihr R&V - Vertreter :)
User avatar
update
Moderator
Posts: 6455
Joined: Mon 10. Jan 2005, 17:29
Location: germany / outdoor

Re: Eigene Rechteverwaltung

Post by update »

nee - eben runtergeladen - nüscht....

EDIT: scrollen sollte man können... klar ist sie da... :oops:
Last edited by update on Sat 21. Feb 2009, 17:31, edited 1 time in total.
It's mostly all about maintaining two or three customer's sites Still supporter for the band Mykket Morton. Visit Mykket Morton on FB. Listen Mykket Morton and live videos on youtube.
Now building a venue for young artists to get wet on stage, rehearsal rooms, a studio, a guitar shop - yes I'm going to build some guitars.
MarioK
Posts: 41
Joined: Wed 11. Feb 2009, 13:07
Location: Dresden
Contact:

Re: Eigene Rechteverwaltung

Post by MarioK »

Readme.txt

Code: Select all

Version 1.1 (für phpwcms 1.4.1 r307) (C) by MarioK (http://forum.phpwcms.org)

Eine kleine Anleitung für das Modul <usergroup>
-----------------------------------------------

1. der Ordner (mit kompletten Inhalt) muss ins Verzeichnis <inc_module> von phpwcms
2. als Admin-User in eurem phpwcms System anmelden und unter <Module> <Benutzer / Gruppen> auswählen
3. alle Fehler beheben (am Besten zu letzt die phpwcms.php modifizieren)
4. <phpwcms_right> ist leer
	-> unter <Admin> ... <Benutzerverwaltung> ... einen User (am Besten Admin) auswählen
	   und ihm mind. rights_benutzer und rights_gruppen aktivieren

wenn alles stimmt ist das Modul aktiv, GLÜCKWUNSCH!


Allgemeine Sachen
-----------------

Auswirkungen auf mein phpwcms-System:
 - alles bleibt wie gehabt, es wird "nur" die <phpwcms.php> in <phpwcms.php.org> umbenannt
	-> das kann durch deaktivieren von <Modul aktivieren:> wieder rückgängig gemacht werden
	-> Änderungen an der Datenbank sind entgültig!!!

Wer ist nun Admin?
 - generell ist der Admin der wie im alten System als Admin deklariert wird
 - dieses Modul ermöglicht nur eine genauere Unterscheidung von nicht Admins

Was ist der Installations-Modus?
 - wenn der aktiviert ist, erfolgt kein Script-abbruch wenn ein Fehler beim lesen der Rechte erfolgt
	-> ein Fehler passiert z.B. dann wenn die Tabellen noch nicht existieren

Ich klicke auf Rechte und trotzdem werden sie nicht aktiv!
Ich ordne User/Gruppen zu aber er speichert sie nicht!
 - es gibt jeweils eine Checkbox <mit aktualisieren:> die zur Sicherheit aktiviert sein muss

Warum heißen die Rechteoptionen so komisch?
 - das System ist so aufgebaut das jeder Zeit in der Tabelle <phpwcms_rights> eine neue Spalte
   angelegt werden kann (Bedingung Name der Spalte "rights_WHATEVER")
	-> damit wird in der Administration der Rechte <rights_WHATEVER> angezeigt
	   und mit <$rights["rights_WHATEVER"]> an jeder Stelle im BE Script abrufbar

Wieso brauche ich die Version 1.4.1?
 - das Modul ersertzt die <phpwcms.php> mit der von Version 1.4.1
	-> wenn ihr andere Versionen habt könnt ihr die manuell modifizieren
	   alle Änderungen habe ich dokumentiert mit <// Änderung MarioK>
war schnell zusammen geschrieben worden von mir :mrgreen:

ACH wenn einer Lust hat kann er gerne meine miesen Englisch-Texte verbessern :P
User avatar
update
Moderator
Posts: 6455
Joined: Mon 10. Jan 2005, 17:29
Location: germany / outdoor

Re: Eigene Rechteverwaltung

Post by update »

Danke! Los geht's ;)
It's mostly all about maintaining two or three customer's sites Still supporter for the band Mykket Morton. Visit Mykket Morton on FB. Listen Mykket Morton and live videos on youtube.
Now building a venue for young artists to get wet on stage, rehearsal rooms, a studio, a guitar shop - yes I'm going to build some guitars.
User avatar
update
Moderator
Posts: 6455
Joined: Mon 10. Jan 2005, 17:29
Location: germany / outdoor

Re: Eigene Rechteverwaltung

Post by update »

You've asked for - you'll get it...
Zum gefälligen Kopieren - eine kleine Korrektur.... ;)

Code: Select all

<?php
// Language: German, Country Code: de
// please use HTML safe strings ONLY,neccessary to reduce processing time
// normal line break:    '&#13;', JavaScript Linebreak: '\n'

// Änderung MarioK

$BLM['backend_menu']					 = 'User / Group';
$BLM['modul_title']						 = 'User- & Group- Administration';
$BLM['modul_active']					 = 'Module active';
$BLM['modul_nullerr']					 = 'No errors recognized';
$BLM['modul_err']						 = 'There are %i% errors';
$BLM['modul_hint']						 = 'does not directly contribute to functionality';
$BLM['modul_phpwcms1']					 = 'phpwcms.php has been already modified';
$BLM['modul_phpwcms2']					 = 'phpwcms.php is not modified';
$BLM['modul_install']					 = 'Installation-Mode';
$BLM['modul_install_hint']				 = 'only deactivate if every error has been fixed!';
$BLM['modul_create']					 = 'create it';
$BLM['modul_err_rename']				 = 'error while renaming of: %file%';
$BLM['modul_err_copy']					 = 'error while copying: %file%';
$BLM['modul_err_delete']				 = 'error while deleting: %file%';
$BLM['modul_compatiple']				 = 'only tested with 1.4.1 (r_307) - running version: %ver%';
$BLM['modul_err_rights']				 = 'no data in phpwcms_rights found';
$BLM['modul_ok_rights']					 = 'data in phpwcms_rights does exist';

$BLM['be_subnav_admin_history']          = 'reset database';
$BLM['be_admin_rights_error']			 = 'error while reading userrights!&#13script aborted!';

// admin.newgroup.tmpl.php & admin.editgroup.tmpl.php
$BLM['be_admin_group_err1']              = 'groupname is already choosen';
$BLM['be_admin_group_err2']              = 'groupname is empty!';
$BLM['be_admin_group_err']               = 'error';
$BLM['be_admin_group_title']             = 'create new group';
$BLM['be_admin_group_name']              = 'groupname';
$BLM['be_admin_group_desc']              = 'description';
$BLM['be_admin_group_setactive']         = 'activate';
$BLM['be_admin_group_if']                = 'group is active';
$BLM['be_admin_group_button']            = 'send groupdata';
$BLM['be_admin_group_noname']            = 'no name';
$BLM['be_admin_group_edit']              = 'edit groupdata';
$BLM['be_admin_group_ldel']              = 'attention!&#13;this group will be deleted';

// admin.usergroup.tmpl.php
$BLM['be_admin_usergroup_member']        = 'included user';
$BLM['be_admin_usergroup_user']          = 'all other users';
$BLM['be_admin_usergroup_member2']       = 'included groups';
$BLM['be_admin_usergroup_user2']         = 'all other groups';
$BLM['be_admin_usergroup_do']			 = 'change this, too';

// admin.rights.tmpl.php
$BLM['be_admin_rights']					 = 'allowed rights';
$BLM['be_admin_rights_yes']				 = 'yes';
$BLM['be_admin_rights_no']				 = 'no';
// Ende
?>
It's mostly all about maintaining two or three customer's sites Still supporter for the band Mykket Morton. Visit Mykket Morton on FB. Listen Mykket Morton and live videos on youtube.
Now building a venue for young artists to get wet on stage, rehearsal rooms, a studio, a guitar shop - yes I'm going to build some guitars.
pepe
Posts: 3954
Joined: Mon 19. Jan 2004, 13:46

Re: Eigene Rechteverwaltung

Post by pepe »

Wenn ich mal meine Phantasie schweifen lassen dürfte... würde ich mir für die erste NEUE Installation mit diesem Modul vorstellen, dass als nächstes (für mich brauchbares) Feature eine Zuordnung von "erlaubten Kategorien" zu den unterschiedlichen “Gruppen“ möglich ist, im Sinne von:

Erlaubte Kategorien: x alle | - spezielle Auswahl treffen

Die nicht freigegebenen sollten zwar im Backend für den aktuellen User ggf. angezeigt und eingesehen werden können aber keine Eingabe möglich sein.
Entsprechendes wäre dann natürlich zwangsläufig für den ARTIKEL-Bereich: Anzeigen und Einsehen ggf. schon... aber keine Veränderung.

Ob das so geht... entzieht sich aber vollkommen meinen Kenntnissen oder Fähigkeiten :-(


Ich weiss, soweit "sind wir noch lange nicht"... aber träumen tu ich davon nun mal seit vielen Monaten :-)

Auf jeden Fall möchte ich nocheinmal wiederholen: Dein Ansatz und deine Aktivität für dieses CMS gefallen mir seeeehr :wink:
MarioK
Posts: 41
Joined: Wed 11. Feb 2009, 13:07
Location: Dresden
Contact:

Re: Eigene Rechteverwaltung

Post by MarioK »

wow danke :)

mich nervts langsam immer so viele variablen an die funktionen zu übergeben...
mit globals wäre ungünstig (sicherheit und hat nicht jeder aktiv)
$_SESSION[] is mir auch nicht recht da herum zu schreiben
gibts noch was anderes? seh ich den wald vor lauter bäumen nicht?


und auch von mir, der riesen SKANDAL aufgedeckt durch unserem wachsamen pepe (morgen in der BILD :mrgreen: )

update von der admin.rights.tmpl.php

Code: Select all

<?php

$id = $new_user_id;
if($p==1) $id = $new_group_id;

function print_rights($id=0, $db, $p=0, $rights) {
	if($result = mysql_query("SHOW COLUMNS FROM ".DB_PREPEND."phpwcms_rights", $db)) {
		$i = 0;
		while ($row = mysql_fetch_assoc($result)) {
			if($row["Field"] != "rights_id" && $row["Field"] != "rights_user" && $row["Field"] != "rights_group") {
					$field[$i] = $row["Field"];
					$i++;
			}
		}
		mysql_free_result($result);
	} 
	$sql  = "SELECT * FROM ".DB_PREPEND."phpwcms_rights ";
	$sql .= "WHERE rights_user = ".$id." LIMIT 0,1";
	if($p==1) {
		$sql  = "SELECT * FROM ".DB_PREPEND."phpwcms_rights ";
		$sql .= "WHERE rights_group = ".$id." LIMIT 0,1";
	}
	if($result = mysql_query($sql, $db)) {
		$row = mysql_fetch_assoc($result);
	}
		$i = 0;
		foreach($field as $value) {
			if($rights[$value] == 1 || $_SESSION["wcs_user_admin"] == 1) {
				if($i == 0) echo '<tr><td width="100px">&nbsp;</td>';
				echo '<td align="right">'.$value.': </td>';
				$checked1 = $checked2 = "";
				if($row[$value] == "1") { $checked1 = " CHECKED"; } else { $checked2 = " CHECKED"; }
				echo '<td width="30px"><input name="'.$value.'" type="radio" value="1"'.$checked1.'></td>'
					.'<td><input name="'.$value.'" type="radio" value="0"'.$checked2.'></td>';
				if($i == 0) echo '<td width="100px">&nbsp;</td>';
				if($i == 1) echo '<td width="100px">&nbsp;</td></tr>'.chr(13).chr(10);
				$i++;
				if($i == 2) $i = 0;
			}
		}
		if($i==1) echo '<td colspan="3">&nbsp;</td></tr>'.chr(13).chr(10);
		@mysql_free_result($result);
		if($row["rights_id"] == "") $row["rights_id"] = "new";
		echo '<input type="hidden" name="rights_id" value="'.$row["rights_id"].'">';
}
?>
<table border="0" cellpadding="0" cellspacing="0" width="450px">
  <tr>
    <td colspan="9"><?php echo $label3;  ?>: <input type="checkbox" name="dorights" value="1"></td>
  </tr>
  <tr>
    <td colspan="9">&nbsp;</td>
  </tr>
  <tr>
    <td colspan="9" align="left"><?php echo $BL['modules']['usergroup']['be_admin_rights'];  ?>: </td>
  </tr>
  <tr>
    <td colspan="2">&nbsp;</td>
	<td><?php echo $BL['modules']['usergroup']['be_admin_rights_yes'];  ?></td>
	<td><?php echo $BL['modules']['usergroup']['be_admin_rights_no'];  ?></td>
    <td colspan="2">&nbsp;</td>
	<td><?php echo $BL['modules']['usergroup']['be_admin_rights_yes'];  ?></td>
	<td><?php echo $BL['modules']['usergroup']['be_admin_rights_no'];  ?></td>
    <td>&nbsp;</td>
  </tr>
  <?php print_rights($id, $db, $p, $rights); ?>
  <tr>
    <td colspan="9">&nbsp;</td>
  </tr>
</table>
// EDIT
das "alte" Feld zum setzen vom Administrator ist auch noch da wenn Nutzer kein Admin ist :!: kommt mit der nächsten Version
User avatar
update
Moderator
Posts: 6455
Joined: Mon 10. Jan 2005, 17:29
Location: germany / outdoor

Re: Eigene Rechteverwaltung

Post by update »

Wie bekomme ich denn für einen User / eine Gruppe Zugang zum Newsletter (um zB eine Newslettergruppe zu machen). Momentan ist das Ding einfach weg.... nicht zu sehen...
It's mostly all about maintaining two or three customer's sites Still supporter for the band Mykket Morton. Visit Mykket Morton on FB. Listen Mykket Morton and live videos on youtube.
Now building a venue for young artists to get wet on stage, rehearsal rooms, a studio, a guitar shop - yes I'm going to build some guitars.
User avatar
update
Moderator
Posts: 6455
Joined: Mon 10. Jan 2005, 17:29
Location: germany / outdoor

Re: Eigene Rechteverwaltung

Post by update »

Die Rechte des Users überschreiben zTeil die Gruppenrechte.... (Beispiel: ein Benutzer hat alle Rechte und ist in einer Gruppe mit zwei drei Rechten - dann hat er mehr als diese paar Gruppenrechte)
Das kann so nicht gewollt sein, oder?
It's mostly all about maintaining two or three customer's sites Still supporter for the band Mykket Morton. Visit Mykket Morton on FB. Listen Mykket Morton and live videos on youtube.
Now building a venue for young artists to get wet on stage, rehearsal rooms, a studio, a guitar shop - yes I'm going to build some guitars.
MarioK
Posts: 41
Joined: Wed 11. Feb 2009, 13:07
Location: Dresden
Contact:

Re: Eigene Rechteverwaltung

Post by MarioK »

claus wrote:Wie bekomme ich denn für einen User / eine Gruppe Zugang zum Newsletter (um zB eine Newslettergruppe zu machen). Momentan ist das Ding einfach weg.... nicht zu sehen...
Newsletter oder Messages habe ich nicht angerühert, somit kannst du es mit meinem modul nicht freischalten, auf den ersten blick in der <phpwcms.php> erkenne ich nur die Abhängigkeit von der (schon viel erwähnten) alten User-Eigenschaft die ihm zum Administrator erhebt (das Kopf-Bildchen in der UserListe)
---> die "neuen" gruppen können so eine eigenschaft noch nicht besitzen

aber vielleicht kann dir jm. besser helfen als ich...

wie beschrieben hat jeder der mein modul nutzt seine <phpwcms.php> mit der aktuellen Standartvariante + meinen Änderungen getauscht.

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

ich hatte es angemerkt, dass ein die rechte mit ODER verknüpfung verbunden werden
MarioK wrote:Meine Vorschläge für Unterscheidungen im Richtliniensystem (Rechte)

- im allgemeinen werden erst Gruppenrechte geladen und dann Nutzerrechte
- ein Verbot wird von einem Erlaub überschrieben (logisches ODER)

Code: Select all

Name				 Artikel	Module	Benutzer	Gruppen
-----				------		------		--------	-------

User Mario			1		0		0		0
Gruppe Benutzer	 1		1		0		0
Gruppe SubAdmin	 0		1		1		1
-------------------------------------------------------------------------
						 1		1		1		1
- bin mir noch unsicher ob ein lese/schreib/lese&schreib oder ja/nein System?
- eine neue Tabelle wird für Gruppenleiter hinzugefügt (n:n-Verbindung [wie members])
- ein Gruppenleiter darf dann Artikel von seinen Gruppenredakteuren frei verwalten
- Artikel dürfen nur von Leuten der höheren Gruppe oder Besitzer bearbeitet werden
- Tabelle usergroup wird um ein Feld erweitert (Hierarchieebene)
- Tabelle user wird um ein Feld erweitert, wo ein Urlaubsvertreter User angegeben werden kann

Mein Rechte-System wird sich vorwiegend auf Artikel, Administration und Kalender beziehen, aber so gestaltet das zusätzliche Möglichkeiten nicht ausgeschlossen sind :D
User avatar
Uwe367
Posts: 1211
Joined: Sat 15. Sep 2007, 07:19
Location: Koblenz

Re: Eigene Rechteverwaltung

Post by Uwe367 »

MarioK wrote:
Danke, an der Stelle versucht er die Datei <installmode> in das Verzeichnis Setup zu legen, ich weis der Funktionsname rename ist eigentlich fürs umbenennen gedacht und nicht fürs ausschneiden -> einfügen
Sprich, die Datei wird nie umbenannt, lediglich in den Ordner <setup> gelegt.
Ich habe mir das Installationspaket mal angeschaut und dabei festgestellt, daß die Datei Installmode bereits im Ordner Setup vorhanden ist. Somit konnte die Datei wohl nicht verschoben werden da sie im Zielverzeichnis schon vorhanden ist.
Zum testen habe ich die Datei Installmode aus dem Ordner Setup gelöscht und das Modul in einer neuen PHPWCMS Version mit neuer Datenbank installiert. Die Fehlermeldung beim deaktivieren des Installationsmodus erschien nun nicht mehr und die Datei wurde, wie es sein soll, ins Verzeichnis Setup verschoben.
War das der richtige Lösungsweg? :)
MarioK
Posts: 41
Joined: Wed 11. Feb 2009, 13:07
Location: Dresden
Contact:

Re: Eigene Rechteverwaltung

Post by MarioK »

ja... dann war die datei entweder 2x im zip oder noch bei der alten version im setup ordner :D
MarioK
Posts: 41
Joined: Wed 11. Feb 2009, 13:07
Location: Dresden
Contact:

Re: Eigene Rechteverwaltung

Post by MarioK »

Hallo an alle aktive Leser und stiller Verfolger des Projektes,

ich habe beschlossen eine Programmierpause einzulegen um mich der Realisierung meiner Facharbeit zu widmen.
Darüberhinaus erfolgte letzte Nacht ein längere und meiner Meinung nach sehr produktive Absprache mit Guru OG,
was dazu führt, dass ich den kompletten Quellcode nochmal überrolle und auch ein paar Tabellen anders gestalte als sie
bisher von mir entwickelt wurden.

Das neue Modul wird dann hier wieder zugänglich gemacht werden.

Anmerkung: Diverse Probleme mit Rechtevergabe sind bekannt (pepe) und auch andere Probleme sind mir schon aufgefallen beim überarbeitet.

Also seit gespannt was es geben wird :)
User avatar
update
Moderator
Posts: 6455
Joined: Mon 10. Jan 2005, 17:29
Location: germany / outdoor

Re: Eigene Rechteverwaltung

Post by update »

Also - gespannt sind wir schon längst. :lol:
Gutes Gelingen bei Deiner Arbeit!
It's mostly all about maintaining two or three customer's sites Still supporter for the band Mykket Morton. Visit Mykket Morton on FB. Listen Mykket Morton and live videos on youtube.
Now building a venue for young artists to get wet on stage, rehearsal rooms, a studio, a guitar shop - yes I'm going to build some guitars.
User avatar
Heiko H.
Posts: 868
Joined: Thu 27. Oct 2005, 11:41
Location: Dresden
Contact:

Re: Eigene Rechteverwaltung

Post by Heiko H. »

MarioK wrote:Darüberhinaus erfolgte letzte Nacht ein längere und meiner Meinung nach sehr produktive Absprache mit Guru OG...
Na wenn das nicht VIELVERSPRECHEND klingt... :D
Wie ich Dir - Mario - schon ganz zu Anfang per PM geschrieben hab, bin ich und ganz sicher viele andere (wie man ganz deutlich merkt :wink: ) immer bereit, einen Beitrag zum Gelingen deines Projekts zu leisten, sei es mit Übersetzungen, Dokumentation, Testen, dem zur Verfügung stellen von Webspace, oder was immer Dir die Arbeit erleichtert ... gib zeitraubende "Schreibarbeiten" an das Fußvolk :lol: ab, so bleibt dir mehr Zeit für's Wesentliche.

Keine Scheu! Davon lebt ein Projekt - Teamwork

Auch von mir, Daumen hoch!
Heiko...
Not longer here - sorry...

Haubner-IT GbR Dresden
Post Reply