• [MOD] V1.3 Let users add (sub-)categories / User erstellen (Sub-)Kategorien 4 0 5 1
Currently:  

Author Topic: [MOD] V1.3 Let users add (sub-)categories / User erstellen (Sub-)Kategorien  (Read 247523 times)

0 Members and 1 Guest are viewing this topic.

Offline KillerCookie

  • Newbie
  • *
  • Posts: 32
    • View Profile
Re: Ordering of new categories
« Reply #75 on: December 14, 2007, 03:55:13 AM »
Hi,
could be new added subcategory show on the top of subcategories? I mean ordering of categories by date of adding - I mean exactly same thing which you could setup in ACP in settings with new added images - ordering by date, by name, by nmr of downloads.... I know that I should order categories manually in ACP but I didnt find any way how to setup it for doing automatically when new user add subcategory  :cry:.
Thanks!
duso

Hello,
yes the ordering of the new subcats is set to ascending by default. The ordering function works like the following: you set an order-number to the cat (for example 10) and when the next cat is added you can set the number higher or lower than the previous number (ascending order / descending order). The ascending is easy because you just need to add 10 everytime you make a new cat and it will work... but descending... maybe take a number about 10000 and decrease it by 10 everytime (does the original 4images algorithm add 10 to every category higher than the target category? - i´m too tired to look at this now). [If someone got a better idea then please post it ;) ]

If you want such a modification then i´ll send you a link to a modified addcat.php. Maybe in the next version i´ll add a little setup where you can change some settings in a pretty little form. Because not everybody likes editing files.

Greets Maik

Offline Jasi

  • Jr. Member
  • **
  • Posts: 74
    • View Profile
Hallo an Alle,

bin absolut neu hier, eben ert angemeldet und dieser OD ist eigentlich genau das was ich suche ;)

So nun meine Fragen nachdem ich den ganzen Thread durchgelesen habe:

1. ich benutze die V1.7 4images (will dieser auch nicht aufgeben wegen eigen erstellten Templates)
2. läuft dieser MOD V1.3 nun auch mit der V1.7 4images oder bekomme ich diesen von mawenzi oder killercookie direkt?

Besten dank für eure Hilfe und großes Lob für diese tolle 4images-Forum und die tollen MOD's

LG eure Jasi

« Last Edit: January 27, 2008, 01:53:36 AM by Jasi »
LG Jasi

Offline mawenzi

  • Moderator
  • 4images Guru
  • *****
  • Posts: 4.500
    • View Profile
... dieser MOD läuft natürlich unter 4images Version 1.7.4 ... die Version 1.3 ist die Bezeichnung für diesen MOD ...
... zur Installation einfach nur die Anweisungen aus dem ersten Post ausführen ...
... alle Aktualisierungen und Fixes sind bereits darin enthalten ...
... ansonsten benötigst du von niemanden mehr irgend welche Infos, Dateien oder sonst was ...

... der MOD läuft 100% perfekt ...
Your first three "must do" before you ask a question ! ( © by V@no )
- please read the Forum Rules ...
- please study the FAQ ...
- please try to Search for your answer ...

You are on search for top 4images MOD's ?
- then please search here ... Mawenzi's Top 100+ MOD List (unsorted sorted) ...

Offline Jasi

  • Jr. Member
  • **
  • Posts: 74
    • View Profile
@ mawenzi
@ KillerCookie

erst einmal dankeschön für die schnelle Antwort, super !

Also kann ich den MOD nach der Beschreibung der 1.Threadseite nicht in meine V1.7 4images einbauen?

Weil du doch auf Seite 1 dieses Threads gepostet hattest:

Quote
... mit version1.7.0 dürfte es aufgrund der Funktion "create_cache_id" prinzipielle Probleme geben ...

Oder würde es ausreichen wenn ich in der addcat.php den betreffenden Abschnitt auskommandiere:

Code: [Select]
/*
$cache_id = create_cache_id(
  'page.index',
  array(
    $user_info[$user_table_fields['user_id']],
    isset($user_info['lightbox_image_ids']) ? substr(md5($user_info['lightbox_image_ids']), 0, 8) : 0,
    $config['template_dir'],
    $config['language_dir']
  )
);
*/

um den MOD doch für die V1.7 einsetzen zu können?


Nachtrag:

OK habe den betreffenden Codeabschnitt in der addcat.php mal auskommandiert und funktioniert eigentlich dann auch mit der V1.7.

Allerdings hab ich 2 Punkte die nicht so zufriedenstellen sind:

