Joomla.it Forum

Joomla! 3 => Joomla! 3 => : Secursystem 19 Jul 2014, 20:43:33

: Articolo "public" che diventa "registered" a tempo
: Secursystem 19 Jul 2014, 20:43:33
Ciao a tutti,


   avrei la necessità che gli articoli siano leggibili a tutti, quindi con permessi public per "X" giorni, poi che diventino leggibili solo per utenti registrati quindi con permessi registered.


Esiste un modulo che mi permette di cambiare i permessi degli articoli K2 "a tempo" ?

Grazie


  L
: Re:Articolo "public" che diventa "registered" a tempo
: thewebsurfer 20 Jul 2014, 23:14:07
non credo esista una cosa del genere.


Se hai un po' di esperienza in php si tratta di uno script di poche righe. Ti illustro i passi.
- Seleziono dal db tutti gli articoli che devono avere questa proprietà
- conto i giorni dalla pubblicazione
- se i giorni sono > di X cambio l'accesso dell'articolo a registered.


ci vuole (quasi) più a dirlo che a farlo  :)
ovviamente devi prevedere l'esecuzione dello script quotidianamente, o lo esegui tu a mano o usi cronjob
: Re:Articolo "public" che diventa "registered" a tempo
: Secursystem 21 Jul 2014, 09:52:16
Il problema è che non ho esperienza di PHP e non saprei dove mettere le mani, speravo di trovare qualcosa di pronto :(

: Re:Articolo "public" che diventa "registered" a tempo
: fabiombolo 21 Jul 2014, 12:24:10
Tempo fa lo avevo cercato anche io per j 2.5, avevo visto questo, ma aveva un prezzo eccessivo e non l'ho nemmeno provato...


: Re:Articolo "public" che diventa "registered" a tempo
: thewebsurfer 21 Jul 2014, 12:40:55
prima cosa: contatta il tuo hosting e chiedi se c'è possibilità di configurare uno script temporizzato.
: Re:Articolo "public" che diventa "registered" a tempo
: tomtomeight 21 Jul 2014, 13:16:58
Per cortesia il regolamento  vieta di citare estensioni commerciali, cerchiamo di non infrangerlo. Grazie.
: Re:Articolo "public" che diventa "registered" a tempo
: thewebsurfer 21 Jul 2014, 14:29:44
buon natale :D
:
<?php
/*-------inserisci i tuoi dati*/
$host 'localhost';
$user 'root';
$password '';
$db 'joomla';
$dbprefix 'q1w9t_';
$INTERVALLO=10;


/*------------------------------*/
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Article Access Manager</title>


<style>
table td{
background:#c6fdff;
padding:10px}
table th{background:#c4dbff;
padding:10px
}
</style>
</head>
<body>
<?php


$mysqli 
= new mysqli($host,$user,$passowrd,$db);
if (
$mysqli->connect_errno) {
    
printf("Connect failed: %s\n"$mysqli->connect_error);
    exit();
}
$result $mysqli->query("SELECT id,title,created,access FROM ".$dbprefix."content");
if (!
$result) {
    
printf("Query fallita:".mysql_error());
exit;   
}


$dt = new DateTime();
 while (
$row =  $result->fetch_assoc()) {
       
$date = new DateTime($row["created"]);
   $diff=$date->diff($dt);
 if($diff->days>$INTERVALLO){
if($row["access"]==1)
$up_article$mysqli->query("UPDATE ".$dbprefix."content SET `access`=2 WHERE id=".$row["id"]);
 }
 
    }
$result->data_seek(0);
echo 
'<h1>Article Access Manager</h1><table><th>Titolo</th><th>Data creazione</th><th>Accesso</th>';
    while (
$row =  $result->fetch_assoc()) {
       
$date = new DateTime($row["created"]);
   $diff2=$date->diff($dt);


   echo '<tr>
<td>'
.$row["title"].'</td>
<td>'
.$date->format('Y-m-d').'- Pubblicato da '$diff2->format('%R%a').' giorni</td><td>';
switch ($row["access"]) {
case 1:
echo 'public';
break;
case 2:
echo 'registered';
break;
case 3:
echo 'special';
break;
case 5:
echo 'guest';
break;
case 6:
echo 'super user';
break;
}
 echo '</td></tr>';
    }


echo 
'</table>';






 $result->close();
?>

</body></html>
: Re:Articolo "public" che diventa "registered" a tempo
: fabiombolo 21 Jul 2014, 15:19:23
Per cortesia il regolamento  vieta di citare estensioni commerciali, cerchiamo di non infrangerlo. Grazie.


Sorry sorry sorry...   :-[
: Re:Articolo "public" che diventa "registered" a tempo
: thewebsurfer 22 Jul 2014, 22:03:19
boh sarò io l'arrogante, ma mi sarei aspettato un almeno grazie ???
: Re:Articolo "public" che diventa "registered" a tempo
: Secursystem 22 Jul 2014, 23:16:31
Scusami ma ho letto solo ora la risposta!!!


Ti ringrazio tantissimo sei stato davvero prezioso, a buon rendere  ;)


  Luca
: Re:Articolo "public" che diventa "registered" a tempo
: thewebsurfer 22 Jul 2014, 23:27:14
hai capito come far funzionare lo script?
: Re:Articolo "public" che diventa "registered" a tempo
: Secursystem 22 Jul 2014, 23:30:03
Non ho ancora avuto modo di metterlo alla prova, a grandi linee lo farcisco con i dati del mio database, lo uppo e lancio il percorso del file (esempi "articoli.php") giusto?


   L
: Re:Articolo "public" che diventa "registered" a tempo
: thewebsurfer 22 Jul 2014, 23:57:20
si, se poi fila tutto liscio stamperà semplicemente tutti gli articoli con i permessi aggiornati
(ma non ti dice quali sono stati aggiornati, ci ho pensato ora a questa cosa :) )
ps: ovviamente $INTERVALLO è in giorni
: Re:Articolo "public" che diventa "registered" a tempo
: Secursystem 23 Jul 2014, 09:08:11
Appena lo uso (sono in fase di creazione sito ancora) ti faccio sapere  :)


Grazie di nuovo intanto!


  L