本文整理汇总了PHP中Asset::checkAssetAdded方法的典型用法代码示例。如果您正苦于以下问题:PHP Asset::checkAssetAdded方法的具体用法?PHP Asset::checkAssetAdded怎么用?PHP Asset::checkAssetAdded使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Asset
的用法示例。
在下文中一共展示了Asset::checkAssetAdded方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: bootstrap
static function bootstrap()
{
// include libs
$whichend = is_backend() ? 'backend' : 'frontend';
// jquery-ui
if (!Asset::checkAssetAdded('jquery-ui', 'js', $whichend)) {
$js = "<script src='" . uri('libraries/jquery-ui/jquery-ui.min.js', false) . "'></script>";
Asset::addDynamicAsset('jquery-ui', 'js', $whichend, $js);
}
if (!Asset::checkAssetAdded('jquery-ui', 'css', $whichend)) {
$js = "<link rel=\"stylesheet\" href=\"" . uri('libraries/jquery-ui/jquery-ui.theme.min.css', false) . "\">";
$js .= "\n<link rel=\"stylesheet\" href=\"" . uri('libraries/jquery-ui/jquery-ui.structure.min.css', false) . "\">";
Asset::addDynamicAsset('jquery-ui', 'css', $whichend, $js);
}
}
示例2: render
public function render($module, $model)
{
$rtn = "";
$prepopulate = '($object->isNew() ? ' . "(isset(\$_POST['{$this->name}']) ? htmlentities(\$_POST['{$this->name}']) : '')" . ' : htmlentities($object->get' . format_as_class_name($this->name) . '()))';
$rtn .= "\n<div class='form-group'>\r\n <label for='{$this->name}'>{$this->name}</label>\r\n <textarea class='form-control' rows='5' id='{$this->name}' name='{$this->name}'" . ($this->required ? ' required' : '') . ">[[[ echo {$prepopulate} ]]]</textarea>\r\n</div>\r\n";
// ckeditor
if ($this->wysiwyg) {
if (!Asset::checkAssetAdded('ckeditor', 'js', 'backend')) {
$js = "\n<script type='text/javascript' src='" . uri('libraries/ckeditor/ckeditor.js', false) . "'></script>\n";
Asset::addDynamicAsset('ckeditor', 'js', 'backend', $js);
$rtn .= $js;
}
$rtn .= "<script type='text/javascript'>CKEDITOR.replace('{$this->name}');</script>";
}
return $rtn;
}
示例3: render
public function render($module, $model)
{
$rtn = "";
$rtn .= "\n<div class='form-group' id='{$this->name}'>\r\n <label class='col-sm-2 control-label'>{$this->name} " . ($this->required ? $this->mandatory_field : '') . "</label>\r\n <div class='col-sm-10'>\r\n <textarea name='{$this->name}' style='display: none;'></textarea>\r\n <div class='file-fields'" . ($this->multiple ? " style='border: 1px solid #999; padding: 6px;'" : "") . "></div>\r\n" . ($this->multiple ? " <button style='margin-top:6px;' class='add btn btn-primary btn-sm' type='button'>[[[ echo i18n(array('en' => 'Add image', 'zh' => '添加图片')) ]]]</button>" : "") . "\r\n </div>\r\n</div>\r\n<div class='hr-line-dashed'></div>\r\n";
$rtn .= "\r\n[[[\r\n // get json string of prepopulated image links\r\n \$prepopulate = \$object->isNew() ? '' : \$object->get" . format_as_class_name($this->name) . "();\r\n if (\$prepopulate != '') {\r\n \$tokens = explode(\"\\n\", trim(\$prepopulate));\r\n \$prepopulate = array();\r\n foreach (\$tokens as \$token) {\r\n \$prepopulate[] = trim(\$token, \"\\n\\r\");\r\n }\r\n }\r\n]]]\r\n";
// include jquery-ui, when we've got multiple images
if ($this->multiple) {
if (!Asset::checkAssetAdded('jquery-ui', 'js', 'backend')) {
$js = "\n<script src='https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.3/jquery-ui.min.js'></script>\n";
Asset::addDynamicAsset('jquery-ui', 'js', 'backend', $js);
$rtn .= $js;
}
}
// js
$rtn .= "\n<script>\r\n \$(function(){\r\n var container = \$('#{$this->name}');\r\n" . ($this->multiple ? "\r\n \$('.file-fields', container).sortable({\r\n update: function(event, ui) {updateHiddenTextarea(container);}\r\n });\r\n" : "") . "\r\n // initial value to pop\r\n var initial_images = [[[ echo \$prepopulate == '' ? '\"\"' : json_encode(\$prepopulate); ]]];\r\n if (initial_images != '') {\r\n for (var i in initial_images) {\r\n img = initial_images[i];\r\n var html = addImageRow(img, false);\r\n \$('.file-fields', container).append(html);\r\n }\r\n } else {\r\n var html = addImageRow(false, true);\r\n \$('.file-fields', container).append(html);\r\n }\r\n\r\n updateHiddenTextarea(container);\r\n // action when click select file button\r\n \$(document).on('click', '#{$this->name} .select', function(){\r\n var tr = \$(this).parents('.file-field');\r\n \$('input[type=file]', tr).click();\r\n \$('.upload', tr).prop('disabled', false);\r\n });\r\n // action when file filed is changed (we do validation here)\r\n \$(document).on('change', '#{$this->name} input[type=file]', function(){\r\n var tr = \$(this).parents('.file-field');\r\n var file = this.files[0];\r\n if (!file.type.match(/^image/)) {\r\n alert('[[[ echo i18n(array('en' => 'Upload file needs to be an image file', 'zh' => '上传文件需为图片文件')) ]]]');\r\n } else if (file.size > (1 * 1000 * 1000)) {\r\n alert('[[[ echo i18n(array('en' => 'File size should be less than', 'zh' => '文件大小应小于')) . ' 2MB' ]]]');\r\n } else {\r\n var reader = new FileReader();\r\n reader.onload = (function(e){\r\n \$('.preview', tr).html('<img src=\"'+e.target.result+'\" style=\"height:150px;\" />');\r\n });\r\n reader.readAsDataURL(this.files[0]);\r\n }\r\n });\r\n // action when adding an new image row\r\n \$(document).on('click', '#{$this->name} .add', function(){\r\n var html = addImageRow(false, true);\r\n \$('.file-fields', container).append(html);\r\n });\r\n // action when uploading image via ajax\r\n \$(document).on('click', '#{$this->name} .upload', function(){\r\n var tr = \$(this).parents('.file-field');\r\n var file_field = \$('input[type=file]', tr);\r\n var file = file_field[0].files[0];\r\n\r\n var formData = new FormData();\r\n formData.append('file', file, file.name);\r\n \$('.btn', tr).prop('disabled', true);\r\n \$('.upload i', tr).removeClass('fa-upload').addClass('fa-spin').addClass('fa-spinner');\r\n \$.ajax({\r\n url: '[[[ echo uri(\"modules/{$module}/controllers/backend/" . $model . "_form_field_{$this->name}.php\" ,false) ]]]',\r\n type: 'POST',\r\n data: formData,\r\n cache: false,\r\n dataType: 'json',\r\n processData: false, // Don't process the files\r\n contentType: false, // Set content type to false as jQuery will tell the server its a query string request\r\n success: function(data, textStatus, jqXHR) {\r\n if (typeof(data.error) !== 'undefined') {\r\n alert('[[[ echo i18n(array('en' => 'Error: ', 'zh' => '错误: ')) ]]]' + data.error);\r\n } else {\r\n tr.html(addImageRow(data.uri, false));;\r\n \$('.remove',tr).data('uri', data.uri);\r\n updateHiddenTextarea(container);\r\n }\r\n \$('.btn', tr).prop('disabled', false);\r\n \$('.upload i', tr).removeClass('fa-spin').removeClass('fa-spinner').addClass('fa-upload');\r\n },\r\n error: function(jqXHR, textStatus, errorThrown) {\r\n alert('[[[ echo i18n(array('en' => 'ajax error: ', 'zh' => 'ajax失败')) ]]]: ' + textStatus);\r\n \$('.btn', tr).prop('disabled', false);\r\n \$('.upload i', tr).removeClass('fa-spin').removeClass('fa-spinner').addClass('fa-upload');\r\n }\r\n });\r\n });\r\n // action when removing an image\r\n \$(document).on('click', '#{$this->name} .remove', function(){\r\n var tr = \$(this).parents('.file-field');\r\n if (typeof(\$(this).data('uri')) !== 'undefined') {\r\n var img = \$(this).data('uri');\r\n \$('.btn', tr).prop('disabled', true);\r\n \$('.remove i', tr).addClass('fa-spin').addClass('fa-spinner').removeClass('fa-remove');\r\n // ajax to remove the image\r\n \$.ajax({\r\n url: '[[[ echo uri(\"modules/{$module}/controllers/backend/" . $model . "_form_field_{$this->name}\".\"_remove.php\" ,false) ]]]?path=' + encodeURIComponent(img),\r\n type: 'POST',\r\n dataType: 'json',\r\n success: function(data, textStatus, jqXHR) {\r\n if (typeof(data.error) !== 'undefined') {\r\n alert('[[[ echo i18n(array('en' => 'Error: ', 'zh' => '错误: ')) ]]]' + data.error);\r\n" . (!$this->multiple ? "tr.html(addImageRow(false, true));" : "tr.fadeOut(function(){tr.remove();});") . "\r\n updateHiddenTextarea(container);\r\n } else {\r\n" . (!$this->multiple ? "tr.html(addImageRow(false, true));" : "tr.fadeOut(function(){tr.remove();});") . "\r\n updateHiddenTextarea(container);\r\n }\r\n },\r\n error: function(jqXHR, textStatus, errorThrown) {\r\n alert('[[[ echo i18n(array('en' => 'ajax error: ', 'zh' => 'ajax失败')) ]]]: ' + textStatus);\r\n \$('.btn', tr).prop('disabled', false);\r\n \$('.remove i', tr).removeClass('fa-spin').removeClass('fa-spinner').addClass('fa-remove');\r\n updateHiddenTextarea(container); \r\n }\r\n });\r\n } else {\r\n" . ($this->multiple ? "tr.fadeOut();" : "") . "\r\n }\r\n });\r\n\r\n // functions\r\n function addImageRow(img, isnew) {\r\n var img_html = img ? '<img src=\"/[[[ echo get_sub_root() ]]]'+img+'\" style=\"height:150px;\" />' : '<div style=\"height:150px;width:200px;background-color:#AAA;\"></div>';\r\n var upload_button = isnew ? \r\n '<button type=\"button\" class=\"btn btn-default btn-sm upload\" disabled><i class=\"fa fa-upload\"></i></button>' :\r\n '<!-- <button type=\"button\" class=\"btn btn-default btn-sm upload\" disabled><i class=\"fa fa-upload\"></i></button> -->';\r\n var select_button = isnew ?\r\n '<button type=\"button\" class=\"btn btn-default btn-sm select\"><i class=\"fa fa-file\"></i></button>' :\r\n '<!-- <button type=\"button\" class=\"btn btn-default btn-sm select\"><i class=\"fa fa-file\"></i></button> -->';\r\n var data_uri = isnew ? '' : 'data-uri=\"'+img+'\"';\r\n return ('\\n\\\r\n <div class=\"file-field\" style=\"margin-bottom:6px; position:relative;\">\\n\\\r\n <div class=\"preview\">'+img_html+'</div>\\n\\\r\n <div class=\"btn-group\" style=\"position:absolute; bottom:5px; left:5px; \" aria-label=\"...\">\\n\\\r\n <input type=\"file\" class=\"btn btn-default btn-sm\" style=\"display:none;\" />\\n\\\r\n '+select_button+'\\n\\\r\n '+upload_button+'\\n\\\r\n <button type=\"button\" class=\"btn btn-default btn-sm remove\" '+data_uri+'><i class=\"fa fa-remove\"></i></button>\\n\\\r\n </div>\\n\\\r\n </div>');\r\n }\r\n\r\n function updateHiddenTextarea(container) {\r\n var html = '';\r\n \$('.preview img', container).each(function(){\r\n var uri = \$(this).attr('src');\r\n // remove subroot\r\n var subroot = '[[[ echo get_sub_root() ]]]';\r\n uri = uri.substr(subroot.length+1, uri.length-1);\r\n html = html + uri + " . '"\\n"' . ";\r\n });\r\n \$('textarea', container).val(html);\r\n }\r\n });\r\n</script>\r\n";
return $rtn;
}
示例4: render
public function render($module, $model)
{
$rtn = "";
$prepopulate = '($object->isNew() ? ' . "(isset(\$_POST['{$this->name}']) ? htmlentities(\$_POST['{$this->name}']) : '')" . ' : htmlentities($object->get' . format_as_class_name($this->name) . '()))';
$rtn .= "\n<div class='form-group'>\r\n <label class='col-sm-2 control-label' for='{$this->name}'>{$this->name} " . ($this->required ? $this->mandatory_field : '') . "</label>\r\n <div class='col-sm-10'>\r\n <textarea class='form-control' rows='5' id='{$this->name}' name='{$this->name}'" . ($this->required ? ' required' : '') . ">[[[ echo {$prepopulate} ]]]</textarea>\r\n </div>\r\n</div>\r\n<div class='hr-line-dashed'></div>\r\n";
// ckeditor
if ($this->wysiwyg) {
if (!Asset::checkAssetAdded('ckeditor', 'js', 'backend')) {
$js = "\n<script type='text/javascript' src='" . uri('libraries/ckeditor/ckeditor.js', false) . "'></script>\n";
Asset::addDynamicAsset('ckeditor', 'js', 'backend', $js);
$rtn .= $js;
}
$toolbar = false;
if ($this->wysiwyg_toolbar) {
$toolbar_name = "TOOLBAR_" . strtoupper($this->wysiwyg_toolbar);
$toolbar = constant("self::{$toolbar_name}");
}
$rtn .= "<script type='text/javascript'>CKEDITOR.replace('{$this->name}'" . ($toolbar ? ", {$toolbar}" : "") . ");</script>";
}
return $rtn;
}
示例5: uri
</div>
</div>
<div class='hr-line-dashed'></div>
<?php
// include jquery-ui library if not
if (is_frontend()) {
$already_included_at_frontend = Asset::checkAssetAdded('jquery-ui', 'js', 'frontend') || Asset::checkAssetAdded('jquery_ui', 'js', 'frontend');
if (!$already_included_at_frontend) {
echo "\n" . '<script type="text/javascript" src="' . uri('modules/core/assets/jquery-ui-1.11.4.custom/jquery-ui.min.js') . '"></script>' . "\n";
echo "\n" . '<script type="text/javascript">loadCSS("' . uri('modules/core/assets/jquery-ui-1.11.4.custom/jquery-ui.min.css') . '")</script>' . "\n";
Asset::addDynamicAsset('jquery_ui', 'js', 'frontend', '<script type="text/javascript" src="' . uri('modules/core/assets/jquery-ui-1.11.4.custom/jquery-ui.min.js') . '"></script>');
}
} else {
if (is_backend()) {
$already_included_at_backend = Asset::checkAssetAdded('jquery-ui', 'js', 'backend') || Asset::checkAssetAdded('jquery_ui', 'js', 'backend');
if (!$already_included_at_backend) {
echo "\n" . '<script type="text/javascript" src="' . uri('modules/core/assets/jquery-ui-1.11.4.custom/jquery-ui.min.js') . '"></script>' . "\n";
echo "\n" . '<script type="text/javascript">loadCSS("' . uri('modules/core/assets/jquery-ui-1.11.4.custom/jquery-ui.min.css') . '")</script>' . "\n";
Asset::addDynamicAsset('jquery_ui', 'js', 'backend', '<script type="text/javascript" src="' . uri('modules/core/assets/jquery-ui-1.11.4.custom/jquery-ui.min.js') . '"></script>');
}
}
}
?>
<script type='text/javascript'>
$('#69Wf0 .datepicker').datepicker({
dateFormat: '@'
,altField: "#69Wf0 .altFormat", altFormat: "yy-mm-dd"
,changeMonth: 1
,changeYear: 1
示例6: bootstrap
static function bootstrap($name)
{
// include libs
$whichend = is_backend() ? 'backend' : 'frontend';
// jquery-ui
if (!Asset::checkAssetAdded('jquery-ui', 'js', $whichend)) {
$js = "<script src='" . uri('libraries/jquery-ui/jquery-ui.min.js', false) . "'></script>";
Asset::addDynamicAsset('jquery-ui', 'js', $whichend, $js);
}
if (!Asset::checkAssetAdded('jquery-ui', 'css', $whichend)) {
$js = "<link rel=\"stylesheet\" href=\"" . uri('libraries/jquery-ui/jquery-ui.theme.min.css', false) . "\">\n";
$js .= " <link rel=\"stylesheet\" href=\"" . uri('libraries/jquery-ui/jquery-ui.structure.min.css', false) . "\">";
Asset::addDynamicAsset('jquery-ui', 'css', $whichend, $js);
}
// plupload
if (!Asset::checkAssetAdded('plupload', 'js', $whichend)) {
$js = "<script type='text/javascript' src='" . uri('libraries/plupload/js/plupload.full.min.js', false) . "'></script>";
Asset::addDynamicAsset('plupload', 'js', $whichend, $js);
}
// plupload queue js
if (!Asset::checkAssetAdded('plupload_queue', 'js', $whichend)) {
$js = "<script type='text/javascript' src='" . uri('libraries/plupload/js/jquery.plupload.queue/jquery.plupload.queue.min.js', false) . "'></script>";
Asset::addDynamicAsset('plupload_queue', 'js', $whichend, $js);
}
// plupload queue css
if (!Asset::checkAssetAdded('plupload_queue', 'css', $whichend)) {
$css = "<link type='text/css' rel='stylesheet' href='" . uri('libraries/plupload/js/jquery.plupload.queue/css/jquery.plupload.queue.css') . "' media='screen' />";
Asset::addDynamicAsset('plupload_queue', 'css', $whichend, $css);
}
// plupload language js
if (!Asset::checkAssetAdded('plupload_i18n', 'js', $whichend)) {
$js = "<script type='text/javascript' src='" . uri('libraries/plupload') . "/js/i18n/" . (get_language() == 'zh' ? 'zh_CN' : 'en') . ".js'></script>";
Asset::addDynamicAsset('plupload_i18n', 'js', $whichend, $js);
}
// plupload markup css
if (!Asset::checkAssetAdded('plupload_markup', 'css', $whichend)) {
$css = '<!-- plupload markup style -->
<style>
.file-container {height:auto;border:none;box-shadow:none;list-style:none;}
.file-container:after {content:" ";display:table;clear:both;*zoom: 1;}
.uploaded-file {margin-bottom:5px;margin-right:5px;float:left;padding:2px;border:1px solid #DDD;width:85px;height:110px;background-color:#FFF;}
.uploaded-file a {display:block;width:80px;height:80px;overflow:hidden;color:#666;text-align:center;line-height:80px;}
.uploaded-file button {display:block;width:80px;height:20px;text-align:center;margin-top:3px;}
</style>';
Asset::addDynamicAsset('plupload_markup', 'css', $whichend, $css);
}
// plupload markup js
if (!Asset::checkAssetAdded('plupload_markup', 'js', $whichend)) {
$js = '<!-- js functions for plupload file widget -->
<script type="text/javascript">
function textareaToFilelist(textarea, max_file_number) {
// build the list
textarea.hide();
var formGroup = textarea.parents(\'.form-group\').first();
var content = jQuery.trim(textarea.val());;
var files = content.split("\\n");
// remove and rebuild file container
$(\'.file-container\', formGroup).remove();
var container = $(\'<ul class="form-control file-container"></ul>\');
for (i in files) {
var file = files[i];
if (file == \'\') {
break;
}
// get file name
var tokens = file.split(\'/\');
var fileName = tokens[tokens.length-1];
var cell = \'\';
tokens = fileName.split(\'.\');
var extension = tokens[tokens.length-1];
var extension_icon = \'\';
switch (extension.toLowerCase()) {
case \'doc\':
case \'docx\':
extension_icon = \'word\'; break;
case \'pdf\':
extension_icon = \'pdf\'; break;
case \'txt\':
extension_icon = \'text\'; break;
case \'csv\':
case \'xls\':
extension_icon = \'excel\'; break;
case \'zip\':
case \'rar\':
extension_icon = \'archive\'; break;
case \'mp3\':
extension_icon = \'audio\'; break;
case \'mp4\':
case \'flv\':
extension_icon = \'video\'; break;
}
extension_icon = \'<i class="fa fa-file-\'+extension_icon+\'-o"></i>\';
if (tokens[tokens.length-1].match(/(jpg|jpeg|png|gif)/i)) {
cell = \'<a style="background:#EEE url(\'+"/"+site.settings.subroot+(site.settings.subroot == "" ? "" : "/")+file+\') center no-repeat;background-size:contain" target=_blank href="\'+"/"+site.settings.subroot+(site.settings.subroot == "" ? "" : "/")+file+\'"></a>\';
} else {
//.........这里部分代码省略.........