marcin5541289779971
-
Postów
43 -
Dołączył
-
Ostatnia wizyta
Typ zawartości
Profile
Forum
Pliki
Galeria
Blogi
Sklep
Wydarzenia
Odpowiedzi opublikowane przez marcin5541289779971
-
-
<?php /** * @brief Moderator Control Panel Extension: changegroupmcp * @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a> * @copyright (c) 2001 - 2016 Invision Power Services, Inc. * @license http://www.invisionpower.com/legal/standards/ * @package IPS Community Suite * @subpackage Change Group in Moderator Panel * @since 02 Nov 2016 * @version SVN_VERSION_NUMBER */ namespace IPS\changegroupmcp\extensions\core\ModCp; /* To prevent PHP errors (extending class does not exist) revealing path */ if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) ) { header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' ); exit; } /** * @brief Moderator Control Panel Extension: changegroupmcp */ class _changegroupmcp { /** * Returns the primary tab key for the navigation bar * * @return string|null */ public function getTab() { if ( !\IPS\Member::loggedIn()->inGroup( explode( ',', \IPS\Settings::i()->cgmp_groups ) ) ) { return null; } return 'change_group'; } /** * Manage * * @return void */ public function manage() { if ( !\IPS\Member::loggedIn()->inGroup( explode( ',', \IPS\Settings::i()->cgmp_groups ) ) ) { \IPS\Output::i()->error( 'no_module_permission', '2C224/1', 403, '' ); } \IPS\Output::i()->title = \IPS\Member::loggedIn()->language()->addToStack( 'modcp_change_group' ); \IPS\Output::i()->breadcrumb[] = array( NULL, \IPS\Member::loggedIn()->language()->addToStack( 'modcp_change_group' ) ); $form = new \IPS\Helpers\Form( 'form', 'modcp_change_group_change_group' ); $form->class = 'ipsForm_vertical'; if( !isset( \IPS\Request::i()->member ) ) { $user = array(); if( isset( \IPS\Request::i()->mid ) AND \IPS\Request::i()->mid ) { $user = \IPS\Member::load( \IPS\Request::i()->mid ); } $form->add( new \IPS\Helpers\Form\Member( 'modcp_changegroup_member_find', $user, TRUE, array( 'multiple' => 1, 'placeholder' => \IPS\Member::loggedIn()->language()->addToStack('modcp_changegroup_member_find') ), function( $member ) use ( $form ) { if( $member->isAdmin() ) { throw new \InvalidArgumentException( 'cant_edit_admin_account' ); } } ) ); } if( isset( \IPS\Request::i()->member ) ) { $member = \IPS\Member::load( \IPS\Request::i()->member ); $groupsStaff = array(); foreach( \IPS\Member\Group::groups() as $k => $v ) { if ( $k != \IPS\Settings::i()->guest_group AND !\in_array( $k, explode( ',', \IPS\Settings::i()->cgmp_hidestaff ) ) ) { $groupsStaff[ $k ] = $v->name; } } $form->add( new \IPS\Helpers\Form\Radio( 'modcp_changegroup_type', 'primary', TRUE, array( 'options' => array( 'primary' => 'modcp_changegroup_p', 'secondary' => 'modcp_changegroup_s', ), 'toggles' => array( 'primary' => array( 'modcp_changegroup_groups' ), 'secondary' => array( 'modcp_changegroup_sgroups' ), ) ) ) ); $form->add( new \IPS\Helpers\Form\Select( 'modcp_changegroup_groups', $member->member_group_id, FALSE, array( 'options' => $groupsStaff, 'parse' => 'normal' ), function( $val ) { if ( $val == 0 ) { throw new \LogicException( 'modcp_change_group_invalid_group' ); } if ( $val != 0 AND \IPS\Member::load( \IPS\Request::i()->modcp_changegroup_member_find, 'name' )->member_group_id == $val ) { throw new \LogicException( 'modcp_change_group_same_group' ); } }, NULL, NULL, 'modcp_changegroup_groups' ) ); $secGroups = $member->mgroup_others ? explode( ',', $member->mgroup_others ) : array(); $form->add( new \IPS\Helpers\Form\CheckboxSet( 'modcp_changegroup_sgroups', $secGroups, FALSE, array( 'options' => $groupsStaff, 'multiple' => TRUE ), NULL, NULL, NULL, 'modcp_changegroup_sgroups' ) ); \IPS\Output::i()->output = \IPS\Theme::i()->getTemplate( 'modcp', 'changegroupmcp', 'front' )->changeGroup( $form ); } if( $values = $form->values() ) { if( !isset( \IPS\Request::i()->member ) ) { \IPS\Output::i()->redirect( \IPS\Http\Url::internal( "app=core&module=modcp&tab=change_group", 'front', 'modcp_change_group' )->setQueryString( array( 'member' => $values['modcp_changegroup_member_find']->member_id ) ) ); } $member = \IPS\Member::load( \IPS\Request::i()->member ); if( $values['modcp_changegroup_type'] == 'primary' ) { $member->member_group_id = $values['modcp_changegroup_groups']; $member->save(); \IPS\Session::i()->modLog( 'modlog__group_changed', array( $member->name => FALSE ) ); \IPS\Output::i()->redirect( \IPS\Http\Url::internal( "app=core&module=modcp&tab=change_group", 'front', 'modcp_change_group' ), 'saved' ); } else { $groups = array(); if( $member->mgroup_others ) { $groupsStaff = array(); foreach( \IPS\Member\Group::groups() as $k => $v ) { if ( $k != \IPS\Settings::i()->guest_group AND !\in_array( $k, explode( ',', \IPS\Settings::i()->cgmp_hidestaff ) ) ) { $groupsStaff[ $k ] = $v->name; } } $memberSecGroups = array_filter( explode( ',', $member->mgroup_others ) ); $availSecGroups = array_filter( explode( ",", $groupsStaff ) ); $usersChoice = $values['modcp_changegroup_sgroups']; if( \count( $usersChoice ) ) { foreach( $availSecGroups as $group ) { $key = array_search( $group, $memberSecGroups ); if( $key !== FALSE ) { unset( $memberSecGroups[ $key ] ); } } $groups = array_unique( array_merge( $usersChoice, $memberSecGroups ) ); } } else { $groups = $values['modcp_changegroup_sgroups']; } $member->mgroup_others = implode( ',', $groups ); $member->save(); \IPS\Output::i()->redirect( \IPS\Http\Url::internal( "app=core&module=modcp&tab=change_group", 'front', 'modcp_change_group' ), 'saved' ); } } return \IPS\Theme::i()->getTemplate( 'modcp', 'changegroupmcp', 'front' )->changeGroup( $form ); } }
-
$member->modPermission( $key=NULL )
choć też nic
-
Cytat
ParseError: syntax error, unexpected 'throw' (T_THROW) (0)
#0 [internal function]: IPS\IPS::autoloader('IPS\\changegroup...')
#1 [internal function]: spl_autoload_call('IPS\\changegroup...')
#2 /home/mygo/domains/domena.pl/public_html/system/Application/Application.php(850): class_exists('IPS\\changegroup...')
#3 /home/mygo/domains/domena.pl/public_html/system/Application/Application.php(324): IPS\_Application->extensions('core', 'ModCp', true, true)
#4 /home/mygo/domains/domena.pl/public_html/applications/core/modules/front/modcp/modcp.php(85): IPS\_Application::allExtensions('core', 'ModCp', true)
#5 /home/mygo/domains/domena.pl/public_html/system/Dispatcher/Controller.php(101): IPS\core\modules\front\modcp\_modcp->manage()
#6 /home/mygo/domains/domena.pl/public_html/system/Dispatcher/Dispatcher.php(152): IPS\Dispatcher\_Controller->execute()
#7 /home/mygo/domains/domena.pl/public_html/index.php(26): IPS\_Dispatcher->run()
#8 {main}OR i AND to samo
-
no niestety gdzieś coś nie pasuje
-
Wgrałem moda "Change Group in Moderator Panel 1.2.3 " jednak ma on wadę moderator może usunąć moderatora (zdegradować go do usera). Chciałbym to wyłączyć tak jak jest wyłączona możliwość zmiany rangi admina.
W kodzie znalazłem:
if( $member->isAdmin() ) { throw new \InvalidArgumentException( 'cant_edit_admin_account' ); }
Jakbym tu dodać żeby określone grupy dostawały ten sam komunikat?
To zadziała?
if( $member->isAdmin() ) { throw new \InvalidArgumentException( 'cant_edit_admin_account' ); } if( $member->idGroup( array( 23,6,12,4 ) )) { throw new \InvalidArgumentException( 'cant_edit_admin_account' ); }
Ewentualnie co by tu zastosować?
if( $member->isAdmin() || $member->idGroup( array( 23,6,12,4 ) ) { throw new \InvalidArgumentException( 'cant_edit_admin_account' ); }
czy to przejdzie?
Może jest polecenie isMod lub idModerator w IPSie?
-
Witam,
chciałem zapytać jak najmniej traumatycznie dodać w pliku blokadę aby user miał możliwość wykonania tylko 2-3 transakcji na dobę - chyba że ta funkcja już jest a ja nie mogę jej znaleźć?
Czy potrzebny będzie to hook?
-
Ale już to z PT i H działa:
$expireDate->sub( new \DateInterval( 'PT' . \IPS\Settings::i()->cm_invoice_expireafter . 'H' ) );
Bardzo dziękuję za szybką pomoc.
-
-
Chciałem się zapytać jaka jest możliwość zmiany transakcji na wygasłą po X godzinach a nie po X dniach. Domyślnie w commerce są tylko dni a chciałbym oznaczać nieopłacone transakcje jako wygasłe już po 1-2 godzinach. Znalazłem w applications/nexus/modules/admin/payments/invoices.php
takie coś
/** * Settings * * @return void */ protected function settings() { \IPS\Dispatcher::i()->checkAcpPermission( 'invoices_settings' ); $form = new \IPS\Helpers\Form; $form->addheader('invoice_flow'); $form->addMessage('invoice_flow_visualise'); $form->add( new \IPS\Helpers\Form\Interval( 'cm_invoice_generate', \IPS\Settings::i()->cm_invoice_generate, FALSE, array( 'valueAs' => \IPS\Helpers\Form\Interval::HOURS, 'min' => 1 ), NULL, NULL, \IPS\Member::loggedIn()->language()->addToStack('cm_invoice_generate_suffix') ) ); $form->add( new \IPS\Helpers\Form\Interval( 'cm_invoice_warning', \IPS\Settings::i()->cm_invoice_warning, FALSE, array( 'valueAs' => \IPS\Helpers\Form\Interval::HOURS, 'unlimited' => 0, 'unlimitedLang' => 'never' ), NULL, NULL, \IPS\Member::loggedIn()->language()->addToStack('cm_invoice_warning_suffix') ) ); $form->add( new \IPS\Helpers\Form\Interval( 'cm_invoice_expireafter', \IPS\Settings::i()->cm_invoice_expireafter, FALSE, array( 'valueAs' => \IPS\Helpers\Form\Interval::DAYS, 'unlimited' => 0 ), NULL, NULL, NULL ) );
i zmieniłem DAYS na HOURS ale bez efektu.
$form->add( new \IPS\Helpers\Form\Interval( 'cm_invoice_expireafter', \IPS\Settings::i()->cm_invoice_expireafter, FALSE, array( 'valueAs' => \IPS\Helpers\Form\Interval::HOURS, 'unlimited' => 0 ), NULL, NULL, NULL ) );
Tzn. mam do wyboru w ustawieniach X godzin ale nie działa zgodnie z oczekiwaniami i po godzinie nic się nie dzieje.
Ktoś jakiegoś hooka ma na to lub jest w stanie na szybko zrobić za $.
Wiem, modyfikowanie core jest złe. Ale lata nie zaglądałem do IPB (teraz IPS) i stąd moje zamiłowanie do edycji źródła. Ktoś mnie naprowadzi? Dziękuję!
-
Zlecę realizacja bramki płatności gdzie jako walutę sprzedaży tę dopuszczalną w IPS commerce będzie wirtualna waluta wprowadzona na naszym forum, płatności odbywają się jak w PLN czyli pobierana prowizja wg ustalonych zasad tylko bez VATu.Szczegóły PW.Nie oszczędzam na zleceniu. Proszę o poważne propozycje.
-
14 godzin temu, DawPi napisał:
Jako plik dodawaj jakiś... screen?
tak, to rozwiązuje problem
14 godzin temu, DawPi napisał:W jaki sposób?
Sprzedajesz plik z kontaktem i opis sprzedaży np. 1h supportu?
-
15 godzin temu, aXen napisał:
Ale po co? Istnieje przecież aplikacja commerce, która nie wymaga pliku.
jaka?
-
Witam,
może to was zdziwi ale IPS Downloads dobrze może obsługiwać także np. Zlecenia płatnego supportu - pytanie jak wyłączyć obowiązek dodawania pliku w danej kategorii aplikacji Downloads? Tak aby wystarczył sam screen. Jest taka opcja? Konieczny mod? Coś szybkiego czy płatnego @DawPi jak to wyceniasz?
-
Dzięki. O to chodziło.
Jeszcze jedno pytanie w tym temacie. Wyszukuję tag np. nazwa_forum.pl/tags/szukany_tag
Szukany_tag idzie po wyświetleniu wyników wyszukiwania do headu strony w tag title - chciałbym żeby Szukany_tag był w title strony bez ' 'i .
-
search_blurb_tag
pod %s kryje się szukany tag np. nazwa_forum.pl/tags/szukany_tag
i chcę się pozbyć z 'szukany_tag'. apostrofów i kropki na końcu z wyniku
-
W lang jest tylko samo %s
-
Dzięki za odp. Ale to jest już w nawiasach.
Próbowałem też przypisania:
{{$title=substr( $title, 1, -3)"}}
{$title}
Przy jakiejś próbie zamiast title mam ciąg liczb...
-
Witam,
edytuję stronę szablonu (wyszukiwania - Core>Front>Search>search), jest tam zmienna
{$title}
z której chcę usunąć pierwszy i 2 ostatnie znaki. Zamiast " 'szukana_fraza'. " ma być " szukana_fraza "
Jak mogę to zrobić?
{parse expression="substr( $title, 1, -3)"}
oraz
{{echo substr($title, 1, -3);}}
{substr($title, 1, 3);}
nie bardzo... działają
W ogóle da się jakieś operacje na zmiennej title zrobić? I jak się do tego zabrać?
-
Witam,
może coś przeoczyłem, ale czy jest taka modyfikacja w ogóle dostępna w chwili obecnej, która umożliwia wołanie usera po nicku w poście np. zakładam temat/piszę posta z tekstem Wołam cię @DawPi - i DawPi dostaje PM Jak nazywa się taki dodatek?
-
Witam,
w jaki sposób można przypomnieć login userowi który go zapomniał? chodzi mi o jakiś automatyczny sposów przypominania, w przypominaniu hasła wysyłana jest nazwa wyświetlana ale jak przypomnieć login?
-
Witam,
mam pytanie, jaki prefix mod jest zainstalowany na tym forum? Chodzi mi o te pola do wyboru "tagu". Czy da się zmieniać dla jakich forów ma być dany zestaw prefixów do wyboru?
-
-
Witam,
mam pytanko, czy znacie może moda/skrypcik, który wyświetli 10 ostatnich postów, z datą i godziną i nazwą usera w postaci linków, o nazwie danego tematu?
Przykładowo:
13.08.08 22:11 user1 Temat1
14.08.08 22:22 user2 Temat2
22.08.08 22:12 user3 Temat3
...
Jaki kod musiałbym umieścić na innej stronce żeby to wyświetlało? Czy przez rss da się to zrobić?
Ewentualnie jak wyświetlić same ostatnie aktywne tematy bez pozostałych danych:
temat1
temat2
...
-
witam,
mam pytanko, jak stworzyć pustą stronkę i wstawić w niej swoją treść tak jak np. tu: http://www.invisionboard.pl/reklama.html
pozdrawiam i z góy dziękuję za pomoc
Mod zmiany rangi ale bez możliwości degradacji moderatora
w Modyfikacje
Opublikowano
Super dzięki mała rzecz a cieszy