4images Forum & Community
Welcome, Guest. Please login or register.
Did you miss your activation email?
May 23, 2013, 12:12:36 AM

Login with username, password and session length
Search:     Advanced search
Togle to toolbar
Translate this page with =>
Translate this page >
* Home Help Search Login Register
 
+  4images Forum & Community
|-+  4images Modifications / Modifikationen
| |-+  Mods & Plugins (Releases & Support) (Moderators: mawenzi, Rembrandt)
| | |-+  [Mod] Moderator II
0 Members and 1 Guest are viewing this topic. « previous next »
Pages: [1] Print
This topic has not yet been rated!
Author Topic: [Mod] Moderator II  (Read 545 times)
Rembrandt
Moderator
4images Guru
*****
Offline Offline

Posts: 3748

Thank You
-Given: 85
-Receive: 733

Vienna


View Profile WWW
« on: November 30, 2012, 08:16:44 PM »

Hi!

Einem Mod Moderator gib es schon auf Spanisch eine übersetzte Version davon auf Englisch und Deutsch, das ist meine Version.
Wenn der Mod installiert ist können bequem User als "Moderatoren" hinzugefügt oder entfernt werden.
Desweiteren können die jeweiligen Rechte des einzelnen "Moderators" über eine Matrix ausgewählt werden.

Diesen Mod kann man auch für/als erweiterte Userrechte einsetzen.

Rechte die zur Auswahl stehen:
.) Kategorien hinzufügen
.) nur Sub-Kategorien hinzufügen (funktioniert in verbindung mit "Kategorien bearbeiten")
.) Kategorien bearbeiten
.) Kategorierechte bearbeiten
.) Kategorien löschen
.) Bilder bearbeiten
.) Bilder löschen
.) Kommentare bearbeiten
.) Kommentare löschen
.) User hinzufügen
.) User bearbeiten
.) User löschen
.) eMail and User versenden
.) Status (für jeden Moderator individuell über ein Dropdown Feld einstellbar, sichtbar z.b. unter den jeweiligen Usernamen bei den Kommentaren)

1.) suche in der constants.php:
1
define('SCRIPT_VERSION''1.7.11');
füge darunter ein:
1
2
3
4
// Moderator
define('MODERATOR_TABLE'$table_prefix.'moderator');
define('MODERATOR'5);
define('MODERATOR_SAFE_LOGIN'0);

2.) Kopiere die Datei "install_moderator.php" (Anhang) in deinen Root Ordner , und für sie als "Admin" aus.

3.) Kopiere die Dateien "moderator.php, categories_moderator.php, user_moderator.php" (Anhang) in deinen "admin" Order.

4.) suche in der global.php:
1
  $new_cutoff time() - (60 60 24 $config['new_cutoff']);
füge darüber ein:
1
2
3
4
5
6
7
8
9
10
11
//#################### Start Mod Moderator ###########
  
$sql "SELECT *
          FROM "
.MODERATOR_TABLE."
         "
;
  
$result $site_db->query($sql);
  if(
$result){   
    while (
$row $site_db->fetch_array($result)) {
      
$moderator_access_array[$row['user_id']] = $row;
    }
  }
//#################### End Mod Moderator #############

5.) suche in der details.php:
1
elseif ($comment_row[$i][$user_table_fields['user_level']] == ADMIN) {
füge darüber ein:
1
2
3
4
5
//############## Start Moderator #########################       
        
if ($moderator_access_array[$comment_row[$i][$user_table_fields['user_id']]]['status']){
          
$comment_user_info $moderator_access_array[$comment_row[$i][$user_table_fields['user_id']]]['status'];
        }
//############## End Moderator ###########################
5.1) suche:
1
2
3
      elseif ($is_image_owner) {
        
$admin_links .= ($config['user_edit_comments'] != 1) ? "" "<a href=\"".$site_sess->url(ROOT_PATH."member.php?action=editcomment&amp;".URL_COMMENT_ID."=".$comment_row[$i]['comment_id'])."\">".$lang['edit']."</a>&nbsp;";

füge darüber ein:
1
2
3
4
5
6
7
8
//############## Start Moderator ###########################     
      
if ($moderator_access_array[$user_info['user_id']]['editcomment']){
        
$admin_links .= "<a href=\"".$site_sess->url(ROOT_PATH."admin/index.php?goto=".urlencode("comments.php?action=editcomment&amp;comment_id=".$comment_row[$i]['comment_id']))."\" target=\"_blank\">".$lang['edit']."</a>&nbsp;";
      }
      if (
$moderator_access_array[$user_info['user_id']]['deletecomment']){
        
$admin_links .= "<a href=\"".$site_sess->url(ROOT_PATH."admin/index.php?goto=".urlencode("comments.php?action=removecomment&amp;comment_id=".$comment_row[$i]['comment_id']))."\" target=\"_blank\">".$lang['delete']."</a>";
      }
//############## End Moderator ############################## 
5.2) suche:
1
$site_template->register_vars("admin_links"$admin_links);
füge darüber ein:
1
2
3
4
5
6
7
8
//############## Start Moderator ########################### 
if ($moderator_access_array[$user_info['user_id']]['editimage']){
  
$admin_links .= "<a href=\"".$site_sess->url(ROOT_PATH."admin/index.php?goto=".urlencode("images.php?action=editimage&amp;image_id=".$image_id))."\" target=\"_blank\">".$lang['edit']."</a>&nbsp;";
}
if (
$moderator_access_array[$user_info['user_id']]['deleteimage']){
  
$admin_links .= "<a href=\"".$site_sess->url(ROOT_PATH."admin/index.php?goto=".urlencode("images.php?action=removeimage&amp;image_id=".$image_id))."\" target=\"_blank\">".$lang['delete']."</a>&nbsp;";

//############## END Moderator ############################# 

6.) suche in der includes/page_header:
1
  "cp_link" => ($user_info['user_level'] != ADMIN) ? "" "\n<p align=\"center\">[<a href=\"".$site_sess->url(ROOT_PATH."admin/index.php")."\">Admin Control Panel</a>]</p>\n",