1. der CHMOD für eine neue Kategorie (/date/media) und (/date/thumbnail/ wird nicht auf 0777 (777) gesetzt sondern auf 550 und damit ist kein Upload möglich

2. kann man die Benutzerzuordnung für die von einem Mitglied erstellte Kategorie gleich beim erstellen zuordnen lassen, so dass man nicht extra in den ACP muss und die Zuordnung manuell machen

- neue Kategorie = Privat (3)
-- Benutzer = nur das Mitglied welches die Kategorie erstellt hat (da ja Privat)

Kann man das ändern und wenn JA wie?
« Last Edit: January 27, 2008, 12:04:40 PM by Jasi »
LG Jasi

Offline rubberduck

  • Jr. Member
  • **
  • Posts: 91
    • View Profile
    • Reptilienmanager.de
1. der CHMOD für eine neue Kategorie (/date/media) und (/date/thumbnail/ wird nicht auf 0777 (777) gesetzt sondern auf 550 und damit ist kein Upload möglich

Ok dann will ich das mal versuchen :)

Öffne addcat.php

Suche:

Code: [Select]
$user_access = get_permission();
Füge danach ein:

Code: [Select]
function create_cat_folder($path, $mode) {
  if (@is_dir($path)) {
    @chmod($path, $mode);
    return true;
  }
  else {
    $oldumask = umask(0);
    $result = mkdir($path, $mode);
    umask($oldumask);
    if (!@is_dir($path) || !$result) {
      $result = mkdir($path, 0755);
      @chmod($path, $mode);
    }
    return $result;
  }
}

Suche:

Code: [Select]
mkdir($new_image_folder_path, CHMOD_DIRS);
mkdir($new_thumb_folder_path, CHMOD_DIRS);

Ersetze mit:

Code: [Select]
create_cat_folder($new_image_folder_path, CHMOD_DIRS);
create_cat_folder($new_thumb_folder_path, CHMOD_DIRS);

Das ist das aus dem Adminbereich, sollte also funktionieren.


Quote
2. kann man die Benutzerzuordnung für die von einem Mitglied erstellte Kategorie gleich beim erstellen zuordnen lassen, so dass man nicht extra in den ACP muss und die Zuordnung manuell machen

Was meinst Du damit genau? Die Berechtigungen für die neue Kategorie? Die kannst Du direkt in der addcat.php einstellen.

ReptilienManager.de - Die Online Reptilien Verwaltung
Neueinsteiger.eu - Das Portal für Terraristik Einsteiger
Terra-ROW.de - Der regionale Terraristik Stammtisch in Rotenburg

Offline Jasi

  • Jr. Member
  • **
  • Posts: 74
    • View Profile
rubberduck

Erst mal dankeschön, sollte funzen, hab es zwar noch nicht ausprobiert aber denke schon ;)

Zu 2.)
Quote
2. kann man die Benutzerzuordnung für die von einem Mitglied erstellte Kategorie gleich beim erstellen zuordnen lassen, so dass man nicht extra in den ACP muss und die Zuordnung manuell machen...

Was meinst Du damit genau? Die Berechtigungen für die neue Kategorie? Die kannst Du direkt in der addcat.php einstellen.


Ich meine konkret, dass in die erstellte neue Kategorie NUR das Mitglied uploaden kann welches die Kategorie erstellt hat. Der Admin logisch kann überall.

Also z.B. Mitglied XYZ erstellt eine neue Kategorie, diese hat den Status (3) PRIVAT. Darin soll dann auch nur Mitglied XYZ Bilder uploaden (hochladen) können.

Du sagst dies können man in der addcat.php einstellen?! Hab ich was überlesen in der Anleitung oder bin ich wirr im Kopf  :idea: Wo ?

LG Jasi
LG Jasi

Offline rubberduck

  • Jr. Member
  • **
  • Posts: 91
    • View Profile
    • Reptilienmanager.de
Ich meine konkret, dass in die erstellte neue Kategorie NUR das Mitglied uploaden kann welches die Kategorie erstellt hat. Der Admin logisch kann überall.

Also z.B. Mitglied XYZ erstellt eine neue Kategorie, diese hat den Status (3) PRIVAT. Darin soll dann auch nur Mitglied XYZ Bilder uploaden (hochladen) können.

Du sagst dies können man in der addcat.php einstellen?! Hab ich was überlesen in der Anleitung oder bin ich wirr im Kopf  :idea: Wo ?

LG Jasi

Genau damit bin ich auch gerade am kämpfen :) Da hab ich das wohl falsch verstanden. Sorry.

Mal sehen ob ich da noch was finde.

ReptilienManager.de - Die Online Reptilien Verwaltung
Neueinsteiger.eu - Das Portal für Terraristik Einsteiger
Terra-ROW.de - Der regionale Terraristik Stammtisch in Rotenburg

Offline Jasi

  • Jr. Member
  • **
  • Posts: 74
    • View Profile
Hallo rubberduck,

funktioniert leider doch nicht mit deiner Änderung dass der CHMOD auf 0777 (777) gesetzt wird. Bilderfreischaltung im ACP doch nicht möglich :(

Code: [Select]
Warning: copy(): SAFE MODE Restriction in effect. The script whose uid is 1199 is not allowed to access /var/www/web25/html/2008/data/media/43 owned by uid 33 in /var/www/web25/html/2008/admin/admin_functions.php on line 111

Warning: copy(./../data/media/43/globale_erwaermung.jpg): failed to open stream: No such file or directory in /var/www/web25/html/2008/admin/admin_functions.php on line 111

Warning: copy(): SAFE MODE Restriction in effect. The script whose uid is 1199 is not allowed to access /var/www/web25/html/2008/data/thumbnails/43 owned by uid 33 in /var/www/web25/html/2008/admin/admin_functions.php on line 155

Warning: copy(./../data/thumbnails/43/.jpg): failed to open stream: No such file or directory in /var/www/web25/html/2008/admin/admin_functions.php on line 155
Fehler beim Hinzufügen des Bildes: Globale Erwärmung (globale_erwaermung.jpg)

LG Jasi
LG Jasi

Offline rubberduck

  • Jr. Member
  • **
  • Posts: 91
    • View Profile
    • Reptilienmanager.de
Kann dann ja auch nicht Funktionieren, wenn das Script einem anderen User/Gruppe gehört. Da gibt es dann mit dem SafeMode (siehe Fehlermeldung) Probleme.

Das kannst Du aber dann nur lösen wenn Du Zugriff auf den Server hast, oder aber über ein Adminpanel (z.B. Confixx) gesonderte Einstellungen für einen Benutzer machen kannst.

ReptilienManager.de - Die Online Reptilien Verwaltung
Neueinsteiger.eu - Das Portal für Terraristik Einsteiger
Terra-ROW.de - Der regionale Terraristik Stammtisch in Rotenburg

Offline Jasi

  • Jr. Member
  • **
  • Posts: 74
    • View Profile
Kann dann ja auch nicht Funktionieren, wenn das Script einem anderen User/Gruppe gehört. Da gibt es dann mit dem SafeMode (siehe Fehlermeldung) Probleme.

Das kannst Du aber dann nur lösen wenn Du Zugriff auf den Server hast, oder aber über ein Adminpanel (z.B. Confixx) gesonderte Einstellungen für einen Benutzer machen kannst.



@ rubberduck

also über ConFIXX den PHP Safe_Mode auf off setzen?

Code: [Select]
php_admin_flag safe_mode off
LG Jasi

Offline rubberduck

  • Jr. Member
  • **
  • Posts: 91
    • View Profile
    • Reptilienmanager.de
Hab selber Confixx nicht mehr auf dem Server, sollte aber passen. Einfach mal Probieren.

Achte aber darauf das Du diese Einstellung direkt über den Admin-Zugang machst und dann nur "für diese Domain" setzt. Wenn Du das für einen "Kunden" machst dann wird das "für alle Domains dieses Kunden" gemacht.

ReptilienManager.de - Die Online Reptilien Verwaltung
Neueinsteiger.eu - Das Portal für Terraristik Einsteiger
Terra-ROW.de - Der regionale Terraristik Stammtisch in Rotenburg

Offline Jasi

  • Jr. Member
  • **
  • Posts: 74
    • View Profile
Hab selber Confixx nicht mehr auf dem Server, sollte aber passen. Einfach mal Probieren.

Achte aber darauf das Du diese Einstellung direkt über den Admin-Zugang machst und dann nur "für diese Domain" setzt. Wenn Du das für einen "Kunden" machst dann wird das "für alle Domains dieses Kunden" gemacht.



rubberduck

also die Safe_Mode Änderung hat nichts bewirkt. Sobal eine neue Kategorie angelegt wird, egal ob über den ACP von 4images direkt oder über die addcat.php, wird der Ordner in /data/media zwar erstellt aber generell mit CHMOD 0550 (550) gesetzt. Da geht natürlich nichts anderes als den Ordner manuell auf dem Webspace zu löschen und manuell wieder anzulegen und dann manuell mit CHMOD 0777 (777) versehen.

Muss dann wohl an irgendeiner Servereinstellung selbst liegen, oder ?
LG Jasi

Offline rubberduck

  • Jr. Member
  • **
  • Posts: 91
    • View Profile
    • Reptilienmanager.de
ReptilienManager.de - Die Online Reptilien Verwaltung
Neueinsteiger.eu - Das Portal für Terraristik Einsteiger
Terra-ROW.de - Der regionale Terraristik Stammtisch in Rotenburg

Offline KillerCookie

  • Newbie
  • *
  • Posts: 32
    • View Profile
Nachtrag:

OK habe den betreffenden Codeabschnitt in der addcat.php mal auskommandiert und funktioniert eigentlich dann auch mit der V1.7.

Allerdings hab ich 2 Punkte die nicht so zufriedenstellen sind:

1. der CHMOD für eine neue Kategorie (/date/media) und (/date/thumbnail/ wird nicht auf 0777 (777) gesetzt sondern auf 550 und damit ist kein Upload möglich

2. kann man die Benutzerzuordnung für die von einem Mitglied erstellte Kategorie gleich beim erstellen zuordnen lassen, so dass man nicht extra in den ACP muss und die Zuordnung manuell machen

- neue Kategorie = Privat (3)
-- Benutzer = nur das Mitglied welches die Kategorie erstellt hat (da ja Privat)

Kann man das ändern und wenn JA wie?

Guten Tag Jasi,

genau diese Erweiterung soll die Addcat V2 enthalten. Die Funktion benutze ich selbst bereits und sie funktioniert auch perfekt. Falls es unbedingt notwendig ist, dann stelle ich sie als eine Art "Hotfix" zur Verfügung. Hier mal die Features der V2:

- erweitertes Rechtemanagement für die Erstellte Kategorie (Rechte können an bestimmten (z.B. Ersteller) User/Gruppen vergeben werden)
- komplettes Management über das Admin-Panel
- einfaches festlegen der Kategorien, in welchen Sub-Cats erstellt werden können

Unter Vorbehalt, da ich diesen MOD für jemand anderen erstelle:
- Personal Category Modus - jeder User erhält beim registrieren eine eigene Kategorie
- vieles mehr...

Frage: "Wo bleibt die V2 denn nun, die hattest du doch schon ewig angekündigt?"
Antwort: Meine USB-HDD, auf der alle meine Testserver sind/waren hat unverhofft vor 2 Wochen gestreikt und lies sich nicht mehr einschalten. Die V2 hatte ich in 2 Tagen auf Arbeit erstellt und wollte sie eigentlich nur noch durchkommentieren. Nun allerdings ist mein ganzer Arbeitsstand wieder stark zurückgefallen. Kurz und knapp: Wird noch bischen dauern.

PS.: MediMax (wo ich die Platte gekauft habe) hat mich gestern angerufen, das die Reparatur abgeschlossen sei. Es besteht die Möglichkeit, dass nur der USB-Controller defekt war und meine Daten noch vorhanden sind. Ich werde das heute überprüfen, nachdem ich sie abgeholt habe.


@mavenzi ... and all the others who may help me:

At the registration process (register.php) a the following line is calling a function to get the id for the new user:

Code: [Select]
$user_id = $site_db->get_next_id($user_table_fields['user_id'], USERS_TABLE);
The function "$site_db->get_next_id" looks like that:

Code: [Select]
  function get_next_id($column = "", $table = "") {
    if (!empty($column) && !empty($table)) {
      $sql = "SELECT MAX($column) AS max_id
              FROM $table";
      $row = $this->query_firstrow($sql);
      return (($row['max_id'] + 1) > 0) ? $row['max_id'] + 1 : 1;
    }
    else {
      return NULL;
    }
  }

Why is this needed? User_id is an auto_increment field and will get the next id automatically when a new user is added. Am i right? So whats my problem with this? Because only the max_id is used to get the new user_id it is possible that a new user will get the same id as the last deleted user (already tested). This is very bad for a "personal category" MOD.

Now the question: Can i leave out this function and just use the auto_increment value with get_insert_id? I think this is much better, or are there some disadvantages that i´ve forgotten?

Greets Maik
« Last Edit: January 31, 2008, 12:07:13 PM by KillerCookie »

Offline Jasi

  • Jr. Member
  • **
  • Posts: 74
    • View Profile
@ KillerCookie

Hallo KillerCookie ,

das ist ja SUPER :)

hab die von dir vorgeschlagene function schon mal in die regsiter.php integriert!

Gut Ding will Weile und auch Glück... drücke dir die Daumen das deine USB wieder funktioniert.

Besten Dank schon mal und LG

Jasi
LG Jasi