fout in managepermissions

Started by angelika, November 14, 2005, 06:11:14 PM

Previous topic - Next topic

angelika

Ik heb smf arcade geinstalleerd, ik zelf kan al spelen maar mijn leden niet. oke, ik bij adminbeheer naar permissies en kreeg een fout melding, de eerste melding was in lijn 1334, maar dit is na het gedeelte dat ik toegevoegd heb, dus daar zit het probleem niet. de foutmelding zegt ik verwacht een , en geen ;  dit is achter een ) wat moet er altijd achter een haakje staan dit , of ; want als ik er een komma van maak, geeft ie weer een foutmelding bij een andere lijn, en weer dezelfde melding. ik heb het oude bestand teruggezet en het gedeelte wat ik moest editten even opnieuw gedaan, en weer een melding, hieronder:

Parse error: parse error, unexpected ';', expecting ')' in /var/www/html/fantasieforum/Sources/ManagePermissions.php on line 1332

ik kopieer een stuk van het bestand vanaf de edit:

'profile' => array(
            'profile_view' => true,
            'profile_identity' => true,
            'profile_extra' => true,
            'profile_title' => true,
            'profile_remove' => true,
            'profile_remote_avatar' => false,
         ),
         'arcade' => array(
            'view_arcade' => false,
            'play_arcade' => false,
            'submit_score' => false,
            'challenge_send' => false,
            'challenge_view' => false,
            'admin_arcade' => false,
         ),
      'board' => array(
         'general_board' => array(
            'moderate_board' => false,
         ),
         'topic' => array(
            'post_new' => false,
            'merge_any' => false,
            'split_any' => false,
            'send_topic' => false,
            'make_sticky' => false,
            'move' => true,
            'lock' => true,
            'remove' => true,
            'post_reply' => true,
            'modify_replies' => false,
            'delete_replies' => false,
            'announce_topic' => false,
         ),
         'post' => array(
            'delete' => true,
            'modify' => true,
            'report_any' => false,
         ),
         'poll' => array(
            'poll_view' => false,
            'poll_vote' => false,
            'poll_post' => false,
            'poll_add' => true,
            'poll_edit' => true,
            'poll_lock' => true,
            'poll_remove' => true,
         ),
         'notification' => array(
            'mark_any_notify' => false,
            'mark_notify' => false,
         ),
         'attachment' => array(
            'view_attachments' => false,
            'post_attachment' => false,
         )
      )
   );

   // This is just a helpful array of permissions guests... cannot have.
   $non_guest_permissions = array(
      'karma_edit',
      'pm_read',
      'pm_send',
      'profile_identity',
      'profile_extra',
      'profile_title',
      'profile_remove',
      'profile_server_avatar',
      'profile_upload_avatar',
      'profile_remote_avatar',
      'poll_vote',
      'mark_any_notify',
      'mark_notify',
   );

   // All permission groups that will be shown in the left column.
   $leftPermissionGroups = array(
      'general',
      'calendar',
      'maintenance',
      'member_admin',
      'general_board',
      'topic',
      'post',
   );

   $context['permissions'] = array();
   foreach ($permissionList as $permissionType => $permissionGroups)
   {
      $context['permissions'][$permissionType] = array(
         'id' => $permissionType,
         'columns' => array(
            'left' => array(),
            'right' => array()
         )
      );
      foreach ($permissionGroups as $permissionGroup => $permissionArray)
      {
         $position = in_array($permissionGroup, $leftPermissionGroups) ? 'left' : 'right';
         $context['permissions'][$permissionType]['columns'][$position][$permissionGroup] = array(
            'type' => $permissionType,
            'id' => $permissionGroup,
            'name' => &$txt['permissiongroup_' . $permissionGroup],
            'icon' => isset($txt['permissionicon_' . $permissionGroup]) ? $txt['permissionicon_' . $permissionGroup] : $txt['permissionicon'],
            'help' => isset($txt['permissionhelp_' . $permissionGroup]) ? $txt['permissionhelp_' . $permissionGroup] : '',
            'permissions' => array()
         );

         foreach ($permissionArray as $perm => $has_own_any)
         {
            if (isset($context['group']['id']) && $context['group']['id'] == -1 && in_array($perm, $non_guest_permissions))
               continue;

            $context['permissions'][$permissionType]['columns'][$position][$permissionGroup]['permissions'][$perm] = array(
               'id' => $perm,
               'name' => &$txt['permissionname_' . $perm],
               'show_help' => isset($txt['permissionhelp_' . $perm]),
               'has_own_any' => $has_own_any,
               'own' => array(
                  'id' => $perm . '_own',
                  'name' => $has_own_any ? $txt['permissionname_' . $perm . '_own'] : ''
               ),
               'any' => array(
                  'id' => $perm . '_any',
                  'name' => $has_own_any ? $txt['permissionname_' . $perm . '_any'] : ''
               )
            );
         }

         if (empty($context['permissions'][$permissionType]['columns'][$position][$permissionGroup]['permissions']))
            unset($context['permissions'][$permissionType]['columns'][$position][$permissionGroup]);
      }
   }
}