ersetze es mit:
1
  "cp_link" => ($user_info['user_level'] != ADMIN && $moderator_access_array[$user_info['user_id']]['user_level'] != MODERATOR) ? "" "\n<p align=\"center\">[<a href=\"".$site_sess->url(ROOT_PATH."admin/index.php")."\">Admin Control Panel</a>]</p>\n",

7.) suche in der lang/deutsch/admin.php "?>" und füge darüber ein:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//################## Start Moderator #########################   
$lang['nav_moderator_group'] = "Moderator verwalten";
$lang['nav_add_moderator'] = "Moderator hinzufügen";
$lang['nav_delete_moderator'] = "Moderator löschen";
$lang['nav_edit_moderator'] = "Moderator bearbeiten"
$lang['remove_moderator'] = "User von Moderatoren gelöscht";
$lang['no_moderator'] = "Kein Moderator vorhanden.";
//------------------------------------------------------------
$lang['moderator_addcat'] = "addcat";
$lang['moderator_addsubcat'] = "addsubcat";
$lang['moderator_editcat'] = "editcat";
$lang['moderator_editcat_permission'] = "editcat_permission";
$lang['moderator_deletecat'] = "deletecat";
$lang['moderator_editimage'] = "editimage";
$lang['moderator_deleteimage'] = "deleteimage";
$lang['moderator_editcomment'] = "editcomment";
$lang['moderator_deletecomment'] = "deletecomment";
$lang['moderator_adduser'] = "adduser";
$lang['moderator_edituser'] = "edituser";
$lang['moderator_deleteuser'] = "deleteuser";
$lang['moderator_emailuser'] = "emailuser";
$lang['moderator_status'] = "status";

$moderator_status_list = array(
  
'Member'        => 'Member',
  
'Co-Admin'      => 'Co-Admin',
  
'Support-Team'  => 'Support-Team',
  
'Support'       => 'Support',
  
'Team'          => 'Team',
  
'Moderator'     => 'Moderator'
);
//################## End Moderator ########################### 

8.) suche in der admin/global.php:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
if (defined('ADMIN_SAFE_LOGIN') && ADMIN_SAFE_LOGIN == 1) {
  if (
$user_info['user_level'] != GUEST && $user_info['user_level'] == ADMIN && isset($HTTP_POST_VARS['loginusername'])) {
    
setcookie("adminon"10'/');
    
$HTTP_COOKIE_VARS['adminon'] = 1;
  }
  else {
    if (
$user_info['user_level'] == GUEST || $user_info['user_level'] == USER || $user_info['user_level'] == USER_AWAITING) {
      
$HTTP_COOKIE_VARS['adminon'] = 0;
    }
  }

  if (!isset(
$HTTP_COOKIE_VARS['adminon']) || $HTTP_COOKIE_VARS['adminon'] == 0) {
    
$user_info['user_level'] = GUEST;
  }
  else {
    if (
$user_info['user_level'] != GUEST  && $user_info['user_level'] == ADMIN && isset($HTTP_POST_VARS['loginusername'])) {
      
setcookie("adminon"10'/');
      
$HTTP_COOKIE_VARS['adminon'] = 1;
    }
  }
}
ersetze es mit:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//######################## Start Moderator ################################
if ((defined('ADMIN_SAFE_LOGIN') && ADMIN_SAFE_LOGIN == 1) || (defined('MODERATOR_SAFE_LOGIN') && MODERATOR_SAFE_LOGIN == 1)){
  if (
$user_info['user_level'] != GUEST && $moderator_access_array[$user_info['user_id']]['user_level'] != MODERATOR && $user_info['user_level'] == ADMIN && isset($HTTP_POST_VARS['loginusername'])) {
    
setcookie("adminon"10'/');
    
$HTTP_COOKIE_VARS['adminon'] = 1;
  }
  else {
    if (
$user_info['user_level'] == GUEST || $moderator_access_array[$user_info['user_id']]['user_level'] == MODERATOR || $user_info['user_level'] == USER || $user_info['user_level'] == USER_AWAITING) {
      
$HTTP_COOKIE_VARS['adminon'] = 0;
    }
  }
  if (
$user_info['user_level'] != GUEST && $moderator_access_array[$user_info['user_id']]['user_level'] == MODERATOR && $user_info['user_level'] != ADMIN && isset($HTTP_POST_VARS['loginusername'])) {
    
setcookie("moderatoron"10'/');
    
$HTTP_COOKIE_VARS['moderatoron'] = 1;
  }
  else {
    if (
$user_info['user_level'] == GUEST || $user_info['user_level'] == ADMIN || $user_info['user_level'] == USER || $user_info['user_level'] == USER_AWAITING) {
      
$HTTP_COOKIE_VARS['moderatoron'] = 0;
    }
  }
  if (!isset(
$HTTP_COOKIE_VARS['adminon']) || $HTTP_COOKIE_VARS['adminon'] == || !isset($HTTP_COOKIE_VARS['moderatoron']) || $HTTP_COOKIE_VARS['moderatoron'] == 0) {
    
$user_info['user_level'] = GUEST;
  }
  else {
    if (
$user_info['user_level'] != GUEST  && $moderator_access_array[$user_info['user_id']]['user_level'] != MODERATOR && $user_info['user_level'] == ADMIN && isset($HTTP_POST_VARS['loginusername'])) {
      
setcookie("adminon"10'/');
      
$HTTP_COOKIE_VARS['adminon'] = 1;
    }
    else {
      if (
$user_info['user_level'] != GUEST  && $moderator_access_array[$user_info['user_id']]['user_level'] == MODERATOR  && $user_info['user_level'] != ADMIN && isset($HTTP_POST_VARS['loginusername'])) {
        
setcookie("moderatoron"10'/');
        
$HTTP_COOKIE_VARS['moderatoron'] = 1;
      }
    }
  }
}
//######################## End Moderator ################################
8.1) suche:
1
if ($user_info['user_level'] != ADMIN) {
ersetze es mit:
1
if ($user_info['user_level'] != ADMIN && $moderator_access_array[$user_info['user_id']]['user_level'] != MODERATOR) { // ##### MODERATOR

9.) suche in der admin/email.php:
1
if ($action == "sendemails") {
füge darüber ein:
1
if ($user_info['user_level'] == ADMIN || $moderator_access_array[$user_info['user_id']]['emailuser']){ // ##### moderator
9.1) suche:
1
show_admin_footer();
füge darüber ein:

10.) suche in der admin/comments:
1
if ($action == "deletecomment") {
füge darüber ein:
1
if ($user_info['user_level'] == ADMIN || $moderator_access_array[$user_info['user_id']]['deletecomment']){ // ##### Moderator
10.1) suche:
1
if ($action == "updatecomment") {
füge darüber ein:
1
2
}// #####  moderator
if ($user_info['user_level'] == ADMIN || $moderator_access_array[$user_info['user_id']]['editcomment']){ // #####  moderator
10.2) suche:
1
if ($action == "modifycomments") {
füge darüber ein:
1
}// ##### moderator

11.) suche in der admin/index.php:
1
show_nav_header($lang['nav_categories_main']);
füge darüber ein:
1
if ($user_info['user_level'] == ADMIN){ // ##### moderator
11.1) suche:
1
show_nav_header($lang['nav_general_main']);
füge darüber ein:
1
2
3
4
5
6
          //################## Start Moderator ###########################          
          
show_nav_header($lang['nav_moderator_group']);
          
show_nav_option($lang['nav_add_moderator'], "moderator.php?action=addmoderator");
          
show_nav_option($lang['nav_delete_moderator'], "moderator.php?action=deletemoderator");
          
show_nav_option($lang['nav_edit_moderator'], "moderator.php?action=editpermissions");
          
//################## End Moderator ############################# 
11.2) suche:
1
2
            @closedir($handle);
          }
füge darunter ein:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
        // ##############  End if admin, for moderator
        //################# Start Moderator ##################################
        
