Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

marcin5541289779971

Użytkownik
  • Postów

    43
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez marcin5541289779971

  1. <?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 ); } }
  2. 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?
  3. 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?
  4. 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.
  5. 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ę!
  6. 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.
  7. tak, to rozwiązuje problem Sprzedajesz plik z kontaktem i opis sprzedaży np. 1h supportu?
  8. 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?
  9. 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 .
  10. 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
  11. 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...
  12. 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ć?
  13. 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?
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.