Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
Порівняння попередніх версій Попередня ревізія | Попередня ревізія | ||
taskbarwidgets [2018/12/11 18:35] |
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 | ||
+ | </ |