Partial merge with 1.11.x see BT#15952

pull/3063/head
Julio Montoya 6 years ago
parent c2b5967e40
commit bafa79d99c
  1. 146
      main/exercise/category.php
  2. BIN
      main/img/icons/128/1day.png
  3. BIN
      main/img/icons/128/certificate.png
  4. BIN
      main/img/icons/128/embedregistry.png
  5. BIN
      main/img/icons/128/embedregistry_na.png
  6. BIN
      main/img/icons/128/import_calendar.png
  7. BIN
      main/img/icons/128/week.png
  8. BIN
      main/img/icons/22/bar_progress.png
  9. BIN
      main/img/icons/22/hotspot-delineation.png
  10. BIN
      main/img/icons/22/icon_check.png
  11. BIN
      main/img/icons/22/icon_error.png
  12. BIN
      main/img/icons/22/new_user.png
  13. BIN
      main/img/icons/32/embedregistry.png
  14. BIN
      main/img/icons/48/1day.png
  15. BIN
      main/img/icons/48/calendar.png
  16. BIN
      main/img/icons/48/embedregistry.png
  17. BIN
      main/img/icons/48/embedregistry_na.png
  18. BIN
      main/img/icons/48/import_calendar.png
  19. BIN
      main/img/icons/64/1day.png
  20. BIN
      main/img/icons/64/calendar.png
  21. BIN
      main/img/icons/64/embedregistry.png
  22. BIN
      main/img/icons/64/embedregistry_na.png
  23. BIN
      main/img/icons/64/import_calendar.png
  24. BIN
      main/img/icons/64/week.png
  25. 836
      main/img/icons/svg/1day.svg
  26. 317
      main/img/icons/svg/embedregistry.svg
  27. 533
      main/img/icons/svg/embedregistry_na.svg
  28. 618
      main/inc/lib/Compilatio.php
  29. 268
      main/inc/lib/ExerciseCategoryManager.php

@ -0,0 +1,146 @@
<?php
/* For licensing terms, see /license.txt */
require_once __DIR__.'/../inc/global.inc.php';
if (api_get_configuration_value('allow_exercise_categories') === false) {
api_not_allowed();
}
api_protect_course_script();
if (!api_is_allowed_to_edit()) {
api_not_allowed(true);
}
$interbreadcrumb[] = [
'url' => api_get_path(WEB_CODE_PATH).'exercise/exercise.php?'.api_get_cidreq(),
'name' => get_lang('Exercises'),
];
$courseId = api_get_course_int_id();
$url = api_get_path(WEB_AJAX_PATH).'model.ajax.php?a=get_exercise_categories&c_id='.$courseId.'&'.api_get_cidreq();
$action = isset($_GET['action']) ? Security::remove_XSS($_GET['action']) : '';
$obj = new ExerciseCategoryManager();
$check = Security::check_token('request');
$token = Security::get_token();
//Add the JS needed to use the jqgrid
$htmlHeadXtra[] = api_get_jqgrid_js();
//The order is important you need to check the the $column variable in the model.ajax.php file
$columns = [
get_lang('Name'),
get_lang('Actions'),
];
// Column config
$column_model = [
[
'name' => 'name',
'index' => 'name',
'width' => '140',
'align' => 'left',
],
[
'name' => 'actions',
'index' => 'actions',
'width' => '40',
'align' => 'left',
'formatter' => 'action_formatter',
'sortable' => 'false',
],
];
// Autowidth
$extra_params['autowidth'] = 'true';
// height auto
$extra_params['height'] = 'auto';
$action_links = $obj->getJqgridActionLinks($token);
$htmlHeadXtra[] = '<script>
$(function() {
// grid definition see the $obj->display() function
'.Display::grid_js(
'categories',
$url,
$columns,
$column_model,
$extra_params,
[],
$action_links,
true
).'
});
</script>';
$url = api_get_self().'?'.api_get_cidreq();
switch ($action) {
case 'add':
$interbreadcrumb[] = ['url' => $url, 'name' => get_lang('Categories')];
$interbreadcrumb[] = ['url' => '#', 'name' => get_lang('Add')];
$form = $obj->return_form($url.'&action=add', 'add');
// The validation or display
if ($form->validate()) {
$values = $form->exportValues();
unset($values['id']);
$res = $obj->save($values);
if ($res) {
Display::addFlash(Display::return_message(get_lang('ItemAdded'), 'confirmation'));
}
header('Location: '.$url);
exit;
} else {
$content = '<div class="actions">';
$content .= '<a href="'.$url.'">'.
Display::return_icon('back.png', get_lang('Back'), '', ICON_SIZE_MEDIUM).'</a>';
$content .= '</div>';
$form->addElement('hidden', 'sec_token');
$form->setConstants(['sec_token' => $token]);
$content .= $form->returnForm();
}
break;
case 'edit':
$interbreadcrumb[] = ['url' => $url, 'name' => get_lang('Categories')];
$interbreadcrumb[] = ['url' => '#', 'name' => get_lang('Edit')];
$form = $obj->return_form($url.'&action=edit&id='.intval($_GET['id']), 'edit');
// The validation or display
if ($form->validate()) {
$values = $form->exportValues();
$res = $obj->update($values);
if ($res) {
Display::addFlash(Display::return_message(get_lang('ItemUpdated'), 'confirmation'));
}
header('Location: '.$url);
exit;
} else {
$content = '<div class="actions">';
$content .= '<a href="'.$url.'">'.
Display::return_icon('back.png', get_lang('Back'), '', ICON_SIZE_MEDIUM).'</a>';
$content .= '</div>';
$form->addElement('hidden', 'sec_token');
$form->setConstants(['sec_token' => $token]);
$content .= $form->returnForm();
}
break;
case 'delete':
$res = $obj->delete($_GET['id']);
if ($res) {
Display::addFlash(Display::return_message(get_lang('ItemDeleted'), 'confirmation'));
}
header('Location: '.$url);
exit;
break;
default:
$content = $obj->display();
break;
}
Display::display_header();
echo $content;

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 377 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 396 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

