Amministrazione Trasparente – adeguamenti Delibera ANAC 1310

Per adeguare il plugin di wordpress “Amministrazione Trasparente” realizzato da Marco Milesi (wpgov.it) (rif. Plugin Amministrazione Trasparente di Marco Milesi ) alla Delibera n. 1310 – “Prime linee guida recanti indicazioni sull’attuazione degli obblighi di pubblicità, trasparenza e diffusione di informazioni contenute nel d.lgs. 33/2013 come modificato dal d.lgs. 97/2016”
( http://www.anticorruzione.it/portal/public/classic/AttivitaAutorita/AttiDellAutorita/_Atto?ca=6667 ) che deve essere rispettata entro il 31/03/2017,ho realizzato alcune modifiche al plugin originale.

Per applicare le modifiche la procedura è la stessa dell’aggiornamento manuale del plugin.

Si ricorda di fare un backup del proprio sito (compreso il DB) perchè non mi assumo responsabilità su perdite di dati o problemi vari.

Occorre quindi scaricare il plugin (qui sotto), andare nella cartella wp-content/plugins del proprio sito e copiarlo lì.

Estrarlo sovrascrivendo i file presenti.

Poi loggarsi al back-end del proprio wordpress

Compariranno (la prima volta) strane scritte… è tutto regolare.

Poi tutto comparirà e inizierà a afunzionare come qui:

http://trasparenza.provincia.prato.it/

Allego di seguito l’intero plugin modificato da poter scaricare.
amministrazione-trasparente-MAOX

Spero di aver fatto cosa buona per tutti coloro che come me attendevano questi adeguamenti da tempo.

Saluti

nginx per wordpress con alti volumi di traffico su CentOS 6x

Risorse da consultare

http://codex.wordpress.org/Nginx#URL_Rewrites_.2F_Permalinks

How to install LEMP on centos 6 ( Nginx, PHP, Mysql )


http://nginx.org/en/linux_packages.html#stable

Installazione nginx su CentOS 6*

wget http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm

rpm -Uhv nginx-release-centos-6-0.el6.ngx.noarch.rpm

vim /etc/yum.repos.d/nginx.repo

aggiungi

priority=10

yum install nginx

per la configurazione vedi la directory conf
https://github.com/MaoX17/nginx-php-fpm-wordpress-high-performance

Installazione php-fpm 5.4 su CentOS 6*

yum install centos-release-SCL

yum update

yum install php54*

per la configurazione vedi la directory conf
https://github.com/MaoX17/nginx-php-fpm-wordpress-high-performance

Installazione redis su CentOS 6*

yum install redis.x86_64

/opt/rh/php54/root/usr/bin/pecl install redis

You should add “extension=redis.so” to php.ini

dopo controlla phpinfo

/opt/rh/php54/root/usr/bin/pear channel-discover pear.nrk.io

/opt/rh/php54/root/usr/bin/pear remote-list -c nrk

/opt/rh/php54/root/usr/bin/pear install nrk/predis

ricorda di installare il plugin per redis su wordpress e il plugin WP-Super-Cache

per la configurazione vedi la directory conf
https://github.com/MaoX17/nginx-php-fpm-wordpress-high-performance

How to install php-mcrypt on php-5.4 SCL

How to install php-mcrypt for php-5.4 on CentOs 6.x SCL

wget http://rpms.southbridge.ru/rhel6/php-5.4/x86_64/php-mcrypt-5.4.16-1.el6.x86_64.rpm

By EPEL:
yum inatall libmcrypt
yum install php-common

rpm2cpio php-mcrypt-5.4.16-1.el6.x86_64.rpm | cpio -idmv

cp etc/php.d/mcrypt.ini /opt/rh/php54/root/etc/php.d/
cp usr/lib64/php/modules/mcrypt.so /opt/rh/php54/root/usr/lib64/php/modules/

vim /opt/rh/php54/root/etc/php.ini
and add
extension=mcrypt.so

Propel e portali – appunti utili… a me

Installazione Propel

just create a new composer.json file at the root of your project’s directory with the following content:

{
"require": {
"propel/propel": "~2.0@dev"
}
}

wget http://getcomposer.org/composer.phar

php composer.phar install

Per testarlo:

cd myproject
e lancia
vendor/bin/propel
export PATH=$PATH:/path/to/vendor/bin/
cd mkdir propel
mkdir propel/class
propel init
propel model:build
vim composer.json
{
"require": {
"propel/propel": "~2.0@dev"
},
"autoload": {
"classmap": ["propel/class/"]
}
}

php composer.phar dump-autoload

propel config:convert

nei file php:

require_once 'include.inc.php';
// setup the autoloading
require_once 'vendor/autoload.php';
//require_once 'vendor/autoload.php';
// setup Propel
require_once 'generated-conf/config.php';

e poi:

 $avviso->setDtAvviso("2013-12-11");
echo $avviso->getAvviso();
var_dump($avviso->getDtAvviso());
$d1=new DateTime("2012-07-08 11:14:15.638276");
var_dump($d1);
echo $d1->format('Y-m-d H:i');
echo $avviso->getDtAvviso()->format('Y-m-d H:i');
$newDate = $avviso->getDtAvviso();
$newDate = $newDate->format('Y-m-d H:i:s'); // for example
$avviso->save()
?>

[modifica]
Propel – Installazione con reverse

just create a new composer.json file at the root of your project’s directory with the following content:

{
"require": {
"propel/propel": "~2.0@dev"
}
}

wget http://getcomposer.org/composer.phar

php composer.phar install

Per testarlo:

cd myproject
e lancia
vendor/bin/propel
export PATH=$PATH:/path/to/vendor/bin/
cd mkdir propel
mkdir propel/class
genera il file propel.yml :
Attenzione che deve essere INDENTATO!!!!
propel:
  general:
      project: bandi_concorsi
      version: 0.4

  paths:
      projectDir:  /var/www/vhosts/bandi_concorsi
      schemaDir: /var/www/vhosts/bandi_concorsi/propel
      phpDir: /var/www/vhosts/bandi_concorsi/propel/class
      phpConfDir: /var/www/vhosts/bandi_concorsi/propel
      # Directory in which your composer.json resides
#      composerDir: {empty}

## All Database settings ##
  database:
      connections:
          default:
              adapter: mysql
              dsn: mysql:host=localhost;dbname=bandi_concorsi
              user: root
              password:
              settings:
                  charset: utf8

          bandi_concorsi:
              adapter: mysql
              dsn: "mysql:host=localhost;dbname=bandi_concorsi"
              user: root
              password:
              settings:
                  charset: utf8

          albopretorio:
              adapter: mysql
              dsn: "mysql:host=192.168.0.20;dbname=albopretorio"
              user: user_db
              password: pass_db_pass
              attributes:

          protocollo:
              adapter: pgsql
              dsn: "pgsql://protocolloro:protocolloro@192.168.0.23:5433/protocollo"
              user: protocolloro
              password: protocolloro
              attributes:
propel reverse --output-dir="./propel"
propel model:build
vim composer.json
{
"require": {
"propel/propel": "~2.0@dev"
},
"autoload": {
"classmap": ["propel/class/"]
}
}

php composer.phar dump-autoload

propel config:convert

nei file php:

require_once 'include.inc.php';
// setup the autoloading
require_once 'vendor/autoload.php';
//require_once 'vendor/autoload.php';
// setup Propel
require_once 'propel/config.php';

e poi:

 $avviso->setDtAvviso("2013-12-11");
echo $avviso->getAvviso();
var_dump($avviso->getDtAvviso());
$d1=new DateTime("2012-07-08 11:14:15.638276");
var_dump($d1);
echo $d1->format('Y-m-d H:i');
echo $avviso->getDtAvviso()->format('Y-m-d H:i');
$newDate = $avviso->getDtAvviso();
$newDate = $newDate->format('Y-m-d H:i:s'); // for example
$avviso->save()
?>

Cookie Law – La stupidità nel regolamentare l’uso dei cookie

Premetto che ritengo la “cookie law” una delle cose più stupide ed inutili mai viste.
Paragonabile FORSE solo alla norma sugli amministratori di sistema in quando a idiozia.
Detto questo… visto che siamo TUTTI costretti ad adeguarci … UBBIDISCO..

Ma vorrei sollevare una riflessione… quanto sarà costato e costerà a tutti, enti pubblici e società private, questo stupido giochetto ?

Meditate gente, meditate!

Detto questo … ecco la soluzione più rapida che ho trovato (quando non sia possibile adottare un plugin ad HOC)

Nella sezione HEAD del sito aggiungere quanto segue:


<!-- ---------------- cookie ------------------------- -->
<link rel="stylesheet" media="screen" href="http://www.provincia.prato.it/cookie.css" type="text/css" />
<!-- ---------------- /cookie ------------------------- -->

Nel Body inserire in alto quanto segue:

<!-- ---------------- cookie ------------------------- -->
<div id="banner_cookie">
<div id="banner_interno">
<div id="banner_sx">
Questo sito utilizza cookies tecnici e di terze parti per funzionalit&agrave; quali la condivisione sui <i>social network</i> e/o la visualizzazione
di media.
Se non acconsenti all'utilizzo dei cookie di terze parti, alcune di queste funzionalit&agrave; potrebbero essere non disponibili.
Per maggiori informazioni consulta la <a target="_blanc" href="http://www.miosito.it/privacy_cookie.html">privacy policy</a>
</div>
<div id="banner_dx">
Acconsenti all'utilizzo di cookie di terze parti?
<br />
<br />
<a href='javascript:void(0);' onclick='CookieOk();'><b>Si, acconsento</b></a>
<a href='javascript:void(0);' onclick='CookieKo();'><b>No, non acconsento</b></a>
</div>
</div>
</div>

<script type="text/javascript" src="http://www.miosito.it/cookie.js"></script>
<!-- ---------------- /cookie ------------------------- -->

I due file sono i seguenti:

cookie.css:

#banner_cookie {
display: none;
z-index: 99999;
position: fixed;
left: 0px;
right: 0px;
top: 0px;
width: 100%;
min-height: 40px;
padding: 14px;
background-color: #000000;
background-color: rgba(0, 0, 0, 0.8);
color: #ffffff;
line-height: 1.5;
font-family: "Lucida Grande", Verdana, Arial, Helvetica, sans-serif;
font-size: 14px;
text-align: left;
}

#banner_interno {
width: 960px;
margin-left: auto;
margin-right: auto;
}
#banner_sx {
width: 60%;
float: left;
padding-right: 24px;
}

#banner_dx {
width: 35%;
float: right;
}

#banner_sx a {
color: #ffffff;
text-decoration: underline;
}

#banner_sx a:hover, #banner_sx a:focus {
color: #000000;
background: #ffffff;
text-decoration: underline;
}

#banner_dx a {
padding: 4px;
border-radius: 4px;
background: #dfdfdf;
color: #000000;
font-weight: bold;
text-decoration: none;
}

#banner_dx a:hover, #banner_dx a:focus {
color: #dfdfdf;
background: #000000;
}

cookie.js:

function CookieOk()
{
var expiration = new Date();
expiration.setTime(expiration.getTime() + (60000*60*24*365));
setCookie("ok_cookie","1",expiration,"/");
document.getElementById("banner_cookie").style.display="none";
window.location.reload(true);
}
function CookieKo()
{
var expiration = new Date();
expiration.setTime(expiration.getTime() + (60000*60*24*365));
setCookie("ok_cookie","2",expiration,"/");
document.getElementById("banner_cookie").style.display="none";
}

function setCookie(name,value,expires,path,domain,secure){document.cookie=name+"="+escape(value)+((expires==null)?"":"; expires="+expires.toGMTString())+((path==null)?"":"; path="+path)+((domain==null)?"":"; domain="+domain)+((secure==null)?"":"; secure")}
function getCookie(name){var cname=name+"=";var dc=document.cookie;if(dc.length>0){begin=dc.indexOf(cname);if(begin!=-1){begin+=cname.length;end=dc.indexOf(";",begin);if(end==-1)end=dc.length;return unescape(dc.substring(begin,end))}}return null}
function delCookie(name,path,domain){if(getCookie(name)){document.cookie=name+"="+((path==null)?"":"; path="+path)+((domain==null)?"":"; domain="+domain)+"; expires=Thu, 01-Jan-70 00:00:01 GMT"}}

var check_cookie = getCookie("ok_cookie");

if ( (check_cookie == null) || (window.location.href.indexOf("privacy")>0) )
{
document.getElementById("banner_cookie").style.display="block";
}