System Configuration > Platform Configuration > System Properties
zmiana parametru z
webclient.startapp = startcntr
na
webclient.startapp = srmssctr
Autor: Łukasz Muchlado
Mapowanie lokalnego portu MySQL na port na zdalnym serwerze do którego mamy dostęp po SSH.
ssh -L 3306:localhost:3306 external_server
Dodanie wiadomości z poziomu kontrolera:
$this->_helper->flashMessenger->addMessage('Zapisano zmiany');//info $this->_helper->flashMessenger->addMessage( array('error' => 'But error ccured')//error );
Wersja skrócona:
$this->_helper->FlashMessenger('Zapisano zmiany');
Kod z poziomu layout-u:
Pobranie wywołań bez wymogu przekierowania
<?php $flashMessanger = Zend_Controller_Action_HelperBroker::getStaticHelper('FlashMessenger'); $messages = array_merge( $flashMessanger->getMessages(), $flashMessanger->getCurrentMessages() ); $flashMessanger->clearCurrentMessages(); ?>
Wyświetlenie wiadomości o danym typie z wykorzystaniem CSS jQuery UI
<?php foreach($messages as $data): ?> <?php $data = (array) $data; $type = (string) key($data); $message = current($data); switch ($type){ case 'error': $ui_state = 'error'; $ui_icon = 'info'; break; default: $ui_state = 'highlight'; $ui_icon = 'info'; break; } ?> <div class="msg ui-state-<?php print $ui_state?> ui-corner-all"> <p><span class="ui-icon ui-icon-<?php print $ui_icon?>"></span> <strong></strong><?php print $message?></p> </div> <?php endforeach; ?>
Filtr wykluczający strony z wyników wp_list_pages:
function wp_list_pages_exclude_hidden($exclude_array){ $exclude_array[] = 3692; return $exclude_array; } add_filter('wp_list_pages_excludes', 'wp_list_pages_exclude_hidden');
Nginx, php-fpm, mariadb | OSX Brew
Instalacja:
brew install nginx
brew install mariadb
brew install php --with-fpm --with-intl --with-mariadb
Start usług:
/usr/local/sbin/php-fpm&
/usr/local/sbin/nginx
/usr/local/bin/mysql.server start
Zatrzymanie usług:
killall -c php-fpm
/usr/local/sbin/nginx -s stop
/usr/local/bin/mysql.server stop
Sumulacja menu rozwijanego zawierającego przyciski.
Wymaga jQuery UI (button)
JS:
onEventShowMenu = function(event) { var menuId = event.data ? event.data.id : null; var elBtn = jQuery(this); var elMenu = menuId ? jQuery('#' + menuId) : elBtn.next('ul'); if (elMenu.is(':visible')) { elMenu.hide(); return false; } if(!elMenu.data('inited')){ elMenu.css('min-width', elBtn.width()) elMenu.data('inited', true); } elMenu.show().position({ my: "left top", at: "left bottom", of: elBtn }); jQuery(document).one("click", function() { elMenu.hide(); }); return false; } jQuery(function() { jQuery( ".action.close" ) .button({ icons: { primary: "ui-icon-power", secondary: "ui-icon-triangle-1-s" } }) .click(onEventShowMenu) ; });
Html:
<button class="action close" style="">Zamknij</button> <ul class="button-menu" style="display:none;"> <li><button class="action-trash">Do kosza</button></li> <li><button class="action sZweryfikowany">Zweryfikowano pozytywnie</button></li> <li><button class="action sDuplikat">Duplikat</button></li> <li><button class="action sOdrzucony">Odrzucono z przyczyn formalnych</button></li> <li><button class="action sRezygnacja">Rezygnacja Użytkownika</button></li> </ul>
Css:
.button-menu {position:absolute; padding:0; list-style-type:none; background-color:white; border:1px solid #f0f0f0; padding:0 1px;} .button-menu button {width:100%; text-align:left; margin:0} .button-menu li {padding:1px 0; margin:0;}
Przekazywanie danych do funkcji uruchamianych „onEvent”
handler = onEventShowSomething; eventData = {id:4}; el.click(eventData, handler); el.bind('click', eventData, handler);
Odczyt przekazanych danych:
onEventShowSomething = function(event){ console.log(event.data); }
Polecane (afiliacja)
Hosting Redmine
Podobają Ci się możliwości, wygoda korzystania, prostota konfiguracji Redmine – ale nie chcesz martwić się instalacją/administracją/utrzymaniem aplikacji?
Oferujemy usługi instalacji, konfiguracji, optymalizacji i utrzymania Redmine na serwerze/serwerach VPS bądź dedykowanych własnych bądź klienta.
Zajmujemy się tworzeniem wtyczek do platformy WordPress (i jej pochodnych). Oferujemy:
- Stworzenie nowego rozszerzenia na podstawie wymagań klienta.
- Naprawa/dodanie nowych funkcjonalności do istniejącego rozszerzenia.
- Tłumaczenie wtyczek.