@ -0,0 +1,836 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="128"
height="128"
viewBox="0 0 33.866666 33.866666"
version="1.1"
id="svg2105"
inkscape:version="0.92.3 (2405546, 2018-03-11)"
sodipodi:docname="1day.svg">
<defs
id="defs2099">
<linearGradient
id="linearGradient3596">
<stop
id="stop3598"
style="stop-color:#0035ed;stop-opacity:1"
offset="0" />
<stop
id="stop3615"
style="stop-color:#1c7eff;stop-opacity:1"
offset="0.55445766" />
<stop
id="stop3600"
style="stop-color:#98cbff;stop-opacity:1"
offset="1" />
</linearGradient>
<linearGradient
id="linearGradient3585">
<stop
id="stop3587"
style="stop-color:#00008d;stop-opacity:1"
offset="0" />
<stop
id="stop3589"
style="stop-color:#0048b7;stop-opacity:1"
offset="1" />
</linearGradient>
<linearGradient
id="linearGradient3607">
<stop
id="stop3609"
style="stop-color:#f9fbff;stop-opacity:1"
offset="0" />
<stop
id="stop3611"
style="stop-color:#62aaff;stop-opacity:1"
offset="1" />
</linearGradient>
<linearGradient
gradientUnits="userSpaceOnUse"
y2="177.7674"
x2="538.5025"
y1="262.72919"
x1="629.28149"
id="linearGradient4274"
xlink:href="#linearGradient4268"
inkscape:collect="always"
gradientTransform="matrix(0.11572517,0,0,0.11572517,54.643083,115.94236)" />
<linearGradient
id="linearGradient4268"
inkscape:collect="always">
<stop
id="stop4270"
offset="0"
style="stop-color:#002255;stop-opacity:1;" />
<stop
id="stop4272"
offset="1"
style="stop-color:#426291;stop-opacity:1" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3617"
id="linearGradient1985"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.11572517,0,0,0.11572517,118.32549,139.06309)"
x1="66.259003"
y1="7.8641"
x2="66.259003"
y2="88.929001" />
<linearGradient
x1="66.259003"
y1="7.8641"
x2="66.259003"
gradientUnits="userSpaceOnUse"
y2="88.929001"
id="linearGradient3617">
<stop
offset="0"
stop-color="#010000"
id="stop3307" />
<stop
offset=".73611"
stop-color="#411000"
id="stop3352" />
<stop
offset="1"
stop-color="#822000"
id="stop3309" />
</linearGradient>
<linearGradient
x1="598.17999"
y1="290.64999"
gradientTransform="matrix(0.11572517,0,0,0.11572517,54.642566,115.94236)"
x2="598.17999"
gradientUnits="userSpaceOnUse"
xlink:href="#linearGradient3439"
y2="319.60999"
id="linearGradient3881" />
<linearGradient
id="linearGradient3439">
<stop
offset="0"
stop-color="#824623"
id="stop3441" />
<stop
offset=".5"
stop-color="#672412"
id="stop3443" />
<stop
offset="1"
stop-opacity=".99608"
stop-color="#420804"
id="stop3445" />
</linearGradient>
<linearGradient
x1="612.31"
y1="303.39999"
x2="612.31"
gradientUnits="userSpaceOnUse"
y2="299.60999"
id="linearGradient3878"
gradientTransform="matrix(0.11572517,0,0,0.11572517,54.643083,115.94236)">
<stop
offset="0"
stop-color="#712717"
id="stop3505" />
<stop
offset="1"
stop-color="#76351b"
id="stop3507" />
</linearGradient>
<linearGradient
x1="598.17999"
y1="290.64999"
gradientTransform="matrix(-0.11572517,0,0,0.11572517,197.7604,115.94236)"
x2="598.17999"
gradientUnits="userSpaceOnUse"
xlink:href="#linearGradient3439"
y2="319.60999"
id="linearGradient3875" />
<linearGradient
x1="622.04999"
y1="301.88"
gradientTransform="matrix(0.11572517,0,0,0.11572517,54.643083,116.05808)"
x2="622.04999"
gradientUnits="userSpaceOnUse"
xlink:href="#linearGradient3431"
y2="299.04001"
id="linearGradient3870" />
<linearGradient
id="linearGradient3431">
<stop
offset="0"
stop-color="#c96905"
id="stop3433" />
<stop
offset="1"
stop-color="#d6902a"
id="stop3435" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3511"
id="linearGradient1987"
gradientUnits="userSpaceOnUse"
x1="617.44"
y1="302.66"
x2="617.44"
y2="299.45001"
gradientTransform="matrix(0.11572517,0,0,0.11572517,54.643083,115.94236)" />
<linearGradient
id="linearGradient3511">
<stop
offset="0"
stop-color="#813d20"
id="stop3513" />
<stop
offset="1"
stop-color="#7f4621"
id="stop3515" />
</linearGradient>
<linearGradient
x1="622.04999"
y1="295.54999"
gradientTransform="matrix(0.11572517,0,0,0.11572517,54.643083,116.05808)"
x2="622.04999"
gradientUnits="userSpaceOnUse"
xlink:href="#linearGradient3551"
y2="299.34"
id="linearGradient3865" />
<linearGradient
id="linearGradient3551">
<stop
offset="0"
id="stop3553" />
<stop
offset="1"
stop-opacity="0"
stop-color="#6f382e"
id="stop3557" />
</linearGradient>
<linearGradient
x1="583.47998"
y1="315.81"
gradientTransform="matrix(0.11572517,0,0,0.11572517,54.642566,115.94236)"
x2="583.47998"
gradientUnits="userSpaceOnUse"
xlink:href="#linearGradient3431"
y2="297.04999"
id="linearGradient3860" />
<linearGradient
x1="597.52002"
y1="290.62"
gradientTransform="matrix(0.11572517,0,0,0.11572517,54.654947,115.94236)"
x2="597.52002"
gradientUnits="userSpaceOnUse"
xlink:href="#linearGradient3405"
y2="318.35001"
id="linearGradient3862" />
<linearGradient
id="linearGradient3405">
<stop
offset="0"
stop-color="#672b27"
id="stop3407" />
<stop
offset=".5"
stop-color="#712913"
id="stop3413" />
<stop
offset="1"
stop-opacity=".98431"
stop-color="#620000"
id="stop3409" />
</linearGradient>
<linearGradient
x1="583.47998"
y1="315.81"
gradientTransform="matrix(-0.11572517,0,0,0.11572517,197.7604,115.94236)"
x2="583.47998"
gradientUnits="userSpaceOnUse"
xlink:href="#linearGradient3431"
y2="297.04999"
id="linearGradient3855" />
<linearGradient
x1="597.52002"
y1="290.62"
gradientTransform="matrix(-0.11572517,0,0,0.11572517,197.74883,115.94236)"
x2="597.52002"
gradientUnits="userSpaceOnUse"
xlink:href="#linearGradient3405"
y2="318.35001"
id="linearGradient3857" />
<linearGradient
x1="599.37"
y1="285.39999"
gradientTransform="matrix(0.11572517,0,0,0.11572517,54.642566,115.94236)"
x2="599.37"
gradientUnits="userSpaceOnUse"
xlink:href="#linearGradient3551"
y2="297.60001"
id="linearGradient3850" />
<linearGradient
x1="597.52002"
y1="290.62"
gradientTransform="matrix(0.11572517,0,0,0.11572517,54.654947,115.94236)"
x2="597.52002"
gradientUnits="userSpaceOnUse"
xlink:href="#linearGradient3579"
y2="318.35001"
id="linearGradient3852" />
<linearGradient
id="linearGradient3579">
<stop
offset="0"
stop-color="#672b27"
id="stop3581" />
<stop
offset=".5"
stop-color="#712913"
id="stop3583" />
<stop
offset="1"
stop-color="#965e26"
id="stop3585" />
</linearGradient>
<linearGradient
x1="599.37"
y1="285.39999"
gradientTransform="matrix(-0.11572517,0,0,0.11572517,197.72568,115.94236)"
x2="599.37"
gradientUnits="userSpaceOnUse"
xlink:href="#linearGradient3551"
y2="297.60001"
id="linearGradient3845" />
<linearGradient
x1="597.52002"
y1="290.62"
gradientTransform="matrix(-0.11572517,0,0,0.11572517,197.71411,115.94236)"
x2="597.52002"
gradientUnits="userSpaceOnUse"
xlink:href="#linearGradient3579"
y2="318.35001"
id="linearGradient3847" />
<linearGradient
gradientTransform="matrix(0.11572517,0,0,0.11572517,118.32549,139.06309)"
x1="111.23"
y1="13.656"
x2="111.23"
gradientUnits="userSpaceOnUse"
y2="80.616997"
id="linearGradient3990">
<stop
offset="0"
stop-opacity=".36078"
stop-color="#fff"
id="stop3986" />
<stop
offset="1"
stop-opacity=".086275"
stop-color="#fff"
id="stop3988" />
</linearGradient>
<linearGradient
x1="570.70001"
y1="284.79001"
x2="668.25"
gradientUnits="userSpaceOnUse"
y2="284.79001"
id="linearGradient3376"
gradientTransform="matrix(0.11572517,0,0,0.11572517,54.643083,115.94236)">
<stop
offset="0"
stop-color="#d68c23"
id="stop3380" />
<stop
offset=".5"
stop-color="#c66100"
id="stop3392" />
<stop
offset="1"
stop-color="#6f382e"
id="stop3382" />
</linearGradient>
<linearGradient
x1="568.19"
y1="280.44"
x2="668.92999"
gradientUnits="userSpaceOnUse"
y2="280.44"
id="linearGradient3390"
gradientTransform="matrix(0.11572517,0,0,0.11572517,54.643083,115.94236)">
<stop
offset="0"
stop-color="#d5801f"
id="stop3386" />
<stop
offset=".5"
stop-color="#993a1b"
id="stop3394" />
<stop
offset="1"
stop-color="#78413e"
id="stop3388" />
</linearGradient>
<linearGradient
x1="568.28998"
y1="285.39999"
x2="669.90997"
gradientUnits="userSpaceOnUse"
y2="285.39999"
id="linearGradient3613"
gradientTransform="matrix(0.11572517,0,0,0.11572517,54.643083,115.94236)">
<stop
offset="0"
stop-opacity=".50196"
stop-color="#fff"
id="stop3609-2" />
<stop
offset="1"
stop-opacity=".36078"
stop-color="#fff"
id="stop3611-9" />
</linearGradient>
<linearGradient
x1="568.66998"
y1="289.29001"
x2="668"
gradientUnits="userSpaceOnUse"
y2="289.29001"
id="linearGradient3654"
gradientTransform="matrix(0.11572517,0,0,0.11572517,54.643083,115.94236)">
<stop
offset="0"
stop-color="#811f00"
id="stop3625" />
<stop
offset=".5"
stop-color="#5d0003"
id="stop3631" />
<stop
offset="1"
stop-color="#811f00"
id="stop3627" />
</linearGradient>
<filter
id="filter3834">
<feGaussianBlur
stdDeviation="0.38432455"
id="feGaussianBlur3836" />
</filter>
<linearGradient
x1="41.167"
y1="113.08"
gradientTransform="matrix(0.05990629,0.0990133,-0.0990133,0.05990629,128.21305,136.40604)"
x2="41.167"
gradientUnits="userSpaceOnUse"
y2="71.686996"
id="linearGradient3814">
<stop
offset="0"
stop-color="#c8c8d8"
id="stop3697" />
<stop
offset="1"
stop-color="#fbfbfc"
id="stop3699" />
</linearGradient>
<filter
height="1.0621001"
x="-0.38163"
width="1.7632999"
y="-0.031029001"
id="filter3772">
<feGaussianBlur
stdDeviation="0.58138587"
id="feGaussianBlur3774" />
</filter>
<linearGradient
x1="45.798"
y1="113.08"
gradientTransform="matrix(0.05990629,0.0990133,-0.0990133,0.05990629,128.21305,136.40604)"
x2="45.798"
gradientUnits="userSpaceOnUse"
y2="64.410004"
id="linearGradient3810">
<stop
offset="0"
stop-color="#5a5a6b"
id="stop3685" />
<stop
offset=".5"
stop-color="#837e97"
id="stop3691" />
<stop
offset=".75"
stop-color="#9192a7"
id="stop3693" />
<stop
offset="1"
stop-color="#8780a4"
id="stop3687" />
</linearGradient>
<linearGradient
gradientTransform="matrix(0.11572517,0,0,0.11572517,118.32549,139.06309)"
x1="27.965"
y1="10.75"
x2="27.965"
gradientUnits="userSpaceOnUse"
y2="55.842999"
id="linearGradient3980">
<stop
offset="0"
stop-opacity=".36078"
stop-color="#fff"
id="stop3976" />
<stop
offset="1"
stop-opacity="0"
stop-color="#fff"
id="stop3978" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3617"
id="linearGradient3578"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.11572517,0,0,0.11572517,118.32549,139.06309)"
x1="66.259003"
y1="7.8641"
x2="66.259003"
y2="88.929001" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3511"
id="linearGradient3580"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.11572517,0,0,0.11572517,54.643083,115.94236)"
x1="617.44"
y1="302.66"
x2="617.44"
y2="299.45001" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.7787087"
inkscape:cx="95.401696"
inkscape:cy="4.6728691"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
units="px"
inkscape:window-width="1920"
inkscape:window-height="1052"
inkscape:window-x="1366"
inkscape:window-y="0"
inkscape:window-maximized="1" />
<metadata
id="metadata2102">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Capa 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-263.13334)">
<g
transform="translate(-126.32224,160.74601)"
id="g3077"
inkscape:export-filename="/var/www/chamilo/main/img/icons/128/1day.png"
inkscape:export-xdpi="96.000008"
inkscape:export-ydpi="96.000008">
<rect
y="102.38734"
x="126.32224"
height="33.866665"
width="33.866665"
id="rect1424"
style="opacity:0;fill:#5f9aaa;fill-opacity:1;stroke:none;stroke-width:2.03699636;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path
d="m 133.18846,107.41625 c -1.70728,0 -3.09122,1.39105 -3.09122,3.09122 v 21.63857 c 0,1.70017 1.38394,3.09122 3.09122,3.09122 h 9.27367 3.09123 9.27367 c 1.7079,0 3.09122,-1.39105 3.09122,-3.09122 v -21.63857 c 0,-1.70017 -1.38332,-3.09122 -3.09122,-3.09122 h -9.27367 -3.09123 z"
id="path1426"
inkscape:connector-curvature="0"
style="fill:#bdc3c7;stroke-width:0.26458332" />
<path
d="m 133.18846,105.87064 c -1.70728,0 -3.09122,1.38394 -3.09122,3.09122 v 21.63857 c 0,1.70789 1.38394,3.09122 3.09122,3.09122 h 9.27367 3.09123 9.27367 c 1.7079,0 3.09122,-1.38333 3.09122,-3.09122 v -21.63857 c 0,-1.70728 -1.38332,-3.09122 -3.09122,-3.09122 h -9.27367 -3.09123 z"
id="path1428"
inkscape:connector-curvature="0"
style="fill:#ecf0f1;stroke-width:0.26458332" />
<path
d="m 133.18846,105.87064 c -1.70728,0 -3.09122,1.38394 -3.09122,3.09122 v 4.63684 h 27.82101 v -4.63684 c 0,-1.70728 -1.38332,-3.09122 -3.09122,-3.09122 h -9.27367 -3.09123 z"
id="path1430"
inkscape:connector-curvature="0"
style="fill:#87aade;fill-opacity:1;stroke-width:0.26458332"
sodipodi:nodetypes="ssccssccs" />
<path
d="m 137.05249,109.73467 a 2.3184176,2.3184176 0 0 1 -4.63683,0 2.3184176,2.3184176 0 1 1 4.63683,0 z"
id="path1432"
inkscape:connector-curvature="0"
style="fill:#3771c8;fill-opacity:1;stroke-width:0.26458332" />
<path
d="m 134.73408,103.84581 c -0.85365,0 -1.54562,0.59649 -1.54562,1.33234 v 3.99699 c 0,0.73585 0.69197,1.33233 1.54562,1.33233 0.85364,0 1.54561,-0.59648 1.54561,-1.33233 v -3.99699 c 0,-0.73585 -0.69197,-1.33234 -1.54561,-1.33234 z"
id="path1434"
inkscape:connector-curvature="0"
style="fill:#bdc3c7;stroke-width:0.24565092" />
<path
d="m 155.59983,109.73467 a 2.3184176,2.3184176 0 0 1 -4.63683,0 2.3184176,2.3184176 0 1 1 4.63683,0 z"
id="path1436"
inkscape:connector-curvature="0"
style="fill:#3771c8;fill-opacity:1;stroke-width:0.26458332" />
<path
inkscape:connector-curvature="0"
id="path1438"
d="m 153.28142,103.84581 c -0.85318,0 -1.54562,0.53294 -1.54562,1.33234 v 3.99699 c 0,0.66617 0.69244,1.33233 1.54562,1.33233 0.85317,0 1.54561,-0.66616 1.54561,-1.33233 v -3.99699 c 0,-0.7994 -0.69244,-1.33234 -1.54561,-1.33234 z"
style="fill:#bdc3c7;stroke-width:0.24565092" />
<g
id="g1470"
transform="translate(75.247224,-1.5875)">
<path
style="fill:#6c5353;stroke:none;stroke-width:0.26458332;stroke-opacity:1"
d="m 57.94124,118.23553 v 3.09122 h 3.091224 v -3.09122 z"
id="path1440"
inkscape:connector-curvature="0" />
<path
style="fill:#ffffff;stroke:none;stroke-width:0.26458332;stroke-opacity:1"
d="m 62.578076,118.23553 v 3.09122 h 3.091223 v -3.09122 z"
id="path1442"
inkscape:connector-curvature="0" />
<path
style="fill:#d38d5f;stroke:none;stroke-width:0.26458332;stroke-opacity:1"
d="m 67.214911,118.23553 v 3.09122 h 3.091223 v -3.09122 z"
id="path1444"
inkscape:connector-curvature="0" />
<path
style="fill:#ffffff;stroke:none;stroke-width:0.26458332;stroke-opacity:1"
d="m 71.851746,118.23553 v 3.09122 h 3.091223 v -3.09122 z"
id="path1446"
inkscape:connector-curvature="0" />
<path
style="fill:#ffffff;stroke:none;stroke-width:0.26458332;stroke-opacity:1"
d="m 76.488581,118.23553 v 3.09122 h 3.091225 v -3.09122 z"
id="path1448"
inkscape:connector-curvature="0" />
<path
style="fill:#bdc3c7;stroke:none;stroke-width:0.26458332;stroke-opacity:1"
d="m 57.94124,122.87237 v 3.09122 h 3.091224 v -3.09122 z"
id="path1450"
inkscape:connector-curvature="0" />
<path
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-opacity:1"
d="m 62.578076,122.87237 v 3.09122 h 3.091223 v -3.09122 z"
id="path1452"
inkscape:connector-curvature="0" />
<path
style="fill:#ffffff;stroke:none;stroke-width:0.26458332;stroke-opacity:1"
d="m 67.214911,122.87237 v 3.09122 h 3.091223 v -3.09122 z"
id="path1454"
inkscape:connector-curvature="0" />
<path
style="fill:#ff7f2a;stroke:none;stroke-width:0.26458332;stroke-opacity:1"
d="m 71.851746,122.87237 v 3.09122 h 3.091223 v -3.09122 z"
id="path1456"
inkscape:connector-curvature="0" />
<path
style="fill:#ffffff;stroke:none;stroke-width:0.26458332;stroke-opacity:1"
d="m 76.488581,122.87237 v 3.09122 h 3.091225 v -3.09122 z"
id="path1458"
inkscape:connector-curvature="0" />
<path
style="fill:#bdc3c7;stroke-width:0.26458332"
d="m 57.94124,127.5092 v 3.09123 h 3.091224 v -3.09123 z"
id="path1460"
inkscape:connector-curvature="0" />
<path
style="fill:#ffffff;stroke:none;stroke-width:0.26458332;stroke-opacity:1"
d="m 62.578076,127.5092 v 3.09123 h 3.091223 v -3.09123 z"
id="path1462"
inkscape:connector-curvature="0" />
<path
style="fill:#ffffff;stroke:none;stroke-width:0.26458332;stroke-opacity:1"
d="m 67.214911,127.5092 v 3.09123 h 3.091223 v -3.09123 z"
id="path1464"
inkscape:connector-curvature="0" />
<path
style="fill:#ffffff;stroke:none;stroke-width:0.26458332;stroke-opacity:1"
d="m 71.851746,127.5092 v 3.09123 h 3.091223 v -3.09123 z"
id="path1466"
inkscape:connector-curvature="0" />
<path
style="fill:#ffdd55;stroke:none;stroke-width:0.26458332;stroke-opacity:1"
d="m 76.488581,127.5092 v 3.09123 h 3.091225 v -3.09123 z"
id="path1468"
inkscape:connector-curvature="0" />
</g>
<g
transform="translate(8.0852139,-17.10929)"
id="g2067">
<path
style="fill:#ffffff;fill-rule:evenodd;stroke-width:0.11572517"
inkscape:connector-curvature="0"
id="path3970"
d="m 131.32605,148.38857 0.11573,-0.004 -0.17706,-8.15377 v -0.004 c 0,0 0.0822,-0.0873 0.0822,-0.0873 0,1e-5 -0.14928,0.0327 -0.14928,0.0316 l -10.06219,0.0196 c -0.001,-1.1e-4 -0.003,-3.5e-4 -0.007,0 -0.002,2.3e-4 -0.008,-0.001 -0.0109,0 -0.002,5.8e-4 -0.002,0.002 -0.004,0.004 -0.002,10e-4 -0.007,0.004 -0.007,0.004 0,6e-5 -0.002,0.005 -0.004,0.007 -10e-4,0.002 -0.003,0.002 -0.004,0.004 -0.001,0.003 1.2e-4,0.009 0,0.0109 -4.6e-4,0.004 -1.1e-4,0.006 0,0.007 v 0.004 l -0.14107,8.15377 0.11573,0.004 0.14107,-8.08143 h 9.93396 z m -0.0613,-8.16105 c 0,-2.3e-4 0.001,0.002 0,-0.007 v -0.0109 c 0,-9e-5 -0.007,-0.007 -0.007,-0.007 0,-8e-5 -0.005,-0.006 -0.007,-0.007 -0.002,-0.001 -0.006,-0.003 -0.008,-0.004 -0.006,-0.002 -0.008,0 -0.0104,0 h -0.003 c 0.0185,0.0174 0.0359,0.0361 0.0359,0.0361 z" />
<path
inkscape:connector-curvature="0"
id="rect3354"
d="m 121.01263,140.04676 h 10.34351 c 0.0301,0 0.0544,0.0243 0.0544,0.0544 l 0.14003,8.1077 c 0,0.0301 -0.0243,0.0544 -0.0544,0.0544 h -10.48354 c -0.0301,0 -0.0544,-0.0243 -0.0544,-0.0544 v -8.1077 c 0,-0.0301 0.0243,-0.0544 0.0544,-0.0544 z"
style="fill:url(#linearGradient4274);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.11572517;stroke-linecap:square;stroke-linejoin:round;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
style="fill:url(#linearGradient3578);fill-rule:evenodd;stroke-width:0.11572517"
id="path3635"
d="m 120.18426,149.39515 c 0,0.0757 0.0654,0.14107 0.14107,0.14107 h 11.74958 c 0.0764,0 0.14118,-0.0654 0.14118,-0.14107 h -12.03194 z" />
<path
inkscape:connector-curvature="0"
style="fill:none;stroke:url(#linearGradient3881);stroke-width:0.16201523;stroke-linecap:square;stroke-linejoin:round"
id="rect3396"
d="m 123.86988,149.11498 c -0.0382,0 -0.0856,0.0243 -0.10878,0.0544 l -2.48462,3.21137 c -0.19789,0.25576 -0.0995,0.4629 0.22451,0.4629 h 0.25806 0.22104 0.59483 c 0.037,0 0.0891,-0.0243 0.11225,-0.0544 l 2.62117,-3.61988 c 0.0208,-0.0312 0.0116,-0.0544 -0.0255,-0.0544 h -0.42124 -0.55663 z" />
<rect
style="fill:none;stroke:url(#linearGradient3878);stroke-width:0.11572517;stroke-linecap:square;stroke-linejoin:round"
id="rect3489"
ry="0.06821999"
height="0.81007618"
width="4.7332754"
y="150.3463"
x="123.85021" />
<path
inkscape:connector-curvature="0"
style="fill:none;stroke:url(#linearGradient3875);stroke-width:0.16201523;stroke-linecap:square;stroke-linejoin:round"
id="path3453"
d="m 128.53013,149.11498 c 0.0382,0 0.0856,0.0243 0.10878,0.0544 l 2.48462,3.21137 c 0.19789,0.25576 0.0984,0.4629 -0.2245,0.4629 h -0.25807 -0.22104 -0.59482 c -0.0382,0 -0.0891,-0.0243 -0.11226,-0.0544 l -2.62117,-3.61988 c -0.0208,-0.0312 -0.0127,-0.0544 0.0255,-0.0544 h 0.42008 0.5578 z" />
<rect
style="fill:url(#linearGradient3870);fill-rule:evenodd;stroke:url(#linearGradient3580);stroke-width:0.11572517;stroke-linecap:square;stroke-linejoin:round"
id="rect3499"
ry="0.06821999"
height="0.57862586"
width="4.7332754"
y="150.46202"
x="123.85021" />
<rect
style="fill:url(#linearGradient3865);fill-rule:evenodd;stroke:url(#linearGradient1987);stroke-width:0.11572517;stroke-linecap:square;stroke-linejoin:round"
id="rect3565"
ry="0.06821999"
height="0.57862586"
width="4.7332754"
y="150.46202"
x="123.85021" />
<path
inkscape:connector-curvature="0"
style="fill:url(#linearGradient3860);fill-rule:evenodd;stroke:url(#linearGradient3862);stroke-width:0.15460882;stroke-linecap:square;stroke-linejoin:round"
id="path3403"
d="m 123.96709,149.22376 c -0.0359,0 -0.081,0.0232 -0.103,0.0521 l -0.30088,0.38999 -2.20341,2.67441 c -0.18863,0.24418 -0.0949,0.44207 0.21409,0.44207 h 0.2465 0.21062 0.46637 c 0.0359,0 0.0845,-0.0243 0.10647,-0.0521 l 2.49272,-3.45439 c 0.022,-0.0289 0.0127,-0.0521 -0.0232,-0.0521 h -0.29278 -0.53118 z" />
<path
inkscape:connector-curvature="0"
style="fill:url(#linearGradient3855);fill-rule:evenodd;stroke:url(#linearGradient3857);stroke-width:0.15460882;stroke-linecap:square;stroke-linejoin:round"
id="path3455"
d="m 128.43177,149.22376 c 0.0359,0 0.0822,0.0232 0.10415,0.0521 l 0.29973,0.38999 2.20456,2.67441 c 0.18863,0.24418 0.0949,0.44207 -0.21409,0.44207 h -0.24649 -0.21062 -0.46638 c -0.0359,0 -0.0856,-0.0243 -0.10762,-0.0521 l -2.49272,-3.45439 c -0.022,-0.0289 -0.0116,-0.0521 0.0243,-0.0521 h 0.29163 0.53118 z" />
<path
inkscape:connector-curvature="0"
style="fill:url(#linearGradient3850);fill-rule:evenodd;stroke:url(#linearGradient3852);stroke-width:0.09258014;stroke-linecap:square;stroke-linejoin:round"
id="path3547"
d="m 123.96709,149.22376 c -0.0359,0 -0.081,0.0232 -0.103,0.0521 l -0.30088,0.38999 -2.09347,2.63043 c -0.18863,0.24419 -0.13308,0.43282 0.1759,0.43282 h 0.12614 0.21062 0.46637 c 0.0359,0 0.0845,-0.0185 0.10763,-0.0474 l 2.54017,-3.40579 c 0.022,-0.0289 0.0127,-0.0521 -0.0232,-0.0521 h -0.29278 -0.53118 z" />
<path
inkscape:connector-curvature="0"
style="fill:url(#linearGradient3845);fill-rule:evenodd;stroke:url(#linearGradient3847);stroke-width:0.09258014;stroke-linecap:square;stroke-linejoin:round"
id="path3589"
d="m 128.40052,149.22376 c 0.037,0 0.0822,0.0232 0.10415,0.0521 l 0.29973,0.38999 2.09347,2.63043 c 0.18979,0.24419 0.13308,0.43282 -0.17475,0.43282 h -0.12614 -0.21062 -0.46637 c -0.037,0 -0.0856,-0.0185 -0.10762,-0.0474 l -2.54133,-3.40579 c -0.022,-0.0289 -0.0116,-0.0521 0.0243,-0.0521 h 0.29163 0.53234 z" />
<path
inkscape:connector-curvature="0"
style="fill:url(#linearGradient3990);fill-rule:evenodd;stroke-width:0.11572517"
id="path3961"
d="m 131.32605,148.38857 0.11573,-0.004 -0.17706,-8.15377 v -0.004 c 0,0 0.0822,-0.0873 0.0822,-0.0873 0,1e-5 -0.14928,0.0327 -0.14928,0.0316 l -10.06219,0.0196 c -0.001,-1.1e-4 -0.003,-3.5e-4 -0.007,0 -0.002,2.3e-4 -0.008,-0.001 -0.0109,0 -0.002,5.8e-4 -0.002,0.002 -0.004,0.004 -0.002,10e-4 -0.007,0.004 -0.007,0.004 0,6e-5 -0.002,0.005 -0.004,0.007 -10e-4,0.002 -0.003,0.002 -0.004,0.004 -0.001,0.003 1.2e-4,0.009 0,0.0109 -4.6e-4,0.004 -1.1e-4,0.006 0,0.007 v 0.14165 h 0.11573 9.93396 z m -0.0613,-8.16105 c 0,-2.3e-4 0.001,0.002 0,-0.007 v -0.0109 c 0,-9e-5 -0.007,-0.007 -0.007,-0.007 0,-8e-5 -0.005,-0.006 -0.007,-0.007 -0.002,-0.001 -0.006,-0.003 -0.008,-0.004 -0.006,-0.002 -0.008,0 -0.0104,0 h -0.003 c 0.0185,0.0174 0.0359,0.0361 0.0359,0.0361 z" />
<rect
style="fill:url(#linearGradient3376);fill-rule:evenodd;stroke:url(#linearGradient3390);stroke-width:0.11572517;stroke-linecap:square;stroke-linejoin:round"
id="rect3374"
ry="0.053996205"
height="1.0235312"
width="11.812068"
y="148.37897"
x="120.29976" />
<rect
style="fill:none;stroke:url(#linearGradient3613);stroke-width:0.11572517;stroke-linecap:square"
id="rect3595"
height="0.92471355"
width="11.645424"
y="148.49469"
x="120.4664" />
<path
inkscape:connector-curvature="0"
style="fill:url(#linearGradient1985);fill-rule:evenodd;stroke-width:0.11572517"
id="rect2521"
d="m 129.21048,149.53622 -0.0822,-0.17359 h 2.88514 c 0.002,3.5e-4 0.005,3.5e-4 0.007,0 0.008,-0.002 0.0151,-0.007 0.0185,-0.0145 0.002,-0.003 0.003,-0.007 0.003,-0.0109 v -0.004 -0.95473 -0.007 c -0.002,-0.008 -0.007,-0.0144 -0.0139,-0.0182 -0.003,-0.002 -0.007,-0.003 -0.0116,-0.004 -0.001,-1.2e-4 -0.002,-1.2e-4 -0.003,0 h -0.24997 -0.31708 l -0.005,-0.20252 -0.17706,-7.9163 v -0.004 c 0,-2.3e-4 0.001,0.002 0,-0.007 v -0.0109 c 0,-9e-5 -0.007,-0.007 -0.007,-0.007 0,-8e-5 -0.005,-0.006 -0.007,-0.007 -0.002,-0.001 -0.006,-0.003 -0.008,-0.004 -0.006,-0.002 -0.008,0 -0.0104,0 H 121.135 c -0.001,-1.1e-4 -0.003,-3.5e-4 -0.007,0 -0.002,2.3e-4 -0.008,-0.001 -0.0109,0 -0.002,5.8e-4 -0.002,0.002 -0.004,0.004 -0.002,0.001 -0.007,0.004 -0.007,0.004 0,6e-5 -0.002,0.005 -0.004,0.007 -10e-4,0.002 -0.003,0.002 -0.004,0.004 -0.001,0.003 1.2e-4,0.009 0,0.0109 -4.6e-4,0.004 -1.1e-4,0.006 0,0.007 v 0.004 l -0.14107,7.9163 -0.004,0.20252 h -0.31825 -0.24962 c -0.002,-3.5e-4 -0.005,-3.5e-4 -0.007,0 -0.008,0.002 -0.0143,0.007 -0.0181,0.0145 -0.002,0.003 -0.003,0.007 -0.004,0.0109 v 0.004 0.95473 c -2.3e-4,0.002 -2.3e-4,0.005 0,0.007 0.002,0.008 0.007,0.0144 0.0146,0.0182 0.003,0.002 0.007,0.003 0.0108,0.004 10e-4,1.2e-4 0.002,1.2e-4 0.004,0 h 2.84036 l -0.1369,0.17359 h -2.76491 c -0.0757,0 -0.14107,-0.0654 -0.14107,-0.14107 v -1.08122 c 0,-0.0758 0.0647,-0.13748 0.14107,-0.13748 h 0.31466 c 0.002,3.5e-4 0.005,3.5e-4 0.007,0 0.008,-0.002 0.0143,-0.007 0.0182,-0.0145 0.002,-0.003 0.003,-0.007 0.004,-0.0109 1.2e-4,-0.001 1.2e-4,-0.002 0,-0.004 l 0.14107,-7.92 c 0,-0.17667 0.14871,-0.32542 0.32542,-0.32542 h 10.09691 c 0.17705,0 0.32171,0.14477 0.32171,0.32183 l 0.17359,7.92359 c 0,0.008 0.005,0.0164 0.0116,0.0218 0.005,0.004 0.0104,0.007 0.0174,0.007 h 0.31824 c 0.0764,0 0.14119,0.0617 0.14119,0.13748 v 1.08122 c 0,0.0757 -0.0648,0.14107 -0.14119,0.14107 z" />
<path
inkscape:connector-curvature="0"
style="fill:none;stroke:url(#linearGradient3654);stroke-width:0.11572517"
id="path3621"
d="m 120.51038,149.42049 h 11.37925" />
<path
style="fill:#ffffff;stroke:#ffffff;stroke-width:0.02314503"
inkscape:connector-curvature="0"
id="text3658"
d="m 123.83516,143.84138 c -0.0174,0 -0.0498,-0.0208 -0.0972,-0.0613 -0.0417,-0.0393 -0.0741,-0.0729 -0.0937,-0.103 -0.0903,0.0486 -0.17012,0.0856 -0.2384,0.10994 -0.0683,0.0255 -0.12614,0.0382 -0.17127,0.0382 -0.21988,0 -0.37958,-0.0625 -0.48026,-0.18632 -0.0949,-0.11688 -0.14234,-0.29509 -0.14234,-0.53465 0,-0.22797 0.0775,-0.42123 0.23376,-0.58325 0.15739,-0.16086 0.34371,-0.24187 0.56011,-0.24187 0.0822,0 0.17359,0.0208 0.27427,0.0636 0.12846,0.0521 0.1921,0.11573 0.1921,0.18979 0,0.0255 -0.009,0.0474 -0.0289,0.0671 -0.009,0.0359 -0.0162,0.0949 -0.022,0.17591 -0.005,0.0822 -0.008,0.18631 -0.008,0.31477 -10e-4,0.11572 0.007,0.2083 0.0232,0.27542 0.009,0.0417 0.0393,0.12383 0.0891,0.24766 0.007,0.0174 0.0174,0.0417 0.0324,0.0752 l 0.008,0.0231 c 0,0.0382 -0.0127,0.0683 -0.0393,0.0937 -0.0266,0.0243 -0.0567,0.0359 -0.0914,0.0359 z m -0.29278,-0.97787 c 0,-0.0405 0.002,-0.0845 0.008,-0.13193 0.005,-0.0474 0.0127,-0.0984 0.0231,-0.1516 -0.0347,-0.0174 -0.0648,-0.0312 -0.0891,-0.0394 -0.0255,-0.008 -0.0451,-0.0127 -0.0602,-0.0127 -0.14582,0 -0.2708,0.059 -0.37727,0.17822 -0.10531,0.1192 -0.15738,0.25575 -0.15738,0.41082 0,0.15392 0.0266,0.26849 0.081,0.34602 0.0544,0.0764 0.13655,0.11573 0.24533,0.11573 0.0903,0 0.16665,-0.0174 0.22914,-0.0498 0.0336,-0.0174 0.081,-0.0532 0.14234,-0.10647 -0.0301,-0.24881 -0.0451,-0.43513 -0.0451,-0.55895 z" />
<path
style="fill:#ffffff;stroke:#ffffff;stroke-width:0.02314503"
inkscape:connector-curvature="0"
id="text3662"
d="m 126.27233,144.18624 c -0.17358,0 -0.33213,-0.0347 -0.47447,-0.10299 -0.0359,0.0544 -0.081,0.0822 -0.13308,0.0822 -0.0428,0 -0.0798,-0.015 -0.10994,-0.0451 -0.0301,-0.0301 -0.0451,-0.0683 -0.0451,-0.11341 0,-0.0301 0.001,-0.0741 0.003,-0.13193 0.003,-0.0579 0.005,-0.10183 0.005,-0.13192 0,-0.12036 -0.003,-0.30089 -0.009,-0.5416 -0.007,-0.24186 -0.009,-0.42239 -0.009,-0.54275 0,-0.0833 0,-0.24071 10e-4,-0.47216 0.001,-0.2326 0.002,-0.38999 0.002,-0.47447 0,-0.0683 0.0139,-0.12961 0.0428,-0.184 0.037,-0.0694 0.0891,-0.10415 0.15507,-0.10415 0.0856,0 0.12846,0.0486 0.12846,0.14812 0,0.0162 -0.003,0.0393 -0.009,0.0706 -0.006,0.0301 -0.008,0.0532 -0.008,0.0694 l -0.006,0.37379 -0.002,0.43629 c 0.0984,-0.0671 0.19326,-0.11804 0.28237,-0.1516 0.0891,-0.0336 0.17358,-0.0498 0.25228,-0.0498 0.24418,0 0.44322,0.0937 0.59598,0.28121 0.1435,0.17706 0.21525,0.39346 0.21525,0.65153 0,0.25922 -0.0845,0.4791 -0.25112,0.66079 -0.1678,0.18053 -0.37611,0.27195 -0.62608,0.27195 z m 0.066,-1.54261 c -0.0937,0 -0.18979,0.0255 -0.287,0.0775 -0.0486,0.0266 -0.13077,0.0833 -0.2465,0.17012 l -0.003,0.2951 0.002,0.26617 10e-4,0.28005 c 0.0544,0.0255 0.13193,0.0579 0.2303,0.0961 0.0706,0.022 0.15044,0.0324 0.23723,0.0324 0.16549,0 0.30089,-0.0579 0.40736,-0.17359 0.10531,-0.11688 0.15854,-0.26154 0.15854,-0.43397 0,-0.17012 -0.0428,-0.31246 -0.12845,-0.42587 -0.0914,-0.12267 -0.21641,-0.184 -0.37148,-0.184 z" />
<path
style="fill:#ffffff;stroke:#ffffff;stroke-width:0.02314503"
inkscape:connector-curvature="0"
id="text3666"
d="m 129.51264,144.94193 c -0.27543,0 -0.50456,-0.0833 -0.68857,-0.24997 -0.19326,-0.17474 -0.28931,-0.40388 -0.28931,-0.68972 0,-0.27311 0.0903,-0.55316 0.2708,-0.84363 0.20136,-0.32172 0.42818,-0.48258 0.68046,-0.48258 0.13193,0 0.2789,0.0312 0.44092,0.0926 0.20483,0.0787 0.30782,0.1759 0.30782,0.28931 0,0.0509 -0.0173,0.0972 -0.0509,0.13656 -0.0336,0.0394 -0.0752,0.059 -0.12382,0.059 -0.0394,0 -0.0729,-0.0116 -0.10184,-0.0347 -0.0289,-0.0243 -0.0567,-0.0474 -0.0833,-0.0694 -0.0799,-0.0636 -0.20946,-0.0949 -0.38884,-0.0949 -0.13655,0 -0.27195,0.12151 -0.40619,0.36569 -0.12267,0.22451 -0.18285,0.41777 -0.18285,0.5821 0,0.17706 0.0602,0.31593 0.18053,0.41777 0.11226,0.0961 0.25807,0.1435 0.43513,0.1435 0.0798,0 0.16549,-0.022 0.25691,-0.0648 l 0.23376,-0.12498 c 0.0405,-0.0208 0.0694,-0.0312 0.0868,-0.0312 0.0498,0 0.0926,0.0197 0.12845,0.059 0.0359,0.0394 0.0544,0.0845 0.0544,0.1354 0,0.0984 -0.10299,0.19326 -0.31014,0.28353 -0.18053,0.081 -0.33097,0.12151 -0.45017,0.12151 z" />
<path
style="fill-opacity:0.50196054;fill-rule:evenodd;filter:url(#filter3834)"
inkscape:connector-curvature="0"
id="path3826"
d="m 602.21,244.8 -12.88,1.41 c -0.1,0.02 -0.2,0.06 -0.28,0.12 l -31.41,18.97 c -0.2,0.12 -0.33,0.33 -0.34,0.56 -0.37,4.6 2.11,7.85 6.03,10 0.22,0.11 0.48,0.1 0.69,-0.03 l 31.37,-18.97 c 0.09,-0.05 0.17,-0.13 0.22,-0.22 l 7.25,-10.75 c 0.16,-0.22 0.17,-0.52 0.03,-0.76 -0.14,-0.23 -0.41,-0.36 -0.68,-0.33 z"
transform="matrix(0.11572517,0,0,0.11572517,54.643083,115.94236)" />
<path
inkscape:connector-curvature="0"
style="fill:url(#linearGradient3814);fill-rule:evenodd;stroke-width:0.11572517"
id="rect3680"
d="m 122.7404,144.40612 1.4917,-0.16433 -0.83785,1.24521 -3.63261,2.19646 c -0.43629,-0.23955 -0.6932,-0.57863 -0.65269,-1.07972 z" />
<path
style="fill:#fbfbfc;fill-rule:evenodd;filter:url(#filter3772)"
inkscape:connector-curvature="0"
id="rect3705"
d="m 40.125,66.125 -3.656,7.906 v 34.849 c 0,1.22 0.825,2.21 1.843,2.21 1.019,0 1.813,-0.99 1.813,-2.21 z"
transform="matrix(0.05990629,0.0990133,-0.0990133,0.05990629,128.21305,136.40604)" />
<path
inkscape:connector-curvature="0"
style="fill:none;stroke:url(#linearGradient3810);stroke-width:0.16201523;stroke-linecap:square;stroke-linejoin:round"
id="path3776"
d="m 122.7404,144.40612 1.4917,-0.16433 -0.83785,1.24521 -3.63261,2.19646 c -0.43629,-0.23955 -0.6932,-0.57863 -0.65269,-1.07972 z" />
<path
inkscape:connector-curvature="0"
style="fill:url(#linearGradient3980);fill-rule:evenodd;stroke-width:0.11572517"
id="path3972"
d="m 121.0993,140.36859 -0.14107,8.01755 0.11573,0.004 0.14107,-8.02126 z" />
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 38 KiB

@ -0,0 +1,317 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="128"
height="128"
viewBox="0 0 33.866666 33.866668"
version="1.1"
id="svg8"
inkscape:version="0.92.3 (2405546, 2018-03-11)"
sodipodi:docname="embedregistry.svg">
<defs
id="defs2">
<linearGradient
inkscape:collect="always"
id="linearGradient1392">
<stop
style="stop-color:#010000;stop-opacity:1"
offset="0"
id="stop1388" />
<stop
style="stop-color:#7b7b7e;stop-opacity:1"
offset="1"
id="stop1390" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient1361">
<stop
style="stop-color:#dcdcdc;stop-opacity:1"
offset="0"
id="stop1357" />
<stop
style="stop-color:#ffffff;stop-opacity:0.99484539"
offset="1"
id="stop1359" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient1351">
<stop
style="stop-color:#d9d9e3;stop-opacity:1;"
offset="0"
id="stop1347" />
<stop
style="stop-color:#fdfdfd;stop-opacity:1"
offset="1"
id="stop1349" />
</linearGradient>
<style
id="style924">.cls-1{fill:#b22424;}.cls-2{fill:#dd2c28;}.cls-3{fill:#fff;}</style>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient1351"
id="linearGradient1353"
x1="-3.7135057"
y1="287.95425"
x2="-3.7611158"
y2="278.05157"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0087029,0,0,1.1062674,0.09488261,-30.295317)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient1361"
id="linearGradient1363"
x1="-3.5090218"
y1="278.50385"
x2="-3.5090218"
y2="276.88516"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient1392"
id="linearGradient1394"
x1="-9.6826649"
y1="64.402939"
x2="-9.6826649"
y2="39.082859"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.26458333,0,0,0.26458333,0,263.13332)" />
<clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath1400">
<rect
ry="0"
y="276.67093"
x="-12.425961"
height="2.2376251"
width="18.329483"
id="rect1402"
style="opacity:1;fill:url(#linearGradient1404);fill-opacity:1;stroke:none;stroke-width:0.35277778;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
</clipPath>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient1361"
id="linearGradient1404"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(0,1.2291667e-6)"
x1="-3.5090218"
y1="278.50385"
x2="-3.5090218"
y2="276.88516" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient1361"
id="linearGradient1421"
gradientUnits="userSpaceOnUse"
x1="-3.5090218"
y1="278.50385"
x2="-3.5090218"
y2="276.88516" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient1392"
id="linearGradient1423"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.26458333,0,0,0.26458333,0,263.13332)"
x1="-9.6826649"
y1="64.402939"
x2="-9.6826649"
y2="39.082859" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2"
inkscape:cx="88.735546"
inkscape:cy="63.811305"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
units="px"
inkscape:window-width="1366"
inkscape:window-height="713"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Capa 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-263.13332)">
<g
id="g1742"
inkscape:export-filename="/var/www/chamilo/main/img/icons/32/embedregistry.png"
inkscape:export-xdpi="24.000002"
inkscape:export-ydpi="24.000002">
<rect
y="263.13333"
x="0"
height="33.866665"
width="33.866665"
id="rect1532"
style="opacity:0;fill:#ff9955;fill-opacity:1;stroke:none;stroke-width:0.40419206;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<g
transform="matrix(1.6399888,0,0,1.6399888,22.077944,-178.44413)"
id="g1427">
<rect
style="opacity:1;fill:#eaeaf0;fill-opacity:1;stroke:#000000;stroke-width:0.3696824;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect1343"
width="16.637775"
height="11.309497"
x="-11.401783"
y="277.59595"
ry="1.1187079" />
<rect
style="opacity:1;fill:url(#linearGradient1353);fill-opacity:1;stroke:none;stroke-width:0.37266013;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect1345"
width="15.607597"
height="10.322994"
x="-10.902472"
y="278.14679"
ry="1.0103216" />
</g>
<g
transform="translate(-1.5130768e-6,6.7619774e-6)"
id="g1717">
<path
style="fill:#87cdde;fill-rule:nonzero;stroke:none;stroke-width:0.21695696"
inkscape:connector-curvature="0"
d="m 23.313783,286.08384 c -0.0033,1.66527 -0.668096,3.26099 -1.848058,4.43607 -1.179961,1.17508 -2.77843,1.83323 -4.443694,1.82965 -0.145361,0 -0.290722,-0.004 -0.433914,-0.0174 -3.294531,-0.21277 -5.857838,-2.94696 -5.857838,-6.24836 0,-3.30139 2.563307,-6.03559 5.857838,-6.24836 0.143192,-0.013 0.288553,-0.0174 0.433914,-0.0174 1.665264,-0.004 3.263733,0.65457 4.443694,1.82965 1.179962,1.17508 1.844738,2.77081 1.848058,4.43607 z"
id="Shape" />
<ellipse
style="fill:#aaeeff;fill-rule:nonzero;stroke:none;stroke-width:0.21695696"
cx="16.588118"
cy="286.08383"
id="Oval"
rx="5.8578382"
ry="6.2483582" />
<path
style="fill:#0088aa;fill-rule:nonzero;stroke:none;stroke-width:0.21695696"
inkscape:connector-curvature="0"
d="m 22.662912,286.08384 c -0.01047,3.10682 -2.53405,5.61876 -5.640881,5.61485 -0.182244,0 -0.362318,-0.009 -0.542393,-0.026 -2.888328,-0.26559 -5.098472,-2.68829 -5.098472,-5.58881 0,-2.90051 2.210144,-5.32321 5.098472,-5.58881 0.180075,-0.0174 0.360149,-0.026 0.542393,-0.026 3.106833,-0.004 5.630419,2.50802 5.640881,5.61484 z"
id="path1238" />
<ellipse
style="fill:#00aad4;fill-rule:nonzero;stroke:none;stroke-width:0.21695696"
cx="16.744553"
cy="286.14929"
id="ellipse1240"
rx="5.0984883"
ry="5.5888133" />
<path
style="fill:#0088aa;fill-rule:nonzero;stroke:none;stroke-width:0.21695696"
inkscape:connector-curvature="0"
d="m 17.022031,291.6976 c -3.096874,-0.0149 -5.596693,-2.5349 -5.586743,-5.63179 0.0099,-3.0969 2.52591,-5.60076 5.622815,-5.59579 3.096906,0.005 5.604809,2.51691 5.604809,5.61382 -0.01101,3.10641 -2.534451,5.61772 -5.640881,5.61376 z m 0,-10.79361 c -2.857231,0.0149 -5.162787,2.34063 -5.15284,5.19789 0.0099,2.85725 2.331639,5.16685 5.188905,5.16187 2.857265,-0.005 5.170902,-2.32264 5.170902,-5.17991 -0.01078,-2.86686 -2.340084,-5.18404 -5.206967,-5.17985 z"
id="path1242" />
<path
style="fill:#9e9e9e;fill-rule:nonzero;stroke:none;stroke-width:0.21695696"
inkscape:connector-curvature="0"
d="m 19.315266,286.26392 -0.30157,0.21044 -3.174081,2.19778 c -0.06622,0.0452 -0.152086,0.0498 -0.222769,0.012 -0.07068,-0.0378 -0.114439,-0.11188 -0.113514,-0.19206 v -4.81644 c -9.33e-4,-0.0802 0.04283,-0.15421 0.11351,-0.19206 0.07068,-0.0378 0.156558,-0.0332 0.222773,0.012 l 3.475651,2.40822 c 0.0582,0.0415 0.09275,0.10858 0.09275,0.18007 0,0.0715 -0.03455,0.13857 -0.09275,0.18008 z"
id="path1244" />
<path
style="fill:#d5f6ff;fill-rule:nonzero;stroke:none;stroke-width:0.21695696"
inkscape:connector-curvature="0"
d="m 19.013696,286.47436 -3.174081,2.19778 c -0.06622,0.0452 -0.152086,0.0498 -0.222769,0.012 -0.07068,-0.0378 -0.114439,-0.11188 -0.113514,-0.19206 l -1.4e-5,-4.4064 c 0.04262,-1.9e-4 0.08427,0.0127 0.11934,0.0369 z"
id="path1246" />
<ellipse
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.43391392;stroke-linecap:round;stroke-linejoin:round"
cx="17.022032"
cy="286.08383"
id="ellipse1249"
rx="6.2917519"
ry="6.2646322" />
<ellipse
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.43391392;stroke-linecap:round;stroke-linejoin:round"
cx="17.022032"
cy="286.08383"
id="ellipse1251"
rx="5.423924"
ry="5.3968043" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.43391392;stroke-linecap:round;stroke-linejoin:round"
inkscape:connector-curvature="0"
d="m 15.503332,283.67473 v 4.81823 c -9.11e-4,0.0799 0.04273,0.15368 0.113218,0.19133 0.07049,0.0377 0.156075,0.0329 0.221981,-0.0123 l 3.476767,-2.40912 c 0.05845,-0.0409 0.09326,-0.10773 0.09326,-0.17906 0,-0.0713 -0.03481,-0.13817 -0.09326,-0.17905 l -3.476767,-2.40912 c -0.06591,-0.0452 -0.151494,-0.0499 -0.221981,-0.0123 -0.07049,0.0377 -0.114139,0.11143 -0.113218,0.19134 z"
id="path1253" />
</g>
<g
transform="matrix(1.6399888,0,0,1.6399888,22.370394,-179.32231)"
id="g1411">
<rect
style="opacity:1;fill:url(#linearGradient1363);fill-opacity:1;stroke:none;stroke-width:0.35277778;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect1355"
width="18.329483"
height="2.2376251"
x="-12.425961"
y="276.67093"
ry="0.62279654" />
<path
style="opacity:1;fill:url(#linearGradient1394);fill-opacity:1;stroke:none;stroke-width:0.31014252;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m -1.5781983,276.28342 1.35650641,2.90422 H 1.3978474 l -1.35650626,-2.90422 z m 3.3806722,0.0238 1.3565063,2.90422 h 1.6190227 l -1.3565063,-2.90422 z m -6.7608275,0.0238 1.3565063,2.90422 h 1.6190226 l -1.3565064,-2.90422 z m -3.3801554,0.0243 1.3565063,2.9037 H -5.36298 l -1.3565063,-2.9037 z m -3.380156,0.0238 1.356507,2.9037 h 1.6190225 l -1.3565065,-2.9037 z"
id="rect1365"
inkscape:connector-curvature="0"
clip-path="url(#clipPath1400)" />
<rect
ry="0.45447317"
y="276.67093"
x="-12.425961"
height="2.2376251"
width="18.329483"
id="rect1406"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.35277778;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
</g>
<g
inkscape:transform-center-y="-3.2008351"
inkscape:transform-center-x="-9.3829614"
id="g1419"
transform="matrix(1.5899422,-0.40205348,0.40205348,1.5899422,-89.825568,-172.91553)">
<rect
ry="0.62279654"
y="276.67093"
x="-12.425961"
height="2.2376251"
width="18.329483"
id="rect1413"
style="opacity:1;fill:url(#linearGradient1421);fill-opacity:1;stroke:none;stroke-width:0.35277778;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path
clip-path="url(#clipPath1400)"
inkscape:connector-curvature="0"
id="path1415"
d="m -1.5781983,276.28342 1.35650641,2.90422 H 1.3978474 l -1.35650626,-2.90422 z m 3.3806722,0.0238 1.3565063,2.90422 h 1.6190227 l -1.3565063,-2.90422 z m -6.7608275,0.0238 1.3565063,2.90422 h 1.6190226 l -1.3565064,-2.90422 z m -3.3801554,0.0243 1.3565063,2.9037 H -5.36298 l -1.3565063,-2.9037 z m -3.380156,0.0238 1.356507,2.9037 h 1.6190225 l -1.3565065,-2.9037 z"
style="opacity:1;fill:url(#linearGradient1423);fill-opacity:1;stroke:none;stroke-width:0.31014252;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.35277778;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect1417"
width="18.329483"
height="2.2376251"
x="-12.425961"
y="276.67093"
ry="0.45447317" />
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

@ -0,0 +1,533 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="128"
height="128"
viewBox="0 0 33.866666 33.866668"
version="1.1"
id="svg8"
inkscape:version="0.92.3 (2405546, 2018-03-11)"
sodipodi:docname="embedregistry_na.svg">
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="3.9296875"
inkscape:cx="60.182903"
inkscape:cy="64"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
units="px"
inkscape:window-width="1366"
inkscape:window-height="713"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<defs
id="defs2">
<linearGradient
inkscape:collect="always"
id="linearGradient1392">
<stop
style="stop-color:#010000;stop-opacity:1"
offset="0"
id="stop1388" />
<stop
style="stop-color:#7b7b7e;stop-opacity:1"
offset="1"
id="stop1390" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient1361">
<stop
style="stop-color:#dcdcdc;stop-opacity:1"
offset="0"
id="stop1357" />
<stop
style="stop-color:#ffffff;stop-opacity:0.99484539"
offset="1"
id="stop1359" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient1351">
<stop
style="stop-color:#d9d9e3;stop-opacity:1;"
offset="0"
id="stop1347" />
<stop
style="stop-color:#fdfdfd;stop-opacity:1"
offset="1"
id="stop1349" />
</linearGradient>
<style
id="style924">.cls-1{fill:#b22424;}.cls-2{fill:#dd2c28;}.cls-3{fill:#fff;}</style>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient1351"
id="linearGradient1353"
x1="-3.7135057"
y1="287.95425"
x2="-3.7611158"
y2="278.05157"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0087029,0,0,1.1062674,0.09488261,-30.295317)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient1361"
id="linearGradient1363"
x1="-3.5090218"
y1="278.50385"
x2="-3.5090218"
y2="276.88516"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient1392"
id="linearGradient1394"
x1="-9.6826649"
y1="64.402939"
x2="-9.6826649"
y2="39.082859"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.26458333,0,0,0.26458333,0,263.13332)" />
<clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath1400">
<rect
ry="0"
y="276.67093"
x="-12.425961"
height="2.2376251"
width="18.329483"
id="rect1402"
style="opacity:1;fill:url(#linearGradient1404);fill-opacity:1;stroke:none;stroke-width:0.35277778;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
</clipPath>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient1361"
id="linearGradient1404"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(0,1.2291667e-6)"
x1="-3.5090218"
y1="278.50385"
x2="-3.5090218"
y2="276.88516" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient1361"
id="linearGradient1421"
gradientUnits="userSpaceOnUse"
x1="-3.5090218"
y1="278.50385"
x2="-3.5090218"
y2="276.88516" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient1392"
id="linearGradient1423"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.26458333,0,0,0.26458333,0,263.13332)"
x1="-9.6826649"
y1="64.402939"
x2="-9.6826649"
y2="39.082859" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient1351-298"
id="linearGradient1353-117"
x1="-3.7135057"
y1="287.95425"
x2="-3.7611158"
y2="278.05157"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0087029,0,0,1.1062674,0.09488261,-30.295317)" />
<linearGradient
inkscape:collect="always"
id="linearGradient1351-298">
<stop
style="stop-color:#dedede;stop-opacity:1;;opacity:1"
offset="0"
id="stop873" />
<stop
style="stop-color:#fdfdfd;stop-opacity:1;opacity:1"
offset="1"
id="stop875" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient1361-557"
id="linearGradient1363-498"
x1="-3.5090218"
y1="278.50385"
x2="-3.5090218"
y2="276.88516"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
id="linearGradient1361-557">
<stop
style="stop-color:#dcdcdc;stop-opacity:1;opacity:1"
offset="0"
id="stop879" />
<stop
style="stop-color:#ffffff;stop-opacity:0.99484539;opacity:1"
offset="1"
id="stop881" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient1392-869"
id="linearGradient1394-74"
x1="-9.6826649"
y1="64.402939"
x2="-9.6826649"
y2="39.082859"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.26458333,0,0,0.26458333,0,263.13332)" />
<linearGradient
inkscape:collect="always"
id="linearGradient1392-869">
<stop
style="stop-color:#000000;stop-opacity:1;opacity:1"
offset="0"
id="stop885" />
<stop
style="stop-color:#7c7c7c;stop-opacity:1;opacity:1"
offset="1"
id="stop887" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient1361-606"
id="linearGradient1421-59"
gradientUnits="userSpaceOnUse"
x1="-3.5090218"
y1="278.50385"
x2="-3.5090218"
y2="276.88516" />
<linearGradient
inkscape:collect="always"
id="linearGradient1361-606">
<stop
style="stop-color:#dcdcdc;stop-opacity:1;opacity:1"
offset="0"
id="stop891" />
<stop
style="stop-color:#ffffff;stop-opacity:0.99484539;opacity:1"
offset="1"
id="stop893" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient1392-494"
id="linearGradient1423-968"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.26458333,0,0,0.26458333,0,263.13332)"
x1="-9.6826649"
y1="64.402939"
x2="-9.6826649"
y2="39.082859" />
<linearGradient
inkscape:collect="always"
id="linearGradient1392-494">
<stop
style="stop-color:#000000;stop-opacity:1;opacity:1"
offset="0"
id="stop897" />
<stop
style="stop-color:#7c7c7c;stop-opacity:1;opacity:1"
offset="1"
id="stop899" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient1351-298-741"
id="linearGradient1353-117-325"
x1="-3.7135057"
y1="287.95425"
x2="-3.7611158"
y2="278.05157"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0087029,0,0,1.1062674,0.09488261,-30.295317)" />
<linearGradient
inkscape:collect="always"
id="linearGradient1351-298-741">
<stop
style="stop-color:#dedede;stop-opacity:1;;opacity:1"
offset="0"
id="stop917" />
<stop
style="stop-color:#fdfdfd;stop-opacity:1;opacity:1"
offset="1"
id="stop919" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient1361-557-910"
id="linearGradient1363-498-816"
x1="-3.5090218"
y1="278.50385"
x2="-3.5090218"
y2="276.88516"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
id="linearGradient1361-557-910">
<stop
style="stop-color:#dcdcdc;stop-opacity:1;opacity:1"
offset="0"
id="stop923" />
<stop
style="stop-color:#ffffff;stop-opacity:0.99484539;opacity:1"
offset="1"
id="stop925" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient1392-869-417"
id="linearGradient1394-74-408"
x1="-9.6826649"
y1="64.402939"
x2="-9.6826649"
y2="39.082859"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.26458333,0,0,0.26458333,0,263.13332)" />
<linearGradient
inkscape:collect="always"
id="linearGradient1392-869-417">
<stop
style="stop-color:#000000;stop-opacity:1;opacity:1"
offset="0"
id="stop929" />
<stop
style="stop-color:#7c7c7c;stop-opacity:1;opacity:1"
offset="1"
id="stop931" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient1361-606-3"
id="linearGradient1421-59-952"
gradientUnits="userSpaceOnUse"
x1="-3.5090218"
y1="278.50385"
x2="-3.5090218"
y2="276.88516" />
<linearGradient
inkscape:collect="always"
id="linearGradient1361-606-3">
<stop
style="stop-color:#dcdcdc;stop-opacity:1;opacity:1"
offset="0"
id="stop935" />
<stop
style="stop-color:#ffffff;stop-opacity:0.99484539;opacity:1"
offset="1"
id="stop937" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient1392-494-159"
id="linearGradient1423-968-141"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.26458333,0,0,0.26458333,0,263.13332)"
x1="-9.6826649"
y1="64.402939"
x2="-9.6826649"
y2="39.082859" />
<linearGradient
inkscape:collect="always"
id="linearGradient1392-494-159">
<stop
style="stop-color:#000000;stop-opacity:1;opacity:1"
offset="0"
id="stop941" />
<stop
style="stop-color:#7c7c7c;stop-opacity:1;opacity:1"
offset="1"
id="stop943" />
</linearGradient>
</defs>
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Capa 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-263.13332)">
<g
id="g1742"
inkscape:export-filename="/var/www/chamilo/main/img/icons/128/embedregistry_na.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96">
<rect
y="263.13333"
x="0"
height="33.866665"
width="33.866665"
id="rect1532"
style="opacity:0;fill:#aaaaaa;fill-opacity:1;stroke:none;stroke-width:0.40419206;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<g
transform="matrix(1.6399888,0,0,1.6399888,22.077944,-178.44413)"
id="g1427">
<rect
style="opacity:1;fill:#ededed;fill-opacity:1;stroke:#000000;stroke-width:0.3696824;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect1343"
width="16.637775"
height="11.309497"
x="-11.401783"
y="277.59595"
ry="1.1187079" />
<rect
style="opacity:1;fill:url(#linearGradient1353-117-325);fill-opacity:1;stroke:none;stroke-width:0.37266013;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect1345"
width="15.607597"
height="10.322994"
x="-10.902472"
y="278.14679"
ry="1.0103216" />
</g>
<g
transform="translate(-1.5130768e-6,6.7619774e-6)"
id="g1717">
<path
style="fill:#b2b2b2;fill-rule:nonzero;stroke:none;stroke-width:0.21695696;opacity:1"
inkscape:connector-curvature="0"
d="m 23.313783,286.08384 c -0.0033,1.66527 -0.668096,3.26099 -1.848058,4.43607 -1.179961,1.17508 -2.77843,1.83323 -4.443694,1.82965 -0.145361,0 -0.290722,-0.004 -0.433914,-0.0174 -3.294531,-0.21277 -5.857838,-2.94696 -5.857838,-6.24836 0,-3.30139 2.563307,-6.03559 5.857838,-6.24836 0.143192,-0.013 0.288553,-0.0174 0.433914,-0.0174 1.665264,-0.004 3.263733,0.65457 4.443694,1.82965 1.179962,1.17508 1.844738,2.77081 1.848058,4.43607 z"
id="Shape" />
<ellipse
style="fill:#d4d4d4;fill-rule:nonzero;stroke:none;stroke-width:0.21695696;opacity:1"
cx="16.588118"
cy="286.08383"
id="Oval"
rx="5.8578382"
ry="6.2483582" />
<path
style="fill:#555555;fill-rule:nonzero;stroke:none;stroke-width:0.21695696;opacity:1"
inkscape:connector-curvature="0"
d="m 22.662912,286.08384 c -0.01047,3.10682 -2.53405,5.61876 -5.640881,5.61485 -0.182244,0 -0.362318,-0.009 -0.542393,-0.026 -2.888328,-0.26559 -5.098472,-2.68829 -5.098472,-5.58881 0,-2.90051 2.210144,-5.32321 5.098472,-5.58881 0.180075,-0.0174 0.360149,-0.026 0.542393,-0.026 3.106833,-0.004 5.630419,2.50802 5.640881,5.61484 z"
id="path1238" />
<ellipse
style="fill:#6a6a6a;fill-rule:nonzero;stroke:none;stroke-width:0.21695696;opacity:1"
cx="16.744553"
cy="286.14929"
id="ellipse1240"
rx="5.0984883"
ry="5.5888133" />
<path
style="fill:#555555;fill-rule:nonzero;stroke:none;stroke-width:0.21695696;opacity:1"
inkscape:connector-curvature="0"
d="m 17.022031,291.6976 c -3.096874,-0.0149 -5.596693,-2.5349 -5.586743,-5.63179 0.0099,-3.0969 2.52591,-5.60076 5.622815,-5.59579 3.096906,0.005 5.604809,2.51691 5.604809,5.61382 -0.01101,3.10641 -2.534451,5.61772 -5.640881,5.61376 z m 0,-10.79361 c -2.857231,0.0149 -5.162787,2.34063 -5.15284,5.19789 0.0099,2.85725 2.331639,5.16685 5.188905,5.16187 2.857265,-0.005 5.170902,-2.32264 5.170902,-5.17991 -0.01078,-2.86686 -2.340084,-5.18404 -5.206967,-5.17985 z"
id="path1242" />
<path
style="fill:#9e9e9e;fill-rule:nonzero;stroke:none;stroke-width:0.21695696;opacity:1"
inkscape:connector-curvature="0"
d="m 19.315266,286.26392 -0.30157,0.21044 -3.174081,2.19778 c -0.06622,0.0452 -0.152086,0.0498 -0.222769,0.012 -0.07068,-0.0378 -0.114439,-0.11188 -0.113514,-0.19206 v -4.81644 c -9.33e-4,-0.0802 0.04283,-0.15421 0.11351,-0.19206 0.07068,-0.0378 0.156558,-0.0332 0.222773,0.012 l 3.475651,2.40822 c 0.0582,0.0415 0.09275,0.10858 0.09275,0.18007 0,0.0715 -0.03455,0.13857 -0.09275,0.18008 z"
id="path1244" />
<path
style="fill:#eaeaea;fill-rule:nonzero;stroke:none;stroke-width:0.21695696;opacity:1"
inkscape:connector-curvature="0"
d="m 19.013696,286.47436 -3.174081,2.19778 c -0.06622,0.0452 -0.152086,0.0498 -0.222769,0.012 -0.07068,-0.0378 -0.114439,-0.11188 -0.113514,-0.19206 l -1.4e-5,-4.4064 c 0.04262,-1.9e-4 0.08427,0.0127 0.11934,0.0369 z"
id="path1246" />
<ellipse
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.43391392;stroke-linecap:round;stroke-linejoin:round;opacity:1"
cx="17.022032"
cy="286.08383"
id="ellipse1249"
rx="6.2917519"
ry="6.2646322" />
<ellipse
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.43391392;stroke-linecap:round;stroke-linejoin:round;opacity:1"
cx="17.022032"
cy="286.08383"
id="ellipse1251"
rx="5.423924"
ry="5.3968043" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.43391392;stroke-linecap:round;stroke-linejoin:round;opacity:1"
inkscape:connector-curvature="0"
d="m 15.503332,283.67473 v 4.81823 c -9.11e-4,0.0799 0.04273,0.15368 0.113218,0.19133 0.07049,0.0377 0.156075,0.0329 0.221981,-0.0123 l 3.476767,-2.40912 c 0.05845,-0.0409 0.09326,-0.10773 0.09326,-0.17906 0,-0.0713 -0.03481,-0.13817 -0.09326,-0.17905 l -3.476767,-2.40912 c -0.06591,-0.0452 -0.151494,-0.0499 -0.221981,-0.0123 -0.07049,0.0377 -0.114139,0.11143 -0.113218,0.19134 z"
id="path1253" />
</g>
<g
transform="matrix(1.6399888,0,0,1.6399888,22.370394,-179.32231)"
id="g1411">
<rect
style="opacity:1;fill:url(#linearGradient1363-498-816);fill-opacity:1;stroke:none;stroke-width:0.35277778;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect1355"
width="18.329483"
height="2.2376251"
x="-12.425961"
y="276.67093"
ry="0.62279654" />
<path
style="opacity:1;fill:url(#linearGradient1394-74-408);fill-opacity:1;stroke:none;stroke-width:0.31014252;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m -1.5781983,276.28342 1.35650641,2.90422 H 1.3978474 l -1.35650626,-2.90422 z m 3.3806722,0.0238 1.3565063,2.90422 h 1.6190227 l -1.3565063,-2.90422 z m -6.7608275,0.0238 1.3565063,2.90422 h 1.6190226 l -1.3565064,-2.90422 z m -3.3801554,0.0243 1.3565063,2.9037 H -5.36298 l -1.3565063,-2.9037 z m -3.380156,0.0238 1.356507,2.9037 h 1.6190225 l -1.3565065,-2.9037 z"
id="rect1365"
inkscape:connector-curvature="0"
clip-path="url(#clipPath1400)" />
<rect
ry="0.45447317"
y="276.67093"
x="-12.425961"
height="2.2376251"
width="18.329483"
id="rect1406"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.35277778;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
</g>
<g
inkscape:transform-center-y="-3.2008351"
inkscape:transform-center-x="-9.3829614"
id="g1419"
transform="matrix(1.5899422,-0.40205348,0.40205348,1.5899422,-89.825568,-172.91553)">
<rect
ry="0.62279654"
y="276.67093"
x="-12.425961"
height="2.2376251"
width="18.329483"
id="rect1413"
style="opacity:1;fill:url(#linearGradient1421-59-952);fill-opacity:1;stroke:none;stroke-width:0.35277778;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path
clip-path="url(#clipPath1400)"
inkscape:connector-curvature="0"
id="path1415"
d="m -1.5781983,276.28342 1.35650641,2.90422 H 1.3978474 l -1.35650626,-2.90422 z m 3.3806722,0.0238 1.3565063,2.90422 h 1.6190227 l -1.3565063,-2.90422 z m -6.7608275,0.0238 1.3565063,2.90422 h 1.6190226 l -1.3565064,-2.90422 z m -3.3801554,0.0243 1.3565063,2.9037 H -5.36298 l -1.3565063,-2.9037 z m -3.380156,0.0238 1.356507,2.9037 h 1.6190225 l -1.3565065,-2.9037 z"
style="opacity:1;fill:url(#linearGradient1423-968-141);fill-opacity:1;stroke:none;stroke-width:0.31014252;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.35277778;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect1417"
width="18.329483"
height="2.2376251"
x="-12.425961"
y="276.67093"
ry="0.45447317" />
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 21 KiB

@ -0,0 +1,618 @@
<?php
/* For licensing terms, see /license.txt */
/**
* Build the comunication with the SOAP server Compilatio.net
* call severals methods for the file management in Compilatio.net.
*
* @version: 2.0
*/
class Compilatio
{
/** Identification key for the Compilatio account*/
public $key;
/** Webservice connection*/
public $soapcli;
private $transportMode;
private $maxFileSize;
private $wgetUri;
private $wgetLogin;
private $wgetPassword;
private $proxyHost;
private $proxyPort;
/**
* Compilatio constructor.
*/
public function __construct()
{
if (empty(api_get_configuration_value('allow_compilatio_tool')) ||
empty(api_get_configuration_value('compilatio_tool'))
) {
throw new Exception('Compilatio not available');
}
$settings = api_get_configuration_value('compilatio_tool');
if (isset($settings['settings'])) {
$settings = $settings['settings'];
} else {
throw new Exception('Compilatio config available');
}
$key = $this->key = $settings['key'];
$urlsoap = $settings['soap_url'];
$proxyHost = $this->proxyHost = $settings['proxy_host'];
$proxyPort = $this->proxyPort = $settings['proxy_port'];
$this->transportMode = $settings['transport_mode'];
$this->maxFileSize = $settings['max_filesize'];
$this->wgetUri = $settings['wget_uri'];
$this->wgetLogin = $settings['wget_login'];
$this->wgetPassword = $settings['wget_password'];
$soapVersion = 2;
try {
if (!empty($key)) {
$this->key = $key;
if (!empty($urlsoap)) {
if (!empty($proxyHost)) {
$param = [
'trace' => false,
'soap_version' => $soapVersion,
'exceptions' => true,
'proxy_host' => '"'.$proxyHost.'"',
'proxy_port' => $proxyPort,
];
} else {
$param = [
'trace' => false,
'soap_version' => $soapVersion,
'exceptions' => true,
];
}
$this->soapcli = new SoapClient($urlsoap, $param);
} else {
throw new Exception('WS urlsoap not available');
}
} else {
throw new Exception('API key not available');
}
} catch (SoapFault $fault) {
$this->soapcli = "Error constructor compilatio $fault->faultcode $fault->faultstring ";
} catch (Exception $e) {
$this->soapcli = "Error constructor compilatio with urlsoap $urlsoap ".$e->getMessage();
}
}
/**
* @return string
*/
public function getKey()
{
return $this->key;
}
/**
* @param mixed $key
*
* @return Compilatio
*/
public function setKey($key)
{
$this->key = $key;
return $this;
}
/**
* @return mixed
*/
public function getTransportMode()
{
return $this->transportMode;
}
/**
* @param mixed $transportMode
*
* @return Compilatio
*/
public function setTransportMode($transportMode)
{
$this->transportMode = $transportMode;
return $this;
}
/**
* @return mixed
*/
public function getMaxFileSize()
{
return $this->maxFileSize;
}
/**
* @param mixed $maxFileSize
*
* @return Compilatio
*/
public function setMaxFileSize($maxFileSize)
{
$this->maxFileSize = $maxFileSize;
return $this;
}
/**
* @return mixed
*/
public function getWgetUri()
{
return $this->wgetUri;
}
/**
* @param mixed $wgetUri
*
* @return Compilatio
*/
public function setWgetUri($wgetUri)
{
$this->wgetUri = $wgetUri;
return $this;
}
/**
* @return mixed
*/
public function getWgetLogin()
{
return $this->wgetLogin;
}
/**
* @param mixed $wgetLogin
*
* @return Compilatio
*/
public function setWgetLogin($wgetLogin)
{
$this->wgetLogin = $wgetLogin;
return $this;
}
/**
* @return mixed
*/
public function getWgetPassword()
{
return $this->wgetPassword;
}
/**
* @param mixed $wgetPassword
*
* @return Compilatio
*/
public function setWgetPassword($wgetPassword)
{
$this->wgetPassword = $wgetPassword;
return $this;
}
/**
* @return mixed
*/
public function getProxyHost()
{
return $this->proxyHost;
}
/**
* @param mixed $proxyHost
*
* @return Compilatio
*/
public function setProxyHost($proxyHost)
{
$this->proxyHost = $proxyHost;
return $this;
}
/**
* @return mixed
*/
public function getProxyPort()
{
return $this->proxyPort;
}
/**
* @param mixed $proxyPort
*
* @return Compilatio
*/
public function setProxyPort($proxyPort)
{
$this->proxyPort = $proxyPort;
return $this;
}
/**
* Method for the file load.
*
* @param $title
* @param $description
* @param $filename
* @param $mimeType
* @param $content
*
* @return string
*/
public function sendDoc($title, $description, $filename, $mimeType, $content)
{
try {
if (!is_object($this->soapcli)) {
return "Error in constructor compilatio() $this->soapcli";
}
$idDocument = $this->soapcli->__call(
'addDocumentBase64',
[
$this->key,
utf8_encode(urlencode($title)),
utf8_encode(urlencode($description)),
utf8_encode(urlencode($filename)),
utf8_encode($mimeType),
base64_encode($content),
]
);
return $idDocument;
} catch (SoapFault $fault) {
return "Erreur sendDoc()".$fault->faultcode." ".$fault->faultstring;
}
}
/**
* Method for recover a document's information.
*
* @param $compiHash
*
* @return string
*/
public function getDoc($compiHash)
{
try {
if (!is_object($this->soapcli)) {
return "Error in constructor compilatio() ".$this->soapcli;
}
$param = [$this->key, $compiHash];
$idDocument = $this->soapcli->__call('getDocument', $param);
return $idDocument;
} catch (SoapFault $fault) {
return "Erreur getDoc()".$fault->faultcode." ".$fault->faultstring;
}
}
/**
* method for recover an url document's report.
*
* @param $compiHash
*
* @return string
*/
public function getReportUrl($compiHash)
{
try {
if (!is_object($this->soapcli)) {
return "Error in constructor compilatio() ".$this->soapcli;
}
$param = [$this->key, $compiHash];
$idDocument = $this->soapcli->__call('getDocumentReportUrl', $param);
return $idDocument;
} catch (SoapFault $fault) {
return "Erreur getReportUrl()".$fault->faultcode." ".$fault->faultstring;
}
}
/**
* Method for deleting a Compialtio's account document.
*
* @param $compiHash
*
* @return string
*/
public function deldoc($compiHash)
{
try {
if (!is_object($this->soapcli)) {
return "Error in constructor compilatio() ".$this->soapcli;
}
$param = [$this->key, $compiHash];
$this->soapcli->__call('deleteDocument', $param);
} catch (SoapFault $fault) {
return "Erreur deldoc()".$fault->faultcode." ".$fault->faultstring;
}
}
/**
* Method for start the analysis for a document.
*
* @param $compiHash
*
* @return string
*/
public function startAnalyse($compiHash)
{
try {
if (!is_object($this->soapcli)) {
return "Error in constructor compilatio() ".$this->soapcli;
}
$param = [$this->key, $compiHash];
$this->soapcli->__call('startDocumentAnalyse', $param);
} catch (SoapFault $fault) {
return "Erreur startAnalyse()".$fault->faultcode." ".$fault->faultstring;
}
}
/**
* Method for recover the account's quota.
*
* @return string
*/
public function getQuotas()
{
try {
if (!is_object($this->soapcli)) {
return "Error in constructor compilatio() ".$this->soapcli;
}
$param = [$this->key];
$resultat = $this->soapcli->__call('getAccountQuotas', $param);
return $resultat;
} catch (SoapFault $fault) {
return "Erreur getQuotas()".$fault->faultcode." ".$fault->faultstring;
}
}
/**
* Method for identify a file extension and the possibility that the document can be managed by Compilatio.
*
* @param $filename
*
* @return bool
*/
public static function verifiFileType($filename)
{
$types = ['doc', 'docx', 'rtf', 'xls', 'xlsx', 'ppt', 'pptx', 'odt', 'pdf', 'txt', 'htm', 'html'];
$extension = substr($filename, strrpos($filename, '.') + 1);
$extension = strtolower($extension);
return in_array($extension, $types);
}
/**
* Fonction affichage de la barre de progression d'analyse version 3.1.
*
* @param string $status From the document
* @param int $pour
* @param array $text Array includes the extract from the text
*
* @return string
*/
public static function getProgressionAnalyseDocv31($status, $pour = 0, $text = [])
{
$loading = Display::returnFontAwesomeIcon('spinner', null, true, 'fa-spin');
$loading .= '&nbsp;';
//$refreshReturn = Display::url('javascript:window.location.reload(false);', $loading);
switch ($status) {
case 'ANALYSE_IN_QUEUE':
$content = $loading.$text['analysisinqueue'];
break;
case 'ANALYSE_PROCESSING':
$content = $loading.$text['analysisinfinalization'];
break;
default:
$content = Display::bar_progress($pour, true);
break;
}
return $content;
}
/**
* Method for display the PomprseuilmankBar (% de plagiat).
*
* @param $index
* @param $weakThreshold
* @param $highThreshold
*
* @return string
*/
public static function getPomprankBarv31(
$index,
$weakThreshold,
$highThreshold
) {
$index = round($index);
$pour = round((50 * $index) / 100);
$return = '';
$class = 'error';
if ($index < $weakThreshold) {
$class = 'success';
} else {
if ($index >= $weakThreshold && $index < $highThreshold) {
$class = 'warning';
}
}
$return .= Display::bar_progress($index, true, null, $class);
return $return;
}
/**
* Method for validation of hash.
*
* @param string $hash
*
* @return bool
*/
public static function isMd5($hash)
{
return preg_match('`^[a-f0-9]{32}$`', $hash);
}
/**
* function for delete a document of the compilatio table if plagiarismTool is Compilatio.
*
* @param int $courseId
* @param int $itemId
*
* @return bool
*/
public static function plagiarismDeleteDoc($courseId, $itemId)
{
if (api_get_configuration_value('allow_compilatio_tool')) {
return false;
}
$table = Database:: get_course_table(TABLE_PLAGIARISM);
$params = [$courseId, $itemId];
Database::delete($table, ['c_id = ? AND document_id = ?' => $params]);
return true;
}
/**
* @param int $courseId
* @param int $documentId
* @param int $compilatioId
*/
public function saveDocument($courseId, $documentId, $compilatioId)
{
$documentId = (int) $documentId;
$courseId = (int) $courseId;
$table = Database::get_course_table(TABLE_PLAGIARISM);
$params = [
'c_id' => $courseId,
'document_id' => $documentId,
'compilatio_id' => $compilatioId,
];
Database::insert($table, $params);
}
/**
* @param int $documentId
* @param int $courseId
*
* @return string md5 value
*/
public function getCompilatioId($documentId, $courseId)
{
$documentId = (int) $documentId;
$courseId = (int) $courseId;
$table = Database::get_course_table(TABLE_PLAGIARISM);
$sql = "SELECT compilatio_id FROM $table
WHERE document_id = $documentId AND c_id= $courseId";
$result = Database::query($sql);
$result = Database::fetch_object($result);
if ($result) {
return (string) $result->compilatio_id;
}
return 0;
}
/**
* @param int $workId
*
* @return string
*/
public function giveWorkIdState($workId)
{
$compilatioImgFolder = api_get_path(WEB_CODE_PATH).'plagiarism/compilatio/img/';
$courseId = api_get_course_int_id();
$compilatioId = $this->getCompilatioId($workId, $courseId);
$actionCompilatio = '';
$status = '';
if (!empty($compilatioId)) {
if (self::isMd5($compilatioId)) {
// if compilatio_id is a hash md5, we call the function of the compilatio's
// webservice who return the document's status
$soapRes = $this->getDoc($compilatioId);
if (isset($soapRes->documentStatus)) {
$status = $soapRes->documentStatus->status;
}
} else {
// if the compilatio's hash is not a valide hash md5,
// we return à specific status (cf : IsInCompilatio() )
$status = 'NOT_IN_COMPILATIO';
$actionCompilatio = get_lang('CompilatioDocumentTextNotImage').'<br/>'.
get_lang('CompilatioDocumentNotCorrupt');
}
switch ($status) {
case 'ANALYSE_COMPLETE':
$urlRapport = $this->getReportUrl($compilatioId);
$actionCompilatio .= self::getPomprankBarv31(
$soapRes->documentStatus->indice,
10,
35
)
.Display::url(
get_lang('CompilatioAnalysis'),
$urlRapport,
['class' => 'btn btn-primary btn-xs', 'target' => '_blank']
);
break;
case 'ANALYSE_PROCESSING':
$actionCompilatio .= "<div style='font-weight:bold;text-align:left'>"
.get_lang('CompilatioAnalysisInProgress')
."</div>";
$actionCompilatio .= "<div style='font-size:80%;font-style:italic;margin-bottom:5px;'>"
.get_lang('CompilatioAnalysisPercentage')
."</div>";
$text = [];
$text['analysisinqueue'] = get_lang('CompilatioWaitingAnalysis');
$text['analysisinfinalization'] = get_lang('CompilatioAnalysisEnding');
$text['refresh'] = get_lang('Refresh');
$actionCompilatio .= self::getProgressionAnalyseDocv31(
$status,
$soapRes->documentStatus->progression,
$text
);
break;
case 'ANALYSE_IN_QUEUE':
$loading = Display::returnFontAwesomeIcon('spinner', null, true, 'fa-spin');
$actionCompilatio .= $loading.'&nbsp;'.get_lang('CompilatioAwaitingAnalysis');
break;
case 'BAD_FILETYPE':
$actionCompilatio .= get_lang('CompilatioFileIsNotSupported')
.'<br/>'
.get_lang('CompilatioProtectedPdfVerification');
break;
case 'BAD_FILESIZE':
$actionCompilatio .= get_lang('CompilatioFileIsTooBig');
break;
}
}
$result = $workId.'|'.$actionCompilatio.'|'.$status.'|';
return $result;
}
}

