SMF HELP!

SMF Help! - For Users SMF/TP => Dla wersji 1.1.x => Wątek zaczęty przez: Draco 31.05.2009 16:51:29



Tytuł: [PL] Invite 1.14
Wiadomość wysłana przez: Draco 31.05.2009 16:51:29
Oryginalna wersja: http://custom.simplemachines.org/mods/index.php?mod=653 (http://custom.simplemachines.org/mods/index.php?mod=653)

Jest to mod pozwalający na korzystanie z forum tylko przez zaproszenia.

Mimo, iż wg oryginalnej paczki dziala tylko w wersjach: 1.1.1 i 1.1.2 to działa również bezproblemowo na 1.1.8 i 1.1.9.

Oto jak wygląda to u mnie na forum:

(http://i44.tinypic.com/b8a7ip.jpg)

(http://i42.tinypic.com/23ramhy.jpg)


W paczce spolszczony mod.

Instalacja na innych skórkach niż default:

Jeżeli twoja skórka posiada swój index.template.php :

Znajdź:
GeSHi -› Code: [select]
)))
        $current_action = $context['current_action'];
// Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.029s | speed:1.98 KB/s



Dodaj przed:
GeSHi -› Code: [select]
, 'invite'
// Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.023s | speed:789 B/s



Znajdź:
GeSHi -› Code: [select]
    // If the user is a guest, show [login] button.
// Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.023s | speed:2.05 KB/s



