Example #1
0
 /**
  * Add a meta tag to the page. Example usage:
  *
  *     $page->add_meta ('keywords', 'One, Two, Three');
  *     $page->add_meta ('UTF-8', '', 'charset');
  *     $page->add_meta ('og:image', 'http://example.com/foo.jpg', 'property');
  *     $page->add_meta ('refresh', '30;url=http://example.com/', 'http-equiv');
  *     $page->add_meta ('<meta charset="utf-8" />');
  */
 public function add_meta($name, $content = '', $attr = 'name')
 {
     if (strpos($name, '<') === 0) {
         $script = trim($name) . "\n";
     } else {
         $script = '<meta ' . $attr . '="' . $name . '"' . ($content !== '' ? ' content="' . Template::quotes($content) . '"' : '') . " />\n";
     }
     if (!in_array($script, $this->scripts)) {
         $this->scripts[] = $script;
         if (!$this->is_being_rendered) {
             $this->head .= $script;
         }
     }
 }
Example #2
0
 function test_quotes()
 {
     $this->assertEquals(Template::quotes('Escape "double" quotes'), 'Escape &quot;double&quot; quotes');
 }
Example #3
0
 /**
  * Generate a radio button in a template:
  *
  *     <?= Form::option ('yes', __ ('Yes'), $data->select_name) ?>
  *
  * This will generate the following HTML, with the selected attribute
  * dependent on the value in `$data->{$name}`:
  *
  *     <option value="yes" selected>Yes</option>
  */
 public static function option($value, $label, $actual = null)
 {
     $out = '<option value="' . Template::quotes($value) . '"';
     if ($actual !== null && $actual == $value) {
         $out .= ' selected';
     }
     $out .= '>' . $label . '</option>';
     return $out;
 }
Example #4
0
            if (!$timepicker_loaded) {
                $page->add_script('/js/jquery-ui/jquery-ui.css');
                $page->add_script('/js/jquery-ui/jquery-ui.min.js');
                $page->add_script('<style>
					/* css for timepicker */
					.ui-timepicker-div .ui-widget-header{ margin-bottom: 8px; }
					.ui-timepicker-div dl{ text-align: left; }
					.ui-timepicker-div dl dt{ height: 25px; }
					.ui-timepicker-div dl dd{ margin: -25px 0 10px 65px; }
					.ui-timepicker-div td { font-size: 90%; }
					</style>');
                $page->add_script('/apps/blog/js/jquery.timepicker.js');
                $timepicker_loaded = true;
            }
            printf('<p>%s:<br /><input type="text" name="%s" id="%s" value="%s" />%s</p>' . "\n", $field->name, $field->name, $field->name, Template::quotes($o->{$field->name}), $rule);
            printf("<script>\$(function () { \$('#%s').datetimepicker ({ timeFormat: 'hh:mm:ss', dateFormat: 'yy-mm-dd', hourGrid: 4, minuteGrid: 10 }); });</script>\n", $field->name);
            break;
        default:
            printf('<p>%s:<br /><input type="text" name="%s" value="%s" />%s</p>' . "\n", $field->name, $field->name, Template::quotes($o->{$field->name}), $rule);
            break;
    }
}
echo "<p><input type='submit' value='" . i18n_get('Save Item') . "' /></p></form>\n";
// display any notices for failed fields
if (count($o->failed) > 0) {
    echo "<script>\$(function () {\n";
    foreach ($o->failed as $field) {
        printf("\t\$('#%s-notice').show ();\n", $field);
    }
    echo "});\n</script>\n";
}