Dołącz do zespołu ekspertów! Backend lub Frontend Developer?

Sprawdź najnowsze oferty pracy naszego partnera - 8lines.io!

xemBanCookie 1.1 wyskakuje error

Błąd   Założony przez  PatrioxD.

wersja skryptu MyBB: 1.8.3
adres forum:
[b]na czym polega problem:

Problem polega na tym że mi w ACP po wgraniu xemBanCookie 1.1 wyskakuje błąd

Parse error: syntax error, unexpected '[' in /home/etruckin/public_html/inc/plugins/xem_bancookie.php on line 21

a linijka w tym pluginie to
return [ 

a to jest całość reszty tego
return [
        
'name'          => 'xemBanCookie',
        
'description'   => 'The plugin creates a cookie, whereby banned users cannot register again or logout.',
        
'website'       => 'http://xemix.eu',
        
'author'        => 'Xemix.eu',
        
'authorsite'    => 'http://xemix.eu',
        
'version'       => '1.1',
        
'codename'      => 'xem_bancookie',
        
'compatibility' => '18*'
    
]; 
Linijkę przed tym:
return [ 

Prawdopodobnie nie ma ";" na końcu.
no nie było ale dodałem i teraz ten błąd wyskoczył
Parse error: syntax error, unexpected ';', expecting '{' in /home/etruckin/public_html/inc/plugins/xem_bancookie.php on line 19
i ta linijka wygląda tak
function xem_bancookie_info(); 
Daj tu cały ten kod wtyczki.
LikeLoveHate napisał(a):Linijkę przed tym:
return [ 
Prawdopodobnie nie ma ";" na końcu.
Nie. Skoro to jest cała zawartość funkcji. Nic nie ma przed tym.
W teamcie (https://webboard.pl/thread-59740.html) jest napisane, że minimalna wersja PHP, to 5.4, spełniasz te wymagania?

//Edit:
@LikeLoveHate - http://php.net/manual/en/migration54.new-features.php patrz punkt drugi.
Prośby na PW dotyczące wsparcia z problemami będą ignorowane. Pomoc poza forum - odpłatna; kontakt: snakemybboard@gmail.com.
cały kod wtyczki
<?php
/**
 * Author: Szczepan 'Xemix' Machaj
 * WWW: xemix.eu / xemix.pl
 * Copyright (c) 2015
 * License: Creative Commons BY-NC-SA 4.0
 * License URL: http://creativecommons.org/licenses/by-nc-sa/4.0/
 */

if(!defined("IN_MYBB"))
{
    die(
"Direct initialization of this file is not allowed.<br /><br />Please make sure IN_MYBB is defined.");
}

$plugins->add_hook("no_permission""xem_bancookie_setcookie");
$plugins->add_hook("member_register_agreement""xem_bancookie_check");
$plugins->add_hook("member_logout_start""xem_bancookie_disable_logout");

function 
xem_bancookie_info();
{
    return [
        
'name'          => 'xemBanCookie',
        
'description'   => 'The plugin creates a cookie, whereby banned users cannot register again or logout.',
        
'website'       => 'http://xemix.eu',
        
'author'        => 'Xemix.eu',
        
'authorsite'    => 'http://xemix.eu',
        
'version'       => '1.1',
        
'codename'      => 'xem_bancookie',
        
'compatibility' => '18*'
    
];
}

function 
xem_bancookie_install()
{
    global 
$db$mybb;

    
$settingGroupId $db->insert_query('settinggroups', [
        
'name'        => 'xem_bancookie_settings',
        
'title'       => 'xemBanCookie settings',
        
'description' => 'Settings for BanCookie.',
    ]);
    
    
$settings = [
        [   
            
'name'        => 'xem_bancookie_active',
            
'title'       => 'xemBanCookie active',
            
'description' => 'The BanCookie plugin is activated?',
            
'optionscode' => 'yesno',
            
'value'       => '1'
        
],
        [   
            
'name'        => 'xem_bancookie_disable_logout',
            
'title'       => 'Block the logout after ban?',
            
'description' => 'Users cannot logout when the account has been banned.',
            
'optionscode' => 'yesno',
            
'value'       => '1'
        
],
    ];

    
$i 1;

    foreach(
$settings as &$row) {
        
$row['gid']         = $settingGroupId;
        
$row['title']       = $db->escape_string($row['title']);
        
$row['description'] = $db->escape_string($row['description']);
        
$row['disporder']   = $i++;
    }

    
$db->insert_query_multiple('settings'$settings);

    
rebuild_settings();
    
}

function 
xem_bancookie_uninstall()
{
    global 
$db;

    
$settingGroupId $db->fetch_field(
        
$db->simple_select('settinggroups''gid'"name='xem_bancookie_settings'"),
        
'gid'
    
);

    
$db->delete_query('settinggroups'"name='xem_bancookie_settings'");
    
$db->delete_query('settings''gid=' $settingGroupId);

    
rebuild_settings();
}

function 
xem_bancookie_is_installed()
{
    global 
$db;

    
$query $db->simple_select('settinggroups''gid'"name='xem_bancookie_settings'");
    return (bool)
$db->num_rows($query);
}

function 
xem_bancookie_setcookie()
{
    global 
$mybb$db;

    if(
xem_bancookie_is_installed() && 
      (int)
$mybb->settings['xem_bancookie_active'] &&
       
$mybb->usergroup['isbannedgroup'])
    {
        
$query $db->simple_select('banned''*'"uid = '{$mybb->user['uid']}'", ['limit' => 1]);
        
$ban $db->fetch_array($query);
        
$expire $ban['lifted'] - TIME_NOW;
        
my_setcookie("mybb[userban]"md5($ban['lifted']), $expire);
    }
}

function 
xem_bancookie_check()
{
    global 
$mybb$lang;

    
$lang->load("xem_bancookie");

    if(
$mybb->cookies['mybb']['userban'] && (int)$mybb->settings['xem_bancookie_active'])
    {
        
error($lang->xem_bancookie_user_banned);
    }
}

function 
xem_bancookie_disable_logout()
{
    global 
$mybb$lang;

    
$lang->load("xem_bancookie");

    if(
$mybb->cookies['mybb']['userban'] && (int)$mybb->settings['xem_bancookie_disable_logout'])
    {
        
error($lang->xem_bancookie_logout_disabled);
    }


Edit: Tak spełniam te wymagania
@PatrioxD - jaką masz wersję PHP? Wróć do mojego poprzedniego postu.
Prośby na PW dotyczące wsparcia z problemami będą ignorowane. Pomoc poza forum - odpłatna; kontakt: snakemybboard@gmail.com.
Usuń ten średnik co kazałem Ci go tam wpisać i sprawdź czy podmiana na tą fukcję zadziała.

return array(
        
"name"          => "xemBanCookie",
        
"description"   => "The plugin creates a cookie, whereby banned users cannot register again or logout.",
        
"website"       => "http://xemix.eu",
        
"author"        => "Xemix.eu",
        
"authorsite"    => "http://xemix.eu",
        
"version"      => "1.1",
        
"codename"      => "xem_bancookie",
        
"compatibility" => "18*"
    
); 
LikeLoveHate napisał(a):Usuń ten średnik co kazałem Ci go tam wpisać i sprawdź czy podmiana na tą fukcję zadziała.
return array(
"name" => "xemBanCookie",
"description" => "The plugin creates a cookie, whereby banned users cannot register again or logout.",
"website" => "http://xemix.eu",
"author" => "Xemix.eu",
"authorsite" => "http://xemix.eu",
"version" => "1.1",
"codename" => "xem_bancookie",
"compatibility" => "18*"
); 
Wiele to nie da, jeszcze ustawienia są napisane pod 5.4.+, najlepszym wyjściem jest zaktualizowanie wersji PHP, o której piszę od początku...
Prośby na PW dotyczące wsparcia z problemami będą ignorowane. Pomoc poza forum - odpłatna; kontakt: snakemybboard@gmail.com.
Snake wersje mam 5.4 więc wymagania spełniam

Edit: taka mam 5.4 (5.4.23)
działa dzięki jest dla was pomógł
Po zastosowaniu zmian zaproponowanych przez @LikeLoveHate wtyczka się nie wysypuje? Przetestuj ją, ponieważ np. w zapytaniach SQL zastosowana jest również składnia krótkich tablic.
Nie zastosowałem zmian @LikeLoveHate, oryginalna mam



Użytkownicy przeglądający ten wątek:

1 gości