// Initialize a form with inline permissions.
function init_inline_permissions($permissions)
{
   global $context, $db_prefix, $txt, $modSettings;

   loadLanguage('ManagePermissions');
   loadTemplate('ManagePermissions');
   $context['can_change_permissions'] = allowedTo('manage_permissions');

   // Nothing to initialize here.
   if (!$context['can_change_permissions'])
      return;

   // Load the permission settings for guests
   foreach ($permissions as $permission)
      $context[$permission] = array(
         -1 => array(
            'id' => -1,
            'name' => $txt['membergroups_guests'],
            'is_postgroup' => false,
            'status' => 'off',
         ),
         0 => array(
            'id' => 0,
            'name' => $txt['membergroups_members'],
            'is_postgroup' => false,
            'status' => 'off',
         ),
      );

   $request = db_query("
      SELECT ID_GROUP, IF(addDeny = 0, 'deny', 'on') AS status, permission
      FROM {$db_prefix}permissions
      WHERE ID_GROUP IN (-1, 0)
         AND permission IN ('" . implode("', '", $permissions) . "')", __FILE__, __LINE__);
   while ($row = mysql_fetch_assoc($request))
      $context[$row['permission']][$row['ID_GROUP']]['status'] = $row['status'];
   mysql_free_result($request);

   $request = db_query("
      SELECT mg.ID_GROUP, mg.groupName, mg.minPosts, IFNULL(p.addDeny, -1) AS status, p.permission
      FROM {$db_prefix}membergroups AS mg
         LEFT JOIN {$db_prefix}permissions AS p ON (p.ID_GROUP = mg.ID_GROUP AND p.permission  IN ('" . implode("', '", $permissions) . "'))
      WHERE mg.ID_GROUP NOT IN (1, 3)" . (empty($modSettings['permission_enable_postgroups']) ? "
         AND mg.minPosts = -1" : '') . "
      ORDER BY mg.minPosts, IF(mg.ID_GROUP < 4, mg.ID_GROUP, 4), mg.groupName", __FILE__, __LINE__);
   while ($row = mysql_fetch_assoc($request))
   {
      // Initialize each permission as being 'off' until proven otherwise.
      foreach ($permissions as $permission)
         if (!isset($context[$permission][$row['ID_GROUP']]))
            $context[$permission][$row['ID_GROUP']] = array(
               'id' => $row['ID_GROUP'],
               'name' => $row['groupName'],
               'is_postgroup' => $row['minPosts'] != -1,
               'status' => 'off',
            );

      $context[$row['permission']][$row['ID_GROUP']]['status'] = empty($row['status']) ? 'deny' : ($row['status'] == 1 ? 'on' : 'off');
   }
   mysql_free_result($request);
}

// Show a collapsable box to set a specific permission.
function theme_inline_permissions($permission)
{
   global $context;

   $context['current_permission'] = $permission;
   $context['member_groups'] = $context[$permission];

   template_inline_permissions();
}

// Save the permissions of a form containing inline permissions.
function save_inline_permissions($permissions)
{
   global $context, $db_prefix;

   // No permissions? Not a great deal to do here.
   if (!allowedTo('manage_permissions'))
      return;

   $insertRows = '';
   foreach ($permissions as $permission)
   {
      if (!isset($_POST[$permission]))
         continue;

      foreach ($_POST[$permission] as $ID_GROUP => $value)
      {
         if (in_array($value, array('on', 'deny')))
            $insertRows .= ', (' . (int) $ID_GROUP . ", '$permission', " . ($value == 'on' ? '1' : '0') . ')';
      }
   }

   // Remove the old permissions...
   db_query("
      DELETE FROM {$db_prefix}permissions
      WHERE permission IN ('" . implode("', '", $permissions) . "')", __FILE__, __LINE__);

   // ...and replace them with new ones.
   if ($insertRows != '')
      db_query("
         INSERT INTO {$db_prefix}permissions
            (ID_GROUP, permission, addDeny)
         VALUES " . substr($insertRows, 2), __FILE__, __LINE__);
}

?>

angelika

Ondertussen heb ik het oude bestand teruggezet, en gekeken of ik dan wel bij de permissies kon komen, en dat kon. Alles opnieuw geedit, en weer dezelfde fout melding, eerst stond er een haakje te veel, na die weggehaald te hebben, ging de error weer naar een andere lijn. Wie heeft het geupdate versie van dat stuk bestand, zodat ik het kan nakijken. Mijn gehele forum is up to date, dus kan het daar niet aan liggen.

Aaron

Gebruik je SMF 1.1 RC1? Zo ja, dan moet je de wijzigingen van de mod handmatig toepassen, aldus www.smfarcade.com :)

Aaron.

angelika

dat heb ik gedaan. en dat bestand werkt niet bij mij.

angelika

probleem opgelost, er miste een haakje sluiten.

Advertisement: