parent
a667212d82
commit
97fb308583
@ -0,0 +1,68 @@ |
||||
<?php |
||||
/* For licensing terms, see /license.txt */ |
||||
/** |
||||
* Show information about Mozilla OpenBadges |
||||
* @author Angel Fernando Quiroz Campos <angel.quiroz@beeznest.com> |
||||
* @package chamilo.admin.openbadges |
||||
*/ |
||||
$cidReset = true; |
||||
|
||||
require_once '../../inc/global.inc.php'; |
||||
require_once '../../inc/lib/fileUpload.lib.php'; |
||||
|
||||
$this_section = SECTION_PLATFORM_ADMIN; |
||||
|
||||
$skillId = intval($_GET['id']); |
||||
|
||||
$objSkill = new Skill(); |
||||
$skill = $objSkill->get($skillId); |
||||
|
||||
if ($_SERVER['REQUEST_METHOD'] === 'POST') { |
||||
if ($_FILES['image']['error'] == 0) { |
||||
$dirPermissions = api_get_permissions_for_new_directories(); |
||||
$sysCodePath = api_get_path(SYS_CODE_PATH); |
||||
|
||||
$fileDir = "upload/data/badges/"; |
||||
$fileName = sha1($_POST['name']) . ".png"; |
||||
|
||||
if (!file_exists($sysCodePath . $fileDir)) { |
||||
mkdir($sysCodePath . $fileDir, $dirPermissions, true); |
||||
} |
||||
|
||||
if ($_FILES['image']['error'] == 0) { |
||||
unlink($sysCodePath . $skill['info']); |
||||
|
||||
$imageExtraField = new Image($_FILES['image']['tmp_name']); |
||||
$imageExtraField->send_image($sysCodePath . $fileDir . $fileName, -1, 'png'); |
||||
} |
||||
} |
||||
|
||||
$params = array( |
||||
'name' => $_POST['name'], |
||||
'description' => $_POST['description'], |
||||
'icon' => $fileDir . $fileName, |
||||
'criteria' => $_POST['criteria'], |
||||
'id' => $skillId |
||||
); |
||||
|
||||
$objSkill->update($params); |
||||
} |
||||
|
||||
$interbreadcrumb = array( |
||||
array( |
||||
'url' => api_get_path(WEB_CODE_PATH) . 'admin/index.php', |
||||
'name' => get_lang('Administration') |
||||
), |
||||
array( |
||||
'url' => api_get_path(WEB_CODE_PATH) . 'admin/openbadges/index.php', |
||||
'name' => get_lang('OpenBadges') |
||||
) |
||||
); |
||||
|
||||
$tpl = new Template('CreateOpenBadge'); |
||||
$tpl->assign('platformAdminEmail', get_setting('emailAdministrator')); |
||||
$tpl->assign('skill', $skill); |
||||
|
||||
$contentTemplate = $tpl->get_template('openbadges/create.tpl'); |
||||
|
||||
$tpl->display($contentTemplate); |
||||
@ -0,0 +1,25 @@ |
||||
<?php |
||||
/* For licensing terms, see /license.txt */ |
||||
/** |
||||
* Show information about Mozilla OpenBadges |
||||
* @author Angel Fernando Quiroz Campos <angel.quiroz@beeznest.com> |
||||
* @package chamilo.admin.openbadges |
||||
*/ |
||||
$cidReset = true; |
||||
|
||||
require_once '../../inc/global.inc.php'; |
||||
|
||||
$this_section = SECTION_PLATFORM_ADMIN; |
||||
|
||||
$interbreadcrumb = array( |
||||
array( |
||||
'url' => api_get_path(WEB_CODE_PATH) . 'admin/index.php', |
||||
'name' => get_lang('Administration') |
||||
) |
||||
); |
||||
|
||||
$tpl = new Template('OpenBadges'); |
||||
|
||||
$contentTemplate = $tpl->get_template('openbadges/index.tpl'); |
||||
|
||||
$tpl->display($contentTemplate); |
||||
@ -0,0 +1,29 @@ |
||||
<?php |
||||
/* For licensing terms, see /license.txt */ |
||||
/** |
||||
* Show information about Mozilla OpenBadges |
||||
* @author Angel Fernando Quiroz Campos <angel.quiroz@beeznest.com> |
||||
* @package chamilo.admin.openbadges |
||||
*/ |
||||
$cidReset = true; |
||||
|
||||
require_once '../../inc/global.inc.php'; |
||||
|
||||
$this_section = SECTION_PLATFORM_ADMIN; |
||||
|
||||
$interbreadcrumb = array( |
||||
array( |
||||
'url' => api_get_path(WEB_CODE_PATH) . 'admin/index.php', |
||||
'name' => get_lang('Administration') |
||||
), |
||||
array( |
||||
'url' => api_get_path(WEB_CODE_PATH) . 'admin/openbadges/index.php', |
||||
'name' => get_lang('OpenBadges') |
||||
) |
||||
); |
||||
|
||||
$tpl = new Template('OpenBadges'); |
||||
|
||||
$contentTemplate = $tpl->get_template('openbadges/issuer.tpl'); |
||||
|
||||
$tpl->display($contentTemplate); |
||||
@ -0,0 +1,109 @@ |
||||
{% extends "default/layout/main.tpl" %} |
||||
|
||||
{% block body %} |
||||
<script> |
||||
(function () { |
||||
var designer = null; |
||||
|
||||
$(document).on('ready', function () { |
||||
$('#btn-open-designer').on('click', function (e) { |
||||
e.preventDefault(); |
||||
|
||||
var designerUrl = 'https://www.openbadges.me/designer.html?origin={{ _p.web }}'; |
||||
designerUrl = designerUrl + '&email={{ platformAdminEmail }}'; |
||||
designerUrl = designerUrl + '&close=true'; |
||||
designerUrl = designerUrl + '&hidePublish=true'; |
||||
|
||||
var windowOptions = 'width=1200,height=680,location=0,menubar=0,status=0,toolbar=0'; |
||||
designer = window.open(designerUrl, '', windowOptions); |
||||
}); |
||||
|
||||
$('#image').on('change', function () { |
||||
var self = this; |
||||
|
||||
if (self.files.length > 0) { |
||||
var image = self.files[0]; |
||||
|
||||
if (!image.type.match(/image.*/)) { |
||||
return; |
||||
} |
||||
|
||||
var fileReader = new FileReader(); |
||||
fileReader.onload = function (e) { |
||||
$('#badge-preview').attr('src', e.target.result); |
||||
$('#badge-container').removeClass('hide'); |
||||
}; |
||||
fileReader.readAsDataURL(image); |
||||
} |
||||
}); |
||||
}); |
||||
})(); |
||||
</script> |
||||
<div class="span12"> |
||||
<h1 class="page-header">{{ 'Badges' | get_lang }}</h1> |
||||
<ul class="nav nav-tabs"> |
||||
<li> |
||||
<a href="{{ _p.web_main }}admin/openbadges/index.php">{{ 'Home' | get_lang }}</a> |
||||
</li> |
||||
<li> |
||||
<a href="{{ _p.web_main }}admin/openbadges/issuer.php">{{ 'IssuerInfo' | get_lang }}</a> |
||||
</li> |
||||
<li> |
||||
<a href="{{ _p.web_main }}admin/openbadges/list.php">{{ 'Skills' | get_lang }}</a> |
||||
</li> |
||||
<li class="active"> |
||||
<a href="{{ _p.web_main }}admin/openbadges/create.php">{{ 'Edit' | get_lang }}</a> |
||||
</li> |
||||
</ul> |
||||
<div class="tab-content"> |
||||
<div class="tab-pane active"> |
||||
<div class="row"> |
||||
<div class="span3"> |
||||
<p>Design a new badge. Download from the design tool. And Upload in your platform.</p> |
||||
<p> |
||||
<button id="btn-open-designer" class="btn btn-info btn-large btn-block" type="button">{{ 'DesignNewBadge' | get_lang }}</button> |
||||
</p> |
||||
<hr> |
||||
<div class="well well-small {{ skill.icon ? '' : 'hide' }}" id="badge-container"> |
||||
<img id="badge-preview" alt="{{ 'BadgePreview' | get_lang }}" src="{{ skill.icon ? [_p.web_main, skill.icon] | join('') : '' }}"> |
||||
</div> |
||||
</div> |
||||
<div class="span9"> |
||||
<form action="{{ _p.web_self_query_vars }}" class="form-horizontal" method="post" enctype="multipart/form-data"> |
||||
<fieldset> |
||||
<legend>{{ 'SkillInfo' | get_lang }}</legend> |
||||
<div class="control-group"> |
||||
<label class="control-label" for="name">{{ 'Name' | get_lang }}</label> |
||||
<div class="controls"> |
||||
<input type="text" name="name" id="name" class="input-xxlarge" value="{{ skill.name }}"> |
||||
</div> |
||||
</div> |
||||
<div class="control-group"> |
||||
<label class="control-label" for="name">{{ 'Description' | get_lang }}</label> |
||||
<div class="controls"> |
||||
<textarea name="description" id="description" class="input-xxlarge" rows="4">{{ skill.description }}</textarea> |
||||
</div> |
||||
</div> |
||||
<div class="control-group"> |
||||
<label class="control-label" for="image">{{ 'Image' | get_lang }}</label> |
||||
<div class="controls"> |
||||
<input type="file" name="image" id="image" class="input-xxlarge" accept="image/*"> |
||||
</div> |
||||
</div> |
||||
<div class="control-group"> |
||||
<label class="control-label" for="criteria">{{ 'Criteria' | get_lang }}</label> |
||||
<div class="controls"> |
||||
<textarea name="criteria" id="criteria" class="input-xxlarge" rows="10">{{ skill.criteria }}</textarea> |
||||
</div> |
||||
</div> |
||||
</fieldset> |
||||
<div class="form-actions"> |
||||
<button type="submit" class="btn btn-primary">{{ 'Create'| get_lang }}</button> |
||||
</div> |
||||
</form> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
{% endblock %} |
||||
@ -0,0 +1,32 @@ |
||||
{% extends "default/layout/main.tpl" %} |
||||
|
||||
{% block body %} |
||||
<div class="span12"> |
||||
<h1 class="page-header">{{ 'Badges' | get_lang }}</h1> |
||||
<ul class="nav nav-tabs"> |
||||
<li class="active"> |
||||
<a href="{{ _p.web_main }}admin/openbadges/index.php">{{ 'Home' | get_lang }}</a> |
||||
</li> |
||||
<li> |
||||
<a href="{{ _p.web_main }}admin/openbadges/issuer.php">{{ 'IssuerInfo' | get_lang }}</a> |
||||
</li> |
||||
<li> |
||||
<a href="{{ _p.web_main }}admin/openbadges/list.php">{{ 'Skills' | get_lang }}</a> |
||||
</li> |
||||
<li> |
||||
<a href="{{ _p.web_main }}admin/openbadges/create.php">{{ 'Edit' | get_lang }}</a> |
||||
</li> |
||||
</ul> |
||||
<div class="tab-content"> |
||||
<div class="tab-pane active"> |
||||
<div class="hero-unit"> |
||||
<h1>Introducing Open Badges</h1> |
||||
<p class="lead">A new online standard to recognize and verify learning</p> |
||||
<p class="lead"> |
||||
<a href="http://openbadges.org/">http://openbadges.org/</a> |
||||
</p> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
{% endblock %} |
||||
@ -0,0 +1,42 @@ |
||||
{% extends "default/layout/main.tpl" %} |
||||
|
||||
{% block body %} |
||||
<div class="span12"> |
||||
<h1 class="page-header">{{ 'Badges' | get_lang }}</h1> |
||||
<ul class="nav nav-tabs"> |
||||
<li> |
||||
<a href="{{ _p.web_main }}admin/openbadges/index.php">{{ 'Home' | get_lang }}</a> |
||||
</li> |
||||
<li class="active"> |
||||
<a href="{{ _p.web_main }}admin/openbadges/issuer.php">{{ 'IssuerInfo' | get_lang }}</a> |
||||
</li> |
||||
<li> |
||||
<a href="{{ _p.web_main }}admin/openbadges/list.php">{{ 'Skills' | get_lang }}</a> |
||||
</li> |
||||
<li> |
||||
<a href="{{ _p.web_main }}admin/openbadges/create.php">{{ 'Edit' | get_lang }}</a> |
||||
</li> |
||||
</ul> |
||||
<div class="tab-content"> |
||||
<div class="tab-pane active"> |
||||
<form action="{{ _p.web_self }}" class="form-horizontal"> |
||||
<fieldset> |
||||
<legend>{{ 'IssuerInfo' | get_lang }}</legend> |
||||
<div class="control-group"> |
||||
<label class="control-label">{{ 'Name' | get_lang }}</label> |
||||
<div class="controls"> |
||||
<span class="uneditable-input input-xxlarge">{{ _s.institution }}</span> |
||||
</div> |
||||
</div> |
||||
<div class="control-group"> |
||||
<label class="control-label">{{ 'URL' | get_lang }}</label> |
||||
<div class="controls"> |
||||
<span class="uneditable-input input-xxlarge">{{ _p.web }}</span> |
||||
</div> |
||||
</div> |
||||
</fieldset> |
||||
</form> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
{% endblock %} |
||||
|
After Width: | Height: | Size: 7.5 KiB |
Loading…
Reference in new issue