@ -0,0 +1,268 @@
<?php
/* For licensing terms, see /license.txt */
use Chamilo\CourseBundle\Entity\CExerciseCategory;
/**
* Class ExtraFieldValue
* Declaration for the ExtraFieldValue class, managing the values in extra
* fields for any data type.
*
* @package chamilo.library
*/
class ExerciseCategoryManager extends Model
{
public $type = '';
public $columns = [
'id',
'name',
'c_id',
'description',
'created_at',
'updated_at',
];
/**
* Formats the necessary elements for the given datatype.
*
* @param string $type The type of data to which this extra field
* applies (user, course, session, ...)
*
* @assert (-1) === false
*/
public function __construct()
{
parent::__construct();
$this->is_course_model = true;
$this->table = Database::get_course_table('exercise_category');
}
/**
* Gets the number of values stored in the table (all fields together)
* for this type of resource.
*
* @param int $courseId
*
* @return int Number of rows in the table
*/
public function getCourseCount($courseId)
{
$em = Database::getManager();
$query = $em->getRepository('ChamiloCourseBundle:CExerciseCategory')->createQueryBuilder('e');
$query->select('count(e.id)');
$query->where('e.cId = :cId');
$query->setParameter('cId', $courseId);
return $query->getQuery()->getSingleScalarResult();
}
/**
* @param int $courseId
*
* @return array
*/
public function getCategories($courseId)
{
$em = Database::getManager();
$query = $em->getRepository('ChamiloCourseBundle:CExerciseCategory')->createQueryBuilder('e');
$query->where('e.cId = :cId');
$query->setParameter('cId', $courseId);
$query->orderBy('e.position');
return $query->getQuery()->getResult();
}
/**
* @param int $courseId
*
* @return array
*/
public function getCategoriesForSelect($courseId)
{
$categories = $this->getCategories($courseId);
$options = [];
if (!empty($categories)) {
/** @var CExerciseCategory $category */
foreach ($categories as $category) {
$options[$category->getId()] = $category->getName();
}
}
return $options;
}
/**
* @param int $id
*/
public function delete($id)
{
$em = Database::getManager();
$repo = Database::getManager()->getRepository('ChamiloCourseBundle:CExerciseCategory');
$category = $repo->find($id);
if ($category) {
$em->remove($category);
$em->flush();
$courseId = api_get_course_int_id();
$table = Database::get_course_table(TABLE_QUIZ_TEST);
$id = (int) $id;
$sql = "UPDATE $table SET exercise_category_id = 0
WHERE c_id = $courseId AND exercise_category_id = $id";
Database::query($sql);
}
}
/**
* Save values in the *_field_values table.
*
* @param array $params Structured array with the values to save
* @param bool $showQuery Whether to show the insert query (passed to the parent save() method)
*/
public function save($params, $showQuery = false)
{
$courseId = api_get_course_int_id();
$em = Database::getManager();
$category = new CExerciseCategory();
$category
->setName($params['name'])
->setCId(api_get_course_int_id())
->setDescription($params['name'])
;
/*
// Update position
$query = $em->getRepository('ChamiloCourseBundle:CExerciseCategory')->createQueryBuilder('e');
$query
->where('e.cId = :cId')
->setParameter('cId', $courseId)
->setMaxResults(1)
->orderBy('e.position', 'DESC');
$last = $query->getQuery()->getOneOrNullResult();
$position = 0;
if (!empty($last)) {
$position = $last->getPosition() + 1;
}
$category->setPosition($position);
*/
$em->persist($category);
$em->flush();
return $category;
}
/**
* @param $token
*
* @return string
*/
public function getJqgridActionLinks($token)
{
//With this function we can add actions to the jgrid (edit, delete, etc)
$editIcon = Display::return_icon('edit.png', get_lang('Edit'), '', ICON_SIZE_SMALL);
$deleteIcon = Display::return_icon('delete.png', get_lang('Delete'), '', ICON_SIZE_SMALL);
$confirmMessage = addslashes(
api_htmlentities(get_lang('ConfirmYourChoice'), ENT_QUOTES)
);
$courseParams = api_get_cidreq();
$editButton = <<<JAVASCRIPT
<a href="?action=edit&{$courseParams}&id=' + options.rowId + '" class="btn btn-link btn-xs">\
$editIcon\
</a>
JAVASCRIPT;
$deleteButton = <<<JAVASCRIPT
<a \
onclick="if (!confirm(\'$confirmMessage\')) {return false;}" \
href="?sec_token=$token&{$courseParams}&id=' + options.rowId + '&action=delete" \
class="btn btn-link btn-xs">\
$deleteIcon\
</a>
JAVASCRIPT;
return "function action_formatter(cellvalue, options, rowObject) {
return '$editButton $deleteButton';
}";
}
/**
* @param string $url
* @param string $action
*
* @return FormValidator
*/
public function return_form($url, $action)
{
$form = new FormValidator('category', 'post', $url);
$id = isset($_GET['id']) ? (int) $_GET['id'] : null;
$form->addElement('hidden', 'id', $id);
// Setting the form elements
$header = get_lang('Add');
$defaults = [];
if ($action === 'edit') {
$header = get_lang('Modify');
// Setting the defaults
$defaults = $this->get($id, false);
}
$form->addElement('header', $header);
$form->addText(
'name',
get_lang('Name')
);
$form->addHtmlEditor('description', get_lang('Description'));
if ($action === 'edit') {
$form->addButtonUpdate(get_lang('Modify'));
} else {
$form->addButtonCreate(get_lang('Add'));
}
/*if (!empty($defaults['created_at'])) {
$defaults['created_at'] = api_convert_and_format_date($defaults['created_at']);
}
if (!empty($defaults['updated_at'])) {
$defaults['updated_at'] = api_convert_and_format_date($defaults['updated_at']);
}*/
$form->setDefaults($defaults);
// Setting the rules
$form->addRule('name', get_lang('ThisFieldIsRequired'), 'required');
return $form;
}
/**
* @return string
*/
public function display()
{
// action links
$content = '<div class="actions">';
$content .= '<a href="'.api_get_path(WEB_CODE_PATH).'exercise/exercise.php?'.api_get_cidreq().'">';
$content .= Display::return_icon(
'back.png',
get_lang('BackTo').' '.get_lang('PlatformAdmin'),
'',
ICON_SIZE_MEDIUM
);
$content .= '</a>';
$content .= '<a href="'.api_get_self().'?action=add&'.api_get_cidreq().'">';
$content .= Display::return_icon(
'add.png',
get_lang('Add'),
'',
ICON_SIZE_MEDIUM
);
$content .= '</a>';
$content .= '</div>';
$content .= Display::grid_html('categories');
return $content;
}
}
Loading…
Cancel
Save