/** * Отрисовка кнопок, если кнопка 1 то выводим как одну, * иначе определяем главную кнопку (первую в списке), * и выводим как мульти кнопку * * @return string HTML-код */ public function draw() { if (count($this->buttons) == 0) { return; } if (count($this->buttons) == 1) { reset($this->buttons); $button = current($this->buttons); if (!is_object($button)) { return false; } return $button->draw(); } $this->setMainButton(); return parent::draw(); }
$table = facebook_connect_table_generator($information->facebookid, $information->link, $information->firstname, $information->middlename, $information->lastname); $button = new buttons(); $button->display(); } else { $facebook_id = $userinfo->facebookid; $status = $userinfo->status; echo $OUTPUT->heading(get_string("connectheading", "local_facebook")); //Tesis Roberto Jaunez if ($USER->id == 10644 || $USER->id == 2 || $USER->id == 40214 || $USER->id == 381 || $USER->id == 60246 || $USER->id == 32806 || $USER->id == 28988) { $toprow = array(); $toprow[] = new tabobject("Tu cuenta", new moodle_url('/local/facebook/connect.php'), "Tu cuenta"); $toprow[] = new tabobject("Facebook Analysis", new moodle_url('/local/facebook/facebookalgorithm.php'), "Facebook Analysis"); echo $OUTPUT->tabtree($toprow, "Tu cuenta"); } $table = facebook_connect_table_generator($userinfo->facebookid, $userinfo->link, $userinfo->firstname, $userinfo->middlename, $userinfo->lastname); $button = new buttons(); $button->display(); } } // If the user hasn't accepted the permissions } else { if (!isset($facebook_id) && $connect == NULL) { echo $OUTPUT->heading(get_string("acountconnect", "local_facebook")); $params = ["email", "publish_actions", "user_birthday", "user_tagged_places", "user_work_history", "user_about_me", "user_hometown", "user_actions.books", "user_education_history", "user_likes", "user_friends", "user_religion_politics"]; $loginUrl = $helper->getLoginUrl($CFG->wwwroot . "/local/facebook/connect.php", $params); echo "<br><center><a href='" . htmlspecialchars($loginUrl) . "'><img src='app/images/login.jpg'width='180' height='30'></a><center>"; } else { // If he clicked the link button. if ($connect != NULL) { // Facebook code to search the user information. // We have a user ID, so probably a logged in user.
$draft = new buttons('Отказаться, поместить проект в черновик', 'red', 'action_stage'); $draft->addEvent('onclick', "submitForm(\$('actionStageForm'), {action:'draft'})"); $arbitrage = new buttons('Обратиться в арбитраж', 'red', 'arbitrage'); $arbitrage->addEvent('onclick', 'toggle_arb();'); $complete = new buttons('Принять работу', null, 'complete'); $complete->setLink('/' . sbr::NEW_TEMPLATE_SBR . "/?site=Stage&id={$stage->id}&event=complete"); $pause = new buttons('Поставить на паузу', null, 'pause'); $pause->addEvent('onclick', "view_sbr_popup('pause_confirm');"); //$pause->addEvent("onclick", "submitForm($('actionStageForm'), {action: 'change_status', status:" . sbr_stages::STATUS_FROZEN . "});"); $inwork = new buttons('Вернуть в работу', null, 'action_stage'); $inwork->addEvent('onclick', "submitForm(\$('actionStageForm'), {action: 'change_status', status:" . sbr_stages::STATUS_PROCESS . '});'); $resend = new buttons('Повторный запрос', null, 'action_stage'); $resend->addEvent('onclick', "submitForm(\$('actionStageForm'), {action: 'resolve_changes', resend:1});"); $rollback = new buttons('Отменить изменения', 'red', 'action_stage'); $rollback->addEvent('onclick', "submitForm(\$('actionStageForm'), {action: 'resolve_changes', cancel:1});"); $reserved = new buttons('Зарезервировать деньги', null, 'reserved'); $reserved->setLink('/' . sbr::NEW_TEMPLATE_SBR . "/?site=reserve&id={$sbr->id}"); switch ($sbr->status) { case sbr::STATUS_NEW: $draft->setName('Поместить проект в черновик'); $multi->addButton($cancel); $multi->addButton($edit); $multi->addButton($draft); break; case sbr::STATUS_CHANGED: if ($sbr->data['reserved_id']) { // Деньги зарезервированы, тут еще зависимость от статусов будет if ($stage->data['status'] == sbr_stages::STATUS_NEW) { //if($stage->num > 0 && $sbr->stages[$stage->num-1]->data['status'] == sbr_stages::STATUS_INARBITRAGE) { // $inwork->setName('Поставить в работу'); // $multi->addButton($inwork);
if (!is_array($buttons)) { $this->buttons = array_keys(static::$setup); } else { $this->buttons = $buttons; } } public function __toString() { $html = '<nav class="field-buttons">'; $html .= '<ul class="nav nav-bar">'; foreach (static::$setup as $key => $button) { if (!in_array($key, $this->buttons)) { continue; } if (!empty($button['action'])) { $action = $this->textarea->model()->url('field/' . $this->textarea->name() . '/textarea/' . $button['action']); } else { $action = null; } $icon = '<i class="icon fa fa-' . $button['icon'] . '"></i>'; $html .= '<li class="field-button-' . $key . '">'; $html .= html::tag('button', $icon, array('type' => 'button', 'tabindex' => '-1', 'title' => @$button['label'] . ' (' . @$button['shortcut'] . ')', 'class' => 'btn', 'data-editor-shortcut' => @$button['shortcut'], 'data-tpl' => @$button['template'], 'data-text' => @$button['text'], 'data-action' => $action)); $html .= '</li>'; } $html .= '</ul>'; $html .= '</nav>'; return $html; } } buttons::$setup = array('bold' => array('label' => l::get('fields.textarea.buttons.bold.label'), 'text' => l::get('fields.textarea.buttons.bold.text'), 'shortcut' => 'meta+b, ctrl+b', 'template' => '**{text}**', 'icon' => 'bold'), 'italic' => array('label' => l::get('fields.textarea.buttons.italic.label'), 'text' => l::get('fields.textarea.buttons.italic.text'), 'shortcut' => 'meta+i, ctrl+i', 'template' => '*{text}*', 'icon' => 'italic'), 'link' => array('label' => l::get('fields.textarea.buttons.link.label'), 'shortcut' => 'meta+shift+l, ctrl+shift+l', 'action' => 'link', 'icon' => 'chain'), 'email' => array('label' => l::get('fields.textarea.buttons.email.label'), 'shortcut' => 'meta+shift+e, ctrl+shift+e', 'action' => 'email', 'icon' => 'envelope'));
if ($sbr->data['lc_id'] > 0) { $overtime = strtotime($sbr->data['dateEndLC'] . ' - ' . pskb::ARBITRAGE_PERIOD_DAYS . ' day'); // Сб, Вс не рабочие дни if (date('w', $overtime) == 0 || date('w', $overtime) == 6) { $d = date('w', $overtime) == 6 ? 1 : 2; $overtime = $overtime - $d * 3600 * 24; } } else { $overtime = null; } // Если в арбитраже действий, делать никаких нельзя, независимо от статуса СБР, если завершено кнопок уже никаких не будет if ($stage->data['status'] == sbr_stages::STATUS_INARBITRAGE || $stage->data['status'] == sbr_stages::STATUS_ARBITRAGED || $stage->status == sbr_stages::STATUS_COMPLETED) { return; } // Инициируем все доступные кнопки один раз @todo Что-то тут надо придумать $arbitrage = new buttons('Обратиться в арбитраж', 'red', 'arbitrage'); $arbitrage->addEvent('onclick', 'toggle_arb();'); $condition = new buttons('Посмотреть условия сделки', null, 'condition'); $condition->setLink('/' . sbr::NEW_TEMPLATE_SBR . "/?site=master&id={$sbr->id}"); $refuse = new buttons('Отказаться от сделки', 'red', 'refuse'); $refuse->addEvent('onclick', "\$('refuse_dialog').toggleClass('b-shadow_hide'); return false;"); $agree = new buttons('Согласиться с изменениями', null, 'action_stage'); $agree->addEvent('onclick', "submitForm(\$('actionStageForm'), {action:'agree_stage', ok:1});"); $refuse_stage = new buttons('Отказаться от изменений', 'red', 'refuse_stage'); $refuse_stage->addEvent('onclick', "\$('refuse_stage_dialog').toggleClass('b-shadow_hide'); return false;"); switch ($sbr->status) { case sbr::STATUS_NEW: $multi->addButton($condition); $multi->addButton($refuse); break; case sbr::STATUS_CHANGED:
if ($sbr->data['lc_id'] > 0) { $overtime = strtotime($sbr->data['dateEndLC'] . ' - ' . pskb::ARBITRAGE_PERIOD_DAYS . " day"); // Сб, Вс не рабочие дни if (date('w', $overtime) == 0 || date('w', $overtime) == 6) { $d = date('w', $overtime) == 6 ? 1 : 2; $overtime = $overtime - $d * 3600 * 24; } } else { $overtime = null; } // Если в арбитраже действий, делать никаких нельзя, независимо от статуса СБР, если завершено кнопок уже никаких не будет if ($stage->data['status'] == sbr_stages::STATUS_INARBITRAGE || $stage->data['status'] == sbr_stages::STATUS_ARBITRAGED || $stage->status == sbr_stages::STATUS_COMPLETED) { return; } // Инициируем все доступные кнопки один раз @todo Что-то тут надо придумать $arbitrage = new buttons('Обратиться в арбитраж', 'red', 'arbitrage'); $arbitrage->addEvent("onclick", "toggle_arb();"); $condition = new buttons('Посмотреть условия сделки', null, 'condition'); $condition->setLink("/" . sbr::NEW_TEMPLATE_SBR . "/?site=master&id={$sbr->id}"); $refuse = new buttons('Отказаться от сделки', 'red', 'refuse'); $refuse->addEvent("onclick", "\$('refuse_dialog').toggleClass('b-shadow_hide'); return false;"); $agree = new buttons('Согласиться с изменениями', null, 'action_stage'); $agree->addEvent("onclick", "submitForm(\$('actionStageForm'), {action:'agree_stage', ok:1});"); $refuse_stage = new buttons('Отказаться от изменений', 'red', 'refuse_stage'); $refuse_stage->addEvent("onclick", "\$('refuse_stage_dialog').toggleClass('b-shadow_hide'); return false;"); switch ($sbr->status) { case sbr::STATUS_NEW: $multi->addButton($condition); $multi->addButton($refuse); break; case sbr::STATUS_CHANGED: