protected function buildInternal() { parent::buildInternal(); $locale = SwatI18NLocale::get(); $item_list = $this->getItemList('integer'); $dep = new AdminListDependency(); $dep->setTitle(CME::_('CME credit'), CME::_('CME credits')); $sql = sprintf('select CMECredit.* from CMECredit where CMECredit.id in (%s)', $item_list); $credits = SwatDB::query($this->app->db, $sql, SwatDBClassMap::get('CMECreditWrapper')); foreach ($credits as $credit) { $data = new stdClass(); $data->id = $credit->id; $data->status_level = AdminDependency::DELETE; $data->parent = null; $data->title = $credit->getTitle(); $dep->entries[] = new AdminDependencyEntry($data); } $message = $this->ui->getWidget('confirmation_message'); $message->content = $dep->getMessage(); $message->content_type = 'text/xml'; if ($dep->getStatusLevelCount(AdminDependency::DELETE) === 0) { $this->switchToCancelButton(); } }
protected function getInlineJavaScriptTranslations() { $accept_text = CME::_('I Have Read the CME Information / Continue'); $cancel_text = CME::_('Cancel and Return'); $confirm_text = CME::_('Before you view %s, please attest to reading the following:'); return sprintf("CMEFrontMatterDisplay.accept_text = %s;\n" . "CMEFrontMatterDisplay.cancel_text = %s;\n" . "CMEFrontMatterDisplay.confirm_text = %s;\n", SwatString::quoteJavaScriptString($accept_text), SwatString::quoteJavaScriptString($cancel_text), SwatString::quoteJavaScriptString($confirm_text)); }
protected function buildInternal() { parent::buildInternal(); $locale = SwatI18NLocale::get(); $item_list = $this->getItemList('integer'); $dep = new AdminListDependency(); $dep->setTitle(CME::_('CME front matter'), CME::_('CME front matters')); $sql = sprintf('select CMEFrontMatter.id, sum(CMECredit.hours) as hours from CMEFrontMatter left outer join CMECredit on CMECredit.front_matter = CMEFrontMatter.id where CMEFrontMatter.id in (%s) group by CMEFrontMatter.id', $item_list); $rs = SwatDB::query($this->app->db, $sql); $class_name = SwatDBClassMap::get('CMEFrontMatter'); foreach ($rs as $row) { $front_matter = new $class_name($row); $front_matter->setDatabase($this->app->db); $row->status_level = AdminDependency::DELETE; $row->parent = null; // not using ngettext because hours is a float $row->title = sprintf($row->hours == 1 ? CME::_('%s (1 hour)') : CME::_('%s (%s hours)'), $front_matter->getProviderTitleList(), $locale->formatNumber($row->hours)); $dep->entries[] = new AdminDependencyEntry($row); } $message = $this->ui->getWidget('confirmation_message'); $message->content = $dep->getMessage(); $message->content_type = 'text/xml'; if ($dep->getStatusLevelCount(AdminDependency::DELETE) === 0) { $this->switchToCancelButton(); } }
protected function getStatusLine() { return CME::_("Generating Quarterly Quiz Reports\n\n"); }
protected function getSubject() { return sprintf(CME::_('%s Quiz Completed'), $this->front_matter->getProviderTitleList()); }
public function getCreditTitle($hours, $credit_count = 1, $is_free = false) { $locale = SwatI18NLocale::get(); return sprintf(SwatString::minimizeEntities($is_free ? CME::_('%s Free %s%s%s certified by %s') : CME::_('%s %s%s%s certified by %s')), SwatString::minimizeEntities($locale->formatNumber($hours)), '<em>', abs($hours - 1.0) < 0.01 ? SwatString::minimizeEntities($this->credit_title) : SwatString::minimizeEntities($this->credit_title_plural), '</em>', SwatString::minimizeEntities($this->title)); }
protected function getEmailHelpVariableDefinitions() { return array('account-full-name' => CME::_('the full name of the user'), 'cme-certificate-link' => CME::_('the link to download the CME certificates'), 'quiz-grade' => CME::_('the grade the user got on the quiz'), 'quiz-passing-grade' => CME::_('the grade required to pass the quiz')); }
protected function getEvaluationNavBarTitle() { return sprintf(CME::_('%s Evaluation'), $this->front_matter->provider->title); }
protected function buildTitle() { parent::buildTitle(); $this->layout->data->title = CME::_('Print CME Certificates'); }
protected function buildTitle() { $this->layout->data->title = sprintf(CME::_('%s Evaluation'), SwatString::minimizeEntities($this->front_matter->getProviderTitleList())); }
protected function displayTextQuestion(InquisitionQuestion $question, array $response_values) { echo $this->convertText($question->bodytext); if (count($response_values) > 0) { $p_tag = new SwatHtmlTag('p'); $p_tag->setContent(CME::_('The following answers were provided:')); $p_tag->display(); echo '<ul>'; $count = 0; foreach ($response_values as $value) { $li_tag = new SwatHtmlTag('li'); $li_tag->setContent($this->convertText($value->text_value)); $li_tag->display(); if ($count++ > 25) { break; } } echo '</ul>'; } else { $p_tag = new SwatHtmlTag('p'); $p_tag->setContent(CME::_('There were no responses for this question.')); $p_tag->display(); } }
protected function displayQuizResponse() { // build lookup array for response values $response_values = array(); foreach ($this->response->values as $value) { $response_values[$value->getInternalValue('question_binding')] = $value; } echo '<ol class="quiz-response">'; foreach ($this->quiz->question_bindings as $question_binding) { $question = $question_binding->question; $correct_option_id = $question->getInternalValue('correct_option'); $response_option_id = null; $correct = false; // if there's a response, check it if (isset($response_values[$question_binding->id])) { $response_value = $response_values[$question_binding->id]; $response_option_id = $response_value->getInternalValue('question_option'); $correct = $correct_option_id === $response_option_id; } $question_li = new SwatHtmlTag('li'); $question_li->class = 'quiz-question'; if ($correct) { $question_li->class .= ' quiz-question-correct'; } else { $question_li->class .= ' quiz-question-incorrect'; } $question_li->open(); $icon = new SwatHtmlTag('span'); $icon->class = 'quiz-response-question-icon glyphicon'; if ($correct) { $icon->class .= ' glyphicon-ok'; } else { $icon->class .= ' glyphicon-remove'; } $icon->setContent(''); $icon->display(); echo '<div class="quiz-question-question">'; echo $question->bodytext; echo '</div>'; echo '<dl class="quiz-question-options">'; $option = $question->correct_option; // your option if ($option instanceof InquisitionQuestionOption && $response_option_id !== null) { $dt_tag = new SwatHtmlTag('dt'); $dt_tag->setContent(CME::_('Your Answer:')); $dt_tag->display(); $response_option = $question->options[$response_option_id]; $dd_tag = new SwatHtmlTag('dd'); if ($option->id !== $response_option_id) { $dd_tag->class = 'quiz-question-option quiz-question-option-incorrect'; } else { $dd_tag->class = 'quiz-question-option'; } $dd_tag->setContent($response_option->title); $dd_tag->display(); } // correct option (shown if your option is wrong) if ($option instanceof InquisitionQuestionOption && $option->id !== $response_option_id) { $dt_tag = new SwatHtmlTag('dt'); $dt_tag->setContent(CME::_('Correct Answer:')); $dt_tag->display(); $dd_tag = new SwatHtmlTag('dd'); $dd_tag->class = 'quiz-question-option quiz-question-option-correct'; $dd_tag->setContent($option->title); $dd_tag->display(); } echo '</dl>'; $question_li->close(); } echo '</ol>'; }
public function getTitle() { return sprintf(CME::_('%s CME Credit'), $this->front_matter->getProviderTitleList()); }
protected function getTableModel(SwatView $view) { $now = new SwatDate(); $now->setTimezone($this->app->default_time_zone); $year = $this->start_date->getYear(); $start_date = new SwatDate(); $start_date->setTime(0, 0, 0); $start_date->setDate($year, 1, 1); $start_date->setTZ($this->app->default_time_zone); $end_date = clone $start_date; $end_date->addMonths(3); $display_end_date = clone $end_date; $display_end_date->subtractMonths(1); $store = new SwatTableStore(); while ($end_date->before($now)) { for ($i = 1; $i <= 4; $i++) { // Only add the quarter to the table model if the start date // is within or prior to that quarter. if ($this->start_date->before($end_date)) { $ds = new SwatDetailsStore(); $quarter = $start_date->formatLikeIntl('yyyy-qq'); $ds->date = clone $start_date; $ds->year = $year; $ds->quarter = $quarter; $ds->quarter_title = sprintf(CME::_('Q%s - %s to %s'), $i, $start_date->formatLikeIntl('MMMM yyyy'), $display_end_date->formatLikeIntl('MMMM yyyy')); foreach ($this->providers as $provider) { $shortname = $provider->shortname; $sensitive = isset($this->reports_by_quarter[$quarter][$shortname]); $ds->{'is_' . $shortname . '_sensitive'} = $sensitive; } $store->add($ds); } $start_date->addMonths(3); $end_date->addMonths(3); $display_end_date->addMonths(3); } $year++; } return $store; }
protected function buildNavBar() { AdminDBEdit::buildNavBar(); $this->navbar->popEntry(); $title = $this->isNew() ? CME::_('New %s') : CME::_('Edit %s'); $this->navbar->createEntry(sprintf($title, $this->credit->getTitle())); }
protected function getQuestionTitle() { // TODO: Update this with some version of getPosition(). return CME::_('Question'); }