. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
| Server IP : 52.223.31.75 / Your IP : 172.31.6.220 [ Web Server : Apache/2.4.66 () OpenSSL/1.0.2k-fips PHP/7.4.33 System : Linux ip-172-31-14-81.eu-central-1.compute.internal 4.14.281-212.502.amzn2.x86_64 #1 SMP Thu May 26 09:52:17 UTC 2022 x86_64 User : apache ( 48) PHP Version : 7.4.33 Disable Function : NONE Domains : 4 Domains MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /var/www/ripara.co/admin/views/ |
Upload File : |
<form name="formScheda" novalidate>
<!-- Titolo -->
<div class="pmb-block">
<div class="pmbb-header">
<h2><i class="zmdi zmdi-equalizer m-r-5"></i> {{info.keys.titolo}}</h2>
<ul class="actions" data-ng-if="sctrl.editSummary === 0">
<li class="dropdown" uib-dropdown>
<a href="" uib-dropdown-toggle>
<i class="zmdi zmdi-more-vert"></i>
</a>
<ul class="dropdown-menu dropdown-menu-right">
<li>
<a data-ng-click="sctrl.editSummary = 1" href="">Modifica</a>
</li>
</ul>
</li>
</ul>
</div>
<div class="pmbb-body p-l-30">
<!--
<div class="pmbb-view" data-ng-if="sctrl.editSummary === 0">
{{info.titolo}}
</div>
-->
<div class="pmbb-edit" data-ng-if="sctrl.editSummary === 1">
<div class="fg-line" ng-class="info.keys.titolo ? '' : 'has-error'">
<input type="text" data-ng-model="info.keys.titolo" class="form-control" rows="5" placeholder="Nuovo titolo" required></input>
</div>
<!--
<div class="m-t-10">
<button class="btn btn-primary btn-sm" type="submit">Salva</button>
<button class="btn btn-link btn-sm" data-ng-click="sctrl.editSummary = 0" >Annulla</button>
</div>
-->
</div>
</div>
</div>
<!-- Tags -->
<div class="pmb-block">
<div class="pmbb-header">
<h4><i class="zmdi zmdi-equalizer m-r-5"></i> Tags</h4>
<!--
<ul class="actions" data-ng-if="sctrl.editSummary2 === 0">
<li class="dropdown" uib-dropdown>
<a href="" uib-dropdown-toggle>
<i class="zmdi zmdi-more-vert"></i>
</a>
<ul class="dropdown-menu dropdown-menu-right">
<li>
<a data-ng-click="sctrl.editSummary2 = 1" href="">Modifica</a>
</li>
</ul>
</li>
</ul>
-->
</div>
<div class="pmbb-body p-l-30">
<div class="pmbb-view" data-ng-if="sctrl.editSummary === 0">
<span ng-repeat="tag in info.tags"><span style="">#</span>{{tag.text}} </span>
</div>
<tags-input ng-model="info.tags" data-ng-if="sctrl.editSummary === 1"></tags-input>
<!--
<div data-ng-submit="sctrl.submit('profileSummary')" class="pmbb-edit" data-ng-if="sctrl.editSummary === 1">
<div class="fg-line">
<input type="text" data-ng-model="info.tags" class="form-control" rows="5" placeholder="Tags"></input>
</div>
<div class="m-t-10">
<button class="btn btn-primary btn-sm" type="submit">Salva</button>
<button class="btn btn-link btn-sm" data-ng-click="sctrl.editSummary2 = 0" >Annulla</button>
</div>
</div>
-->
</div>
</div>
<!-- Date per calendario -->
<div class="pmb-block" data-ng-if="sctrl.editSummary === 1">
<div class="pmbb-header">
<h4>
<!--<label for="inputCognome" class="col-sm-2 control-label"><span ng-show="$first">Accessi Pagine</span> </label>
-->
<div class="checkbox col-sm-10">
<label>
<input type="checkbox" ng-model="info.dateCalendario" ng-true-value="true" ng-false-value="false">
<i class="input-helper"></i>
Date nel calendario
</label>
</div>
<!--<i class="zmdi zmdi-equalizer m-r-5"></i>-->
</h4>
</div>
<div class="pmbb-body p-l-30" data-ng-if="info.dateCalendario">
<div class="date row">
<div class="col-sm-3" style="margin-top: 30px">
<div class="date-picker input-group" ng-class="{ 'is-opened': opened == true }">
<span class="input-group-addon"><i class="zmdi zmdi-calendar ma-icon"></i></span>
<div class="fg-line" ng-class="{ 'fg-toggled': opened == true }">
<input ng-click="open($event, 'opened')" type="text" class="form-control" uib-datepicker-popup="{{format}}" show-weeks="false" ng-model="info.calendardatainizio" is-open="opened" datepicker-options="dateOptions" ng-required="info.dateCalendario" close-text="Close" placeholder="Inizio" ng-dissabled="!ascissa" />
</div>
</div>
</div>
<!--
<div class="col-sm-3">
<uib-timepicker ng-model="dtPopup" ng-change="changed()" hour-step="hstep" minute-step="mstep" show-meridian="ismeridian"></uib-timepicker>
</div>
-->
<div class="col-sm-3" style="margin-top: 30px">
<div class="date-picker input-group dp-blue" ng-class="{ 'is-opened': opened2 == true }">
<span class="input-group-addon"><i class="zmdi zmdi-calendar ma-icon"></i></span>
<div class="fg-line" ng-class="{ 'fg-toggled': opened2 == true }">
<input ng-click="open($event, 'opened2')" type="text" class="form-control" uib-datepicker-popup="{{format}}" show-weeks="false" ng-model="info.calendardatafine" is-open="opened2" min-date="info.calendardatainizio" datepicker-options="dateOptions" ng-required="info.dateCalendario" close-text="Close" placeholder="Fine" ng-disabled="!info.calendardatainizio" />
</div>
</div>
</div>
<!--
<div class="col-sm-3">
<uib-timepicker ng-model="dtPopup2" ng-change="changed()" hour-step="hstep" minute-step="mstep" show-meridian="ismeridian" min="dtPopup"></uib-timepicker>
</div>
-->
</div>
</div>
</div>
<!-- Campi obbligatori -->
<div class="pmb-block">
<div class="pmbb-header">
<h2><i class="zmdi zmdi-person m-r-5"></i>Campi obbligatori</h2>
<!--
<ul class="actions" data-ng-if="sctrl.editInfo === 0">
<li class="dropdown" uib-dropdown>
<a href="" uib-dropdown-toggle>
<i class="zmdi zmdi-more-vert"></i>
</a>
<ul class="dropdown-menu dropdown-menu-right">
<li>
<a data-ng-click="sctrl.editInfo = 1" href="">Modifica</a>
</li>
</ul>
</li>
</ul>
-->
</div>
<div class="pmbb-body p-l-30">
<div class="pmbb-view" data-ng-if="sctrl.editSummary === 0">
<dl class="dl-horizontal" ng-repeat="key in campiObbligatori">
<dt>{{key}}</dt>
<dd ng-if="info.keys[key]">{{info.keys[key]}}</dd>
<dd ng-if="!info.keys[key]" style="color: red">Missing parameter</dd>
</dl>
</div>
<div data-ng-submit="sctrl.submit('profileInfo')" class="pmbb-edit" data-ng-if="sctrl.editSummary === 1" name="formCampiNecessari">
<dl class="dl-horizontal" ng-repeat="key in campiObbligatori">
<dt class="p-t-10">{{key}}</dt>
<dd>
<div class="fg-line" ng-class="info.keys[key] ? '' : 'has-error'">
<input data-ng-model="info.keys[key]" type="text" class="form-control" value="{{ sctrl.info.firstname }}" placeholder="{{key}}" required>
</div>
</dd>
</dl>
<!--
<div class="m-t-30">
<button class="btn btn-primary btn-sm" type="submit">Salva</button>
<button class="btn btn-link btn-sm" data-ng-click="sctrl.editInfo = 0" >Annulla</button>
</div>
-->
</div>
</div>
</div>
<!-- Campi non obbligatori -->
<div class="pmb-block">
<div class="pmbb-header" data-ng-if="sctrl.editSummary === sctrl.editSummary">
<h2><i class="zmdi zmdi-person m-r-5"></i>Campi Extra</h2>
<!--
<ul class="actions" data-ng-if="sctrl.editInfo === 0">
<li class="dropdown" uib-dropdown>
<a href="" uib-dropdown-toggle>
<i class="zmdi zmdi-more-vert"></i>
</a>
<ul class="dropdown-menu dropdown-menu-right">
<li>
<a data-ng-click="sctrl.editInfo = 1" href="">Modifica</a>
</li>
</ul>
</li>
</ul>
-->
</div>
<div class="pmbb-body p-l-30">
<div class="pmbb-view" data-ng-if="sctrl.editSummary === 0">
<dl class="dl-horizontal" ng-repeat="(key, value) in info.keys" data-ng-if="!sctrl.isInArray(key, campiObbligatori) && key !== 'titolo'">
<dt>{{key}}</dt>
<dd>{{value}}</dd>
</dl>
</div>
<div class="pmbb-edit" data-ng-if="sctrl.editSummary === 1" name="formScheda">
<dl class="dl-horizontal" ng-repeat="(key, value) in info.keys" data-ng-if="!sctrl.isInArray(key, campiObbligatori) && key !== 'titolo'">
<dt class="p-t-10"><button class="btn bgm-cyan waves-effect" data-ng-click="sctrl.removeCampo(key);"><i class="zmdi zmdi-close"></i></button> {{key}}</dt>
<dd>
<div class="fg-line">
<input data-ng-model="value" type="text" class="form-control" value="{{ sctrl.info.firstname }}" placeholder="{{key}}">
</div>
</dd>
</dl>
<dl class="dl-horizontal" data-ng-if="sctrl.newCampo">
<dt class="p-t-10">
<span class="fg-line">
<input data-ng-model="o.newKey" type="text" class="form-control" value="{{ sctrl.info.firstname }}" placeholder="key">
</span>
</dt>
<dd>
<div class="fg-line" style="margin-top: 9px">
<input data-ng-model="o.newValue" type="text" class="form-control" value="{{ sctrl.info.firstname }}" placeholder="value">
</div>
</dd>
</dl>
<button class="btn bgm-cyan btn-float" ng-click="sctrl.pushCampo()"><i class="zmdi zmdi-plus"></i></button>
</div>
</div>
</div>
<br><br>
<!-- Elenco Files -->
<div class="pmb-block">
<div class="pmbb-header">
<h2><i class="zmdi zmdi-person m-r-5"></i>Files</h2>
</div>
<!-- The table listing the files available for upload/download -->
<table class="table table-striped files ng-cloak" style="max-width: 100%">
<tr data-ng-repeat="file in info.files" data-ng-class="{'processing': file.$processing()}">
<td>
<img ng-src="{{file.url}}" style=" max-width: 100px">
</td>
<td>
<a data-ng-href="{{file.url}}" title="{{file.filename}}" download="{{file.filename}}" data-gallery>{{file.filename}}</a>
</td>
<!--
<td>
<p class="size">{{file.size | formatFileSize}}</p>
<div class="progress progress-striped active fade" data-ng-class="{pending: 'in'}[file.$state()]" data-file-upload-progress="file.$progress()"><div class="progress-bar progress-bar-success" data-ng-style="{width: num + '%'}"></div></div>
</td>
-->
<!--
<td>
<button type="button" class="btn btn-primary start" data-ng-click="file.$submit()" data-ng-hide="!file.$submit || options.autoUpload" data-ng-disabled="file.$state() == 'pending' || file.$state() == 'rejected'">
<i class="glyphicon glyphicon-upload"></i>
<span>Start</span>
</button>
<button type="button" class="btn btn-warning cancel" data-ng-click="file.$cancel()" data-ng-hide="!file.$cancel">
<i class="glyphicon glyphicon-ban-circle"></i>
<span>Cancel</span>
</button>
<button data-ng-controller="FileDestroyController" type="button" class="btn btn-danger destroy" data-ng-click="file.$destroy()" data-ng-hide="!file.$destroy">
<i class="glyphicon glyphicon-trash"></i>
<span>Delete</span>
</button>
</td>
-->
</tr>
</table>
</div>
</form>
<!-- Upload Files -->
<div class="pmbb-body p-l-30" style="margin-top: -50px" data-ng-if="sctrl.editSummary === 1">
<!-- The file upload form used as target for the file upload widget -->
<form method="POST" enctype="multipart/form-data" data-ng-controller="DemoFileUploadController" data-file-upload="options" data-ng-class="{'fileupload-processing': processing() || loadingFiles}">
<!-- Redirect browsers with JavaScript disabled to the origin page ->
<noscript><input type="hidden" name="redirect" value="https://blueimp.github.io/jQuery-File-Upload/"></noscript>
<!-- The fileupload-buttonbar contains buttons to add/delete files and start/cancel the upload -->
<div class="row fileupload-buttonbar pmb-block">
<div class="col-lg-7">
<!-- The fileinput-button span is used to style the file input field as button -->
<span class="btn btn-success fileinput-button" ng-class="{disabled: disabled}">
<i class="glyphicon glyphicon-plus"></i>
<span>Clicca o trascina per aggiungere files</span>
<input id="fileupload" type="file" name="files[]" multiple ng-disabled="disabled">
</span>
<!--
<button type="button" class="btn btn-primary start" data-ng-click="submit()">
<i class="glyphicon glyphicon-upload"></i>
<span>Start upload</span>
</button>
<button type="button" class="btn btn-warning cancel" data-ng-click="cancel()">
<i class="glyphicon glyphicon-ban-circle"></i>
<span>Cancel upload</span>
</button>
-->
<!-- The global file processing state -->
<span class="fileupload-process"></span>
</div>
<br>
<!-- The global progress state -->
<div id="progress" class="progress">
<div class="progress-bar progress-bar-danger"></div>
</div>
<!--
<div class="col-lg-5 fade" data-ng-class="{in: active()}">
<div class="progress progress-striped active" data-file-upload-progress="progress()"><div class="progress-bar progress-bar-success" data-ng-style="{width: num + '%'}"></div></div>
<div class="progress-extended"> </div>
</div>
-->
</div>
<!-- The table listing the files available for upload/download -->
<table class="table table-striped files ng-cloak" style="max-width: 100%">
<tr data-ng-repeat="file in queue" data-ng-class="{'processing': file.$processing()}">
<td data-ng-switch data-on="!!file.thumbnailUrl">
<div class="preview" data-ng-switch-when="true">
<a data-ng-href="{{file.url}}" title="{{file.name}}" download="{{file.name}}" data-gallery><img data-ng-src="{{file.thumbnailUrl}}" alt=""></a>
</div>
<div class="preview" data-ng-switch-default data-file-upload-preview="file"></div>
</td>
<td>
<p class="name" data-ng-switch data-on="!!file.url">
<span data-ng-switch-when="true" data-ng-switch data-on="!!file.thumbnailUrl">
<a data-ng-switch-when="true" data-ng-href="{{file.url}}" title="{{file.name}}" download="{{file.name}}" data-gallery>{{file.name}}</a>
<a data-ng-switch-default data-ng-href="{{file.url}}" title="{{file.name}}" download="{{file.name}}">{{file.name}}</a>
</span>
<span data-ng-switch-default>{{file.name}}</span>
</p>
<strong data-ng-show="file.error" class="error text-danger">{{file.error}}</strong>
</td>
<td>
<p class="size">{{file.size | formatFileSize}}</p>
<div class="progress progress-striped active fade" data-ng-class="{pending: 'in'}[file.$state()]" data-file-upload-progress="file.$progress()"><div class="progress-bar progress-bar-success" data-ng-style="{width: num + '%'}"></div></div>
</td>
<td><!--
<button type="button" class="btn btn-primary start" data-ng-click="file.$submit()" data-ng-hide="!file.$submit || options.autoUpload" data-ng-disabled="file.$state() == 'pending' || file.$state() == 'rejected'">
<i class="glyphicon glyphicon-upload"></i>
<span>Start</span>
</button>
<button type="button" class="btn btn-warning cancel" data-ng-click="file.$cancel()" data-ng-hide="!file.$cancel">
<i class="glyphicon glyphicon-ban-circle"></i>
<span>Cancel</span>
</button>
-->
<button data-ng-controller="FileDestroyController" type="button" class="btn btn-danger destroy" data-ng-click="file.$destroy()" data-ng-hide="!file.$destroy">
<i class="glyphicon glyphicon-trash"></i>
<span>Delete</span>
</button>
</td>
</tr>
</table>
</form>
<br><br>
<!-- email -->
<div class="pmb-block" style="margin-top: -50px" data-ng-if="sctrl.editSummary === 1">
<div class="pmbb-header">
<h4>
<div class="checkbox col-sm-10">
<label>
<input type="checkbox" ng-model="info.inviaEmail" ng-true-value="true" ng-false-value="false">
<i class="input-helper"></i>
Invia email
</label>
</div>
</h4>
</div>
<br><br>
<form name="mailForm" class="pmbb-body p-l-30" data-ng-if="info.inviaEmail" novalidate>
<div class="card" id="cardUtentiLdap">
<!-- Seleziona destinatari
<div class="card-header">
<h2>Seleziona destinatari</h2>
</div>
-->
<!-- Oggetto email-->
<div class="pmbb-view" data-ng-if="info.inviaEmail">
<dl class="dl-horizontal">
<dt>Oggetto</dt>
</dl>
</div>
<div class="pmbb-edit" data-ng-if="info.inviaEmail">
<dl class="dl-horizontal">
<dt class="p-t-10"></dt>
<dd>
<div class="fg-line" ng-class="info.mail.oggetto ? '' : 'has-error'">
<input data-ng-model="info.mail.oggetto" type="text" class="form-control" placeholder="Oggetto" ng-required="info.inviaEmail">
</div>
</dd>
</dl>
</div><!-- Fine Oggetto email-->
<!-- Testo email -->
<div class="pmbb-view" data-ng-if="info.inviaEmail">
<dl class="dl-horizontal">
<dt>Testo</dt>
</dl>
</div>
<div class="pmbb-edit" data-ng-if="info.inviaEmail">
<dl class="dl-horizontal">
<dt class="p-t-10"></dt>
<dd>
<div class="fg-line" ng-class="info.mail.text ? '' : 'has-error'">
<textarea rows="2" class="form-control" data-ng-model="info.mail.text" placeholder="Testo email" ng-required="info.inviaEmail"></textarea>
</div>
</dd>
</dl>
</div><!-- Fine Testo email -->
<!-- Ricerca utenti -->
<div class="card-header">
<h2>Ricerca utente <small>Ricerca un utente su ldap</small></h2>
<div class="form-group">
<div class="fg-line">
<input type="text" class="form-control input-sm" data-ng-model="ricercaLDAP" required id="ricercaLDAP" placeholder="Nome">
</div>
</div>
<div class="form-group">
<button ng-click="cercaLDAP()" class="btn btn-primary btn-sm waves-effect">Cerca Utente</button>
</div>
</div>
<!-- Elenco utenti ricercati -->
<div class="card-body">
<div class="table-responsive">
<table ng-table="uctrl.tableUtentiLDAP" class="table table-striped table-vmiddle" show-filter="false">
<tr style="{{w.style}}" ng-repeat="w in $data" x-lvl-draggable="{{w.drag}}" user-id="{{w.id_user}}">
<td>
<button class="btn btn-danger" ng-click="addUserToDestinatari(w)">+</button>
</td>
<td filter="{ 'firstname': 'text' }">
{{ w.firstname }} {{ w.lastname }}
</td>
</tr>
</table>
</div>
</div>
<div class="card-header"> <!-- ng-show="mail.gruppiDestinatari[0] || mail.usersDestinatari[0]">-->
<h2>Destinatari</h2>
</div>
<!-- Elenco Gruppi checkbox -->
<div class="form-group" ng-repeat="group in gruppi">
<label for="inputCognome" class="col-sm-2 control-label"><span ng-show="$first">Gruppi</span> </label>
<div class="checkbox col-sm-10">
<label>
<input type="checkbox" value="{{group.id}}" ng-click="toggleSelection(group)">
<i class="input-helper"></i>
{{group.title}}
</label>
</div>
</div>
<!-- gruppi inseriti
<div class="card-header" ng-show="mail.gruppiDestinatari[0]">
<h2>Gruppi</h2>
</div>
<div class="card-body" ng-show="mail.gruppiDestinatari[0]">
<div class="table-responsive">
<table ng-table="uctrl.tableUtentiLDAP" class="table table-striped table-vmiddle" show-filter="false">
<tr style="{{w.style}}" ng-repeat="w in mail.gruppiDestinatari" x-lvl-draggable="{{w.drag}}" user-id="{{w.id_user}}">
<td>
<div>
<button class="btn btn-danger" ng-click="toggleSelection(w)">-</button>
</div>
</td>
<td data-title="'Nome'" filter="{ 'firstname': 'text' }">
{{ w.title }}
</td>
<td data-title="'Email'" filter="{ 'email': 'text' }">
{{ w.email }}
</td>
<td data-title="'Username'" filter="{ 'username': 'text' }">
{{ w.username }}
</td>
<td data-title="'Dn'" filter="{ 'dn': 'text' }">
{{ w.dn }}
</td>
</tr>
</table>
</div>
</div>
-->
<!-- utenti inseriti -->
<div class="card-header" ng-show="mail.usersDestinatari[0]">
<h2>Utenti</h2>
</div>
<div class="card-body" ng-show="mail.usersDestinatari[0]">
<div class="table-responsive">
<table ng-table="uctrl.tableUtentiLDAP" class="table table-striped table-vmiddle" show-filter="false">
<tr style="{{w.style}}" ng-repeat="w in mail.usersDestinatari" x-lvl-draggable="{{w.drag}}" user-id="{{w.id_user}}">
<td>
<div>
<button class="btn btn-danger" ng-click="removeUserFromDestinatari(w)">-</button>
</div>
</td>
<td filter="{ 'firstname': 'text' }">
{{ w.firstname }} {{ w.lastname }}
</td>
</tr>
</table>
</div>
</div>
</div>
<!-- Invio
<div class="m-t-30">
<button class="btn btn-primary btn-sm" ng-disabled="mailForm.$invalid" ng-click=" inviaMail()">Invia</button>
</div>
-->
</form>
</div>
<div class="m-t-30">
<button class="btn btn-primary btn-sm" type="submit" ng-disabled="formScheda.$invalid" ng-click="sctrl.updateScheda()">Salva</button>
<button class="btn btn-link btn-sm" data-ng-click="sctrl.editSummary = 0; sctrl.getScheda()" >Annulla</button>
</div>
<br><br>
</div>
<style>
.fileinput-button {
position: relative;
overflow: hidden;
display: inline-block;
}
.fileinput-button input {
position: absolute;
top: 0;
right: 0;
margin: 0;
opacity: 0;
-ms-filter: 'alpha(opacity=0)';
font-size: 200px !important;
direction: ltr;
cursor: pointer;
}
/* Fixes for IE < 8 */
@media screen\9 {
.fileinput-button input {
filter: alpha(opacity=0);
font-size: 100%;
height: 100%;
}
}
.fileupload-buttonbar .btn,
.fileupload-buttonbar .toggle {
margin-bottom: 5px;
}
.progress-animated .progress-bar,
.progress-animated .bar {
/*background: url("../img/progressbar.gif") !important;*/
filter: none;
}
.fileupload-process {
float: right;
display: none;
}
.fileupload-processing .fileupload-process,
.files .processing .preview {
display: block;
width: 32px;
height: 32px;
/*background: url("../img/loading.gif") center no-repeat;*/
background-size: contain;
}
.files audio,
.files video {
max-width: 300px;
}
@media (max-width: 767px) {
.fileupload-buttonbar .toggle,
.files .toggle,
.files .btn span {
display: none;
}
.files .name {
width: 80px;
word-wrap: break-word;
}
.files audio,
.files video {
max-width: 80px;
}
.files img,
.files canvas {
max-width: 100%;
}
}
</style>