Dodaj przed:
GeSHi -› Code: [select]
    // Invite MOD.
    if (allowedTo('invite'))
    {
        global $modSettings;
        echo ($current_action == &#39;invite&#39; || $context[&#39;browser&#39;][&#39;is_ie4&#39;]) ? &#39;<td class="maintab_active_&#39; . $first . &#39;">&nbsp;</td>&#39; : &#39;&#39; , &#39;
                <td valign="top" class="maintab_&#39; , $current_action == &#39;invite&#39; ? &#39;active_back&#39; : &#39;back&#39; , &#39;">
                    <a href="&#39;, $scripturl, &#39;?action=invite">&#39; , (!empty($modSettings[&#39;invite_menu_title&#39;]) ? $modSettings[&#39;invite_menu_title&#39;] : $txt[&#39;invite_title&#39;]) , &#39;</a>
                </td>&#39; , $current_action == &#39;invite&#39; ? &#39;<td class="maintab_active_&#39; . $last . &#39;">&nbsp;</td>&#39; : &#39;&#39;;
    }

// Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.026s | speed:27.38 KB/s



Jeżeli twoja skórka posiada własny Register.template.php:

Znajdź:
GeSHi -› Code: [select]
    echo &#39;
    <br />
    <div align="center">
        <input type="submit" name="regSubmit" value="&#39;, $txt[97], &#39;" />
    </div>
// Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.028s | speed:4.34 KB/s



Dodaj przed:
GeSHi -› Code: [select]
    // Invite MOD
    if (!empty($context[&#39;invite_key&#39;]))
        echo &#39;
    <input type="hidden" name="invite_key" value="&#39;, $context[&#39;invite_key&#39;], &#39;" />&#39;;
    elseif (!empty($_REQUEST[&#39;inviter&#39;]) && (int)$_REQUEST[&#39;inviter&#39;] !== 0)
        echo &#39;
    <input type="hidden" name="inviter" value="&#39;, $_REQUEST[&#39;inviter&#39;], &#39;" />&#39;;

// Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.037s | speed:9.97 KB/s



Alternatywna forma instalacji:

1. Pobierasz i instalujesz oryginalną instalkę z smf.org
2. W pliku ./Themes/default/languages/Modifications.polish.php dodajesz:

Znajdź:
GeSHi -› Code: [select]
?>
// Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.027s | speed:75 B/s



Dodaj przed:
GeSHi -› Code: [select]
// Invite MOD.
$txt[&#39;invite_title&#39;] = &#39;Zaproszenia&#39;;
$txt[&#39;invite_only&#39;] = &#39;Rejestracja na forum tylko przez zaproszenia.&#39;;
$txt[&#39;invite_menu_title&#39;] = &#39;Tytuł modu w Panelu.&#39;;
$txt[&#39;invite_days&#39;] = &#39;Liczba dni po ilu użytkownikom zostanią przyznane zaproszenie.<div class="smalltext">(0 bez limitu, nie obowiązuje adminów)</div>&#39;;
$txt[&#39;invite_max&#39;] = &#39;Maksymalna liczba posiadanych zaproszeń przez użytkowników.<div class="smalltext">(0 bez limitu, nie obowiązuje adminów)</div>&#39;;
$txt[&#39;invite_expire&#39;] = &#39;Ile dni jest ważna zaproszenie.<div class="smalltext">(0 bez limitu)</div>&#39;;
$txt[&#39;invite_group_settings&#39;] = &#39;Przyznaj uprawnienia grupom&#39;;

$txt[&#39;invite_email_disable&#39;] = &#39;Wyłącz wysyłanie przez e-mail.&#39;;
$txt[&#39;invite_email_subject&#39;] = &#39;Tytuł e-maila.&#39;;
$txt[&#39;invite_email_message&#39;] = &#39;Wiadomość w e-mailu.
<div class="smalltext">{invitee} = Nick zapraszanego</div>
<div class="smalltext">{inviter} = Nick zapraszającego</div>
<div class="smalltext">{forum} = Nazwa forum</div>
<div class="smalltext">{link} = Link do rejestraci (z kluczem)</div>
<div class="smalltext">{message} = Wiadomość od zapraszającego</div>&#39;;
$txt[&#39;invite_default_email_subject&#39;] = &#39;{invitee}, otrzymałeś zaproszenie na {forum} od {inviter}!&#39;;
$txt[&#39;invite_default_email_message&#39;] = &#39;Witaj {invitee},

Otrzymałeś zaproszenie na {forum}, kliknij poniższy link aby się zarejestrować:

{link}

{inviter} przesyła Ci również poniższą wiadomość:

{message}


Ta wiadomość to nie jest spam.&#39;;

$txt[&#39;invite_someone&#39;] = &#39;Wyślij zaproszenie&#39;;
$txt[&#39;invite_info&#39;] = &#39;Możesz zaprosić kogoś jeżeli posiadasz zaproszenia. Wygeneruj kod i wyślij zaproszenie.&#39;;
$txt[&#39;invite_link&#39;] = &#39;Możesz zaprosić kogoś wysyłając mu ten link.&#39;;
$txt[&#39;invitees&#39;] = &#39;Zaproszeni&#39;;
$txt[&#39;invitees_info&#39;] = &#39;Oto lista użytkowników których zaprosiłeś.&#39;;
$txt[&#39;no_invitees&#39;] = &#39;Nie ma zaproszeń&#39;;
$txt[&#39;invite_unlimited&#39;] = &#39;nieograniczona&#39;;
$txt[&#39;invite_max_reached&#39;] = &#39;osiągnięto maksymalną ilość zaproszeń&#39;;
$txt[&#39;make_new_invite_key&#39;] = &#39;Wygeneruj kod&#39;;
$txt[&#39;invite_credits&#39;] = &#39;Zaproszenia&#39;;
$txt[&#39;next_invite_credit&#39;] = &#39;Następne&#39;;
$txt[&#39;invite_key&#39;] = &#39;Klucz zaproszenia&#39;;
$txt[&#39;invite_email&#39;] = &#39;E-mail zapraszanego&#39;;
$txt[&#39;invite_send_email&#39;] = &#39;Wyślij zaproszenie e-mailem&#39;;
$txt[&#39;invite_expires&#39;] = &#39;Wygasło&#39;;
$txt[&#39;invited_by&#39;] = &#39;Zaproszony przez&#39;;
$txt[&#39;invitees_count&#39;] = &#39;Zaproszeni użytkownicy&#39;;
$txt[&#39;show_invitees&#39;] = &#39;Pokaż zaproszonych przez tego użytkownika&#39;;


$txt[&#39;invite_email_info&#39;] = &#39;Wpisz Nick i e-mail zapraszanego a kod zaproszenia zostanie go niego wysłany.&#39;;
$txt[&#39;invite_recipient_name&#39;] = &#39;Nick zapraszanego&#39;;
$txt[&#39;invite_recipient_email&#39;] = &#39;E-mail zapraszanego&#39;;
$txt[&#39;invite_message&#39;] = &#39;Wiadmość od Ciebie&#39;;
$txt[&#39;invite_sent&#39;] = &#39;Zaproszenie wysłano.&#39;;

$txt[&#39;invite_no_name&#39;] = &#39;Nie wpisałeś Nicku.&#39;;
$txt[&#39;invite_no_email&#39;] = &#39;Błędny adres e-mail.&#39;;
$txt[&#39;cannot_send_invite&#39;] = &#39;Przepraszamy, nie można wysłać zaproszenia.&#39;;

$txt[&#39;permissiongroup_invite&#39;] = &#39;Zaproszenia&#39;;
$txt[&#39;permissionname_invite&#39;] = &#39;Zaproszenia&#39;;
$txt[&#39;permissionhelp_invite&#39;] = &#39;Kiedy rejestracja jest tylko przez zaproszenie ta opcja pozwoli na zapraszanie użytkowników przez tą grupę.&#39;;
$txt[&#39;permissionname_invite_unlimited&#39;] = &#39;Nieograniczona liczba zaproszeń&#39;;
$txt[&#39;permissionhelp_invite_unlimited&#39;] = &#39;Kiedy rejestracja jest tylko przez zaproszenie ta opcja pozwoli na posiadanie nieograniczonej ilości zaproszeń przez tą grupę..&#39;;
$txt[&#39;permissionname_invitees&#39;] = &#39;Zobacz zaproszonych&#39;;
$txt[&#39;permissionhelp_invitees&#39;] = &#39;Ta opcja umożliwia pokazywanie zaproszony użytkowników na forum.&#39;;
$txt[&#39;permissionname_invitees_own&#39;] = &#39;Zaproszeni przeze mnie&#39;;
$txt[&#39;permissionname_invitees_any&#39;] = &#39;Wszyscy zaproszeni&#39;;

$txt[&#39;cannot_invite&#39;] = &#39;Nie masz uprawnień do wysyłania zaproszeń.&#39;;
$txt[&#39;cannot_invite_as_other&#39;] = &#39;Nie możesz wysłać zaproszenia jako ktoś inny.&#39;;
$txt[&#39;cannot_invitees_any&#39;] = &#39;Nie masz uprawnień do podglądu zaproszonych przez tego użytkownika.&#39;;
$txt[&#39;registration_invite_only&#39;] = &#39;Przepraszamy, rejestracja tylko przez zaproszenia.<br /><br />Jeżeli posiadasz kod zaproszenia wpisz go poniżej:<br /><form method="POST" action="index.php?action=register"><input type="text" name="invite_key" size="40"> <input type="submit" value="Rejestruj"></form>&#39;;
$txt[&#39;registration_invite_expired&#39;] = &#39;Klucz zaproszenia wygasł.&#39;;

$txt[&#39;top_inviters&#39;] = &#39;Top Zapraszający (wg ilości zaproszonych)&#39;;
$txt[&#39;top_inviters_by_posts&#39;] = &#39;Top Zapraszający (wg postów zaproszonych)&#39;;
// End Invite MOD.
// Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.038s | speed:138.85 KB/s



Pozdrawiam


Tytuł: Odp: [PL] Invite 1.14
Wiadomość wysłana przez: roco 31.05.2009 23:31:19
Piękna sprawa! :)

Na stewke się przyda! Nie bardzo mam ochotę na edytowanie czyichś posstów, ale wiesz mam tu dość rozbudowany edytor i jest kolorowanie składni w celu lepszej prezentacji samego kodu - to lista rozwijana "GeShi" z wyborem języka kodowania. Może w przyszłości warto się posłużyć kolorowaniem (podświetlaniem), składni, to nie będzie się tak zlewał kod.
Wiesz nie bardzo chciałem jeszcze bardziej ingerować w style tego stylu i tak przerobiony na maxa...

OK, naprawdę zacny mod, pewnie się wielu przyda. Dzięki, że chciałeś się nim podzielić. :)

test test
Demonstracja kolorowanki kodu..:

GeSHi -› Code: [select]
    // Invite MOD.
    if (allowedTo('invite'))
    {
        global $modSettings;
        echo ($current_action == 'invite' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' . $first . '">&nbsp;</td>' : '' , '
                <td valign="top" class="maintab_'
, $current_action == 'invite' ? 'active_back' : 'back' , '">
                    <a href="'
, $scripturl, '?action=invite">' , (!empty($modSettings['invite_menu_title']) ? $modSettings['invite_menu_title'] : $txt['invite_title']) , '</a>
                </td>'
, $current_action == 'invite' ? '<td class="maintab_active_' . $last . '">&nbsp;</td>' : '';
    }
// Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.030s | speed:18.58 KB/s



Pozdrawiam :)
roco

// Edit: 01.06.2009 02:15:00

Quote: [select]
Jeżeli twoja skórka posiada własny Register.template.php:


Zmiany w ostatnich aktualkach dotyczyły równiez tego pliku, i jest on ważny dla bezpieczeństwa, dlatego lepiej, żeby żadana ze skórek, (poza defaultową!), nie miała takiego pliku, jeśli ma to należy zaopatrzeć ten plik w zmiany które nastąpiły w takim pliku w stylu default. - taki tips! Niestety masę ludzi kopiuje wiekszośc plików ze stylu default do swoich innych styli, co może być niebezpieczne..
r.


Tytuł: Odp: [PL] Invite 1.14
Wiadomość wysłana przez: Draco 01.06.2009 13:24:05
Oki składnia pokolorowana myślę, że teraz wszystko ładnie i przejrzyście.

Jeśli zaś chodzi o plik register.template.php to w tych skórkach, które testowałem prawie wszystkie korzystały z defaultowego pliku. Jedyne na jakie trafiłem to w jednym ze styli premium od DzinerStudio.


Tytuł: Odp: [PL] Invite 1.14
Wiadomość wysłana przez: roco 02.06.2009 00:45:35
Ja zawsze zagladam do aktualek, zeby zobaczyć w jakich plikach maja się dokonac zmiany. Niestety spotkałem się parokrotnie z tym, że ludzie wrzucają pliki ze stylu default i to jak leci po za indexem i stylami.. Oczywiście to ma sens np. dla Display.template i paru innych, ale nie dla registera.. i tu uczulam wszystkich, że jeśli taki plik znajduje sie dodatkowo w innym stylu niz default, to należy dokonac stosownych zmian w tymże pliku!

Chłopcy z DzinerStudio, wiesz, są w gorącej wodzie kąpani, robią trochę niegroźnych błedów i ja zawsze mam co robić w stylach od nich, IMHO ich style faktycznie są piękne!

Tak, z kolorowaniem składni wyglada niemal jak w edytorze.., piękna rzecz.. jak byś chciał u siebie zrobić coś takiego to powiedz.. nie jest to srudne choć czaso-chłonne..

Pozdrawiam :)
roco