/** * 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; } } }
function test_quotes() { $this->assertEquals(Template::quotes('Escape "double" quotes'), 'Escape "double" quotes'); }
/** * 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; }
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"; }