Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
| Порівняння попередніх версій Попередня ревізія | Попередня ревізія | ||
|
taskbarwidgets [2018/12/11 18:36] |
taskbarwidgets [2023/06/16 18:35] (поточний) skybetik |
||
|---|---|---|---|
| Рядок 1: | Рядок 1: | ||
| + | ====== Віджети панелі завдань ====== | ||
| + | Підтримка віджетів для панелі завдань, | ||
| + | |||
| + | ====== Навіщо? | ||
| + | А чого взагалі може робити віджет? | ||
| + | |||
| + | ====== З чого складається? | ||
| + | Несподівано, | ||
| + | <file ini sample.ini> | ||
| + | ID=" | ||
| + | CODEFILE=" | ||
| + | NEED_RIGHT="" | ||
| + | NEED_OPTION=" | ||
| + | UNIMPORTANT=1 | ||
| + | TYPE=" | ||
| + | </ | ||
| + | |||
| + | Дивлячись на це все, не складно помітити, | ||
| + | А як же запитаєте ви, система дізнається, | ||
| + | |||
| + | <file php widget_sample.php> | ||
| + | <?php | ||
| + | |||
| + | class widget_sample extends TaskbarWidget { | ||
| + | |||
| + | public function render() { | ||
| + | $result = __(' | ||
| + | return ($result); | ||
| + | } | ||
| + | |||
| + | } | ||
| + | |||
| + | ?> | ||
| + | </ | ||
| + | |||
| + | З чого робимо висновок, | ||
| + | <file php widget_sample.php> | ||
| + | <?php | ||
| + | |||
| + | class widget_sample extends TaskbarWidget { | ||
| + | |||
| + | public function render() { | ||
| + | $result = $this-> | ||
| + | return ($result); | ||
| + | } | ||
| + | |||
| + | } | ||
| + | |||
| + | ?> | ||
| + | </ | ||
| + | |||
| + | {{: | ||
| + | |||
| + | І це все? Так - це все. Більше там ніякої іншої, крутої магії не відбувається. | ||
| + | |||
| + | ====== А детальніше? | ||
| + | Окей, якщо незрозуміло, | ||
| + | |||
| + | Отже, як уже було згадано вище - віджет починається з опису елемента таскбара в **config/ | ||
| + | |||
| + | <file ini fastsms.ini> | ||
| + | ID=" | ||
| + | CODEFILE=" | ||
| + | NEED_RIGHT=" | ||
| + | NEED_OPTION=" | ||
| + | UNIMPORTANT=1 | ||
| + | TYPE=" | ||
| + | </ | ||
| + | |||
| + | Давайте перевіримо, | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Окей, давайте створимо наступний **config/ | ||
| + | |||
| + | <file php widget_fastsms.php> | ||
| + | <?php | ||
| + | |||
| + | class widget_fastsms extends TaskbarWidget { | ||
| + | |||
| + | /** | ||
| + | * Contains system alter config as key=> | ||
| + | * | ||
| + | * @var array | ||
| + | */ | ||
| + | protected $altCfg = array(); | ||
| + | |||
| + | /** | ||
| + | * UbillingSMS object placeholder | ||
| + | * | ||
| + | * @var object | ||
| + | */ | ||
| + | protected $sms = ''; | ||
| + | |||
| + | const TASKBAR_URL = '? | ||
| + | |||
| + | /** | ||
| + | * Creates new widget_fastsms instance | ||
| + | | ||
| + | * @return void | ||
| + | */ | ||
| + | public function __construct() { | ||
| + | $this-> | ||
| + | $this-> | ||
| + | } | ||
| + | |||
| + | /** | ||
| + | * Loads system alter config into protected prop for further usage | ||
| + | | ||
| + | * @global object $ubillingConfig | ||
| + | | ||
| + | * @return void | ||
| + | */ | ||
| + | protected function loadAlter() { | ||
| + | global $ubillingConfig; | ||
| + | $this-> | ||
| + | } | ||
| + | |||
| + | /** | ||
| + | * Initalizes system SMS sending abstraction layer | ||
| + | | ||
| + | * @return void | ||
| + | */ | ||
| + | protected function initSMS() { | ||
| + | $this-> | ||
| + | } | ||
| + | |||
| + | /** | ||
| + | * Returns SMS sending form | ||
| + | | ||
| + | * @return string | ||
| + | */ | ||
| + | protected function smsSendForm() { | ||
| + | $result = ''; | ||
| + | $inputs = wf_TextInput(' | ||
| + | $inputs.= wf_TextArea(' | ||
| + | $inputs.= wf_CheckInput(' | ||
| + | $inputs.= wf_Submit(__(' | ||
| + | $form = wf_Form('', | ||
| + | |||
| + | // | ||
| + | if ($this-> | ||
| + | $result = wf_modalAuto(wf_img(' | ||
| + | } | ||
| + | |||
| + | if ($this-> | ||
| + | $result = $form; | ||
| + | } | ||
| + | |||
| + | return ($result); | ||
| + | } | ||
| + | |||
| + | /** | ||
| + | * Catches form sending request and performs SMS queue storing | ||
| + | | ||
| + | * @return void | ||
| + | */ | ||
| + | protected function catchSMSSending() { | ||
| + | if (wf_CheckPost(array(' | ||
| + | $translitFlag = (wf_CheckPost(array(' | ||
| + | $this-> | ||
| + | // | ||
| + | rcms_redirect(self:: | ||
| + | } | ||
| + | } | ||
| + | |||
| + | /** | ||
| + | * Runs and renders widget code | ||
| + | | ||
| + | * @return string | ||
| + | */ | ||
| + | public function render() { | ||
| + | $result = ''; | ||
| + | if ($this-> | ||
| + | //performs sms sending if required | ||
| + | $this-> | ||
| + | //rendering sending form | ||
| + | $result.=$this-> | ||
| + | } else { | ||
| + | $messages = new UbillingMessageHelper(); | ||
| + | $result = $messages-> | ||
| + | } | ||
| + | return ($result); | ||
| + | } | ||
| + | |||
| + | } | ||
| + | |||
| + | ?> | ||
| + | </ | ||
| + | |||
| + | Як нескладно помітити, | ||
| + | |||
| + | {{: | ||
| + | ====== Стокові віджети ====== | ||
| + | Ви можете увімкнути/ | ||
| + | |||
| + | <file ini alter.ini> | ||
| + | ; Показує поточний аптайм системи | ||
| + | WIDGET_UPTIME=1 | ||
| + | ; Віджет швидкого надсилання SMS, ми його там трохи вище на ходу писали. Що вже забули? | ||
| + | WIDGET_FASTSMS=1 | ||
| + | ; | ||
| + | WIDGET_FINANCE=1 | ||
| + | ; Радує ваш персонал, | ||
| + | WIDGET_PSYCHO=1 | ||
| + | ; Власне описаний вище семпловий віджет, | ||
| + | WIDGET_SAMPLE=1 | ||
| + | ; Робить іконкам панелі завдань ефект " | ||
| + | WIDGET_TBBLUR=1 | ||
| + | ; Стильно чорно-білить іконки панелі завдань. | ||
| + | WIDGET_TBBW=1 | ||
| + | ; Іконки панелі завдань можна потягнути кудись і обґрунтувати цим чому " | ||
| + | WIDGET_TBDRAG=1 | ||
| + | ; Хрестики-нулики, | ||
| + | WIDGET_TICTACTOE=1 | ||
| + | ; Може комусь дуже хочеться постійно моніторити сумарний трафік, | ||
| + | WIDGET_TRAFFIC=1 | ||
| + | ; Конвертер валют. | ||
| + | WIDGET_CURRENCY=1 | ||
| + | ; З шансом 10% кричить про meabeab-а в пошуках BONK-a! | ||
| + | ; https:// | ||
| + | WIDGET_MEABEAB=1 | ||
| + | </ | ||