if($moderator_access_array[$user_info['user_id']]['user_level'] == MODERATOR) {
          if(
$moderator_access_array[$user_info['user_id']]['editcat'] || $moderator_access_array[$user_info['user_id']]['addcat']) {  
            
show_nav_header($lang['nav_categories_main']);
            if(
$moderator_access_array[$user_info['user_id']]['editcat']){
              
show_nav_option($lang['nav_categories_edit'], "categories_moderator.php?action=modifycats");
            }
            if(
$moderator_access_array[$user_info['user_id']]['addcat']){
              
show_nav_option($lang['nav_categories_add'], "categories_moderator.php?action=addcat");
            }
          }
          if(
$moderator_access_array[$user_info['user_id']]['editimage']) { 
            
show_nav_header($lang['nav_images_main']);
            
show_nav_option($lang['nav_images_edit'], "images.php?action=modifyimages");
          }
          if(
$moderator_access_array[$user_info['user_id']]['editcomment'] || $moderator_access_array[$user_info['user_id']]['deletecomment']) { 
            
show_nav_header($lang['nav_comments_main']);
            
show_nav_option($lang['nav_comments_edit'], "comments.php?action=modifycomments");
          }
          if(
$moderator_access_array[$user_info['user_id']]['emailuser'] || $moderator_access_array[$user_info['user_id']]['edituser']) { 
            
show_nav_header($lang['nav_users_main']);
            if(
$moderator_access_array[$user_info['user_id']]['edituser']) { 
              
show_nav_option($lang['nav_users_edit'], "users_moderator.php?action=modifyusers");
            } 
            if(
$moderator_access_array[$user_info['user_id']]['adduser']) { 
              if (!
defined('USER_INTEGRATION')) {
                 
show_nav_option($lang['nav_users_add'], "users_moderator.php?action=addusers");
              }
            }
            if(
$moderator_access_array[$user_info['user_id']]['emailuser']){          
              if (!
defined('USER_INTEGRATION')) {
                
show_nav_option($lang['nav_users_email'], "email.php?action=emailusers");
              }
            }
          }
        }
        
//#################### End Mod Moderator ##################################      

12.) suche in der admin/images.php:
1
if ($action == "deleteimage") {
füge darüber ein:
1
if ($user_info['user_level'] == ADMIN || $moderator_access_array[$user_info['user_id']]['deleteimage']){ // ##### Moderator
12.1)suche:
1
if ($action == "updateimage") {
füge darüber ein:
1
2
// ##### moderator
if ($user_info['user_level'] == ADMIN || $moderator_access_array[$user_info['user_id']]['editimage']){ // ##### Moderator
12.2) suche:
1
if ($action == "saveimages") {
füge darüber ein:
1
// ##### moderator
12.3) suche:
1
2
      show_text_link($lang['edit'],"images.php?action=editimage&image_id=".$image_row['image_id']);
      
show_text_link($lang['delete'],"images.php?action=removeimage&image_id=".$image_row['image_id']);
ersetze es mit:
1
2
3
4
5
6
      if ($user_info['user_level'] == ADMIN || $moderator_access_array[$user_info['user_id']]['editimage']){ //##### moderator
        
show_text_link($lang['edit'],"images.php?action=editimage&image_id=".$image_row['image_id']);
      }
      if (
$user_info['user_level'] == ADMIN || $moderator_access_array[$user_info['user_id']]['deleteimage']){ //##### moderator
        
show_text_link($lang['delete'],"images.php?action=removeimage&image_id=".$image_row['image_id']);
      }

Die Felder für die jeweiligen Rechte die ihr nicht benötigt könnt ihr in der "lang/admin.php" durch voranstellen von "//" abwählen, diese Felder werden dann in der Auswahl "Moderator Bearbeiten"
nicht angezeigt.

mfg Andi

* install_moderator.php (6.14 KB - downloaded 7 times.)
* categories_moderator.php (32.96 KB - downloaded 6 times.)
* users_moderator.php (36.15 KB - downloaded 6 times.)
* moderator_befugnisse.jpg (88.53 KB - downloaded 23 times.)
* moderator_verwalten.jpg (15.47 KB - downloaded 18 times.)
* moderator.php (11.68 KB - downloaded 7 times.)
« Last Edit: December 18, 2012, 07:21:41 AM by Rembrandt » Logged

Meine 4Images Modifikationen  Now over 100 Modification Online!    Meine 4images Demo Seite


Please do not PM me asking for help unless you've been specifically asked to do so. Such PMs will be deleted without answer. (forum rule #6)
Pages: [1] Print 
« previous next »
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF | SMF © 2013, Simple Machines Valid XHTML 1.0! Valid CSS!
piqs.de - Fotocommunity & lizenzfreie Fotos
Page created in 0.2 seconds with 20 queries.
Post your comments here