Sezione selezionati
NOTA non ricordo bene cosa ho fatto.
1. Creazione Tipo Selezione
Andare nel men\xF9
Modifica Tipi dalla Pagina iniziale per l'amministrazione. Qui creare un nuovo tipo "In evidenza" o "Selezionati" o quel che ti pare. E impostarlo come
Protected.
Active:
Deactivating a type will prevent new stories from being published using this type. It will still be available for filtering and searching existing stories.
Protected:
Protecting a type will make stories published with this type invisible to everybody who doesn't have the correct permissions.
Molto male, malissimo.
2. Creazione Modulo selezionati
Creare un nuovo "Newswire Module", creando un
template partendo da un "Newswire Module" gi\xE0 esistente (esempio: Newswire Module 1977) pigiando sul link
Save Template e dandogli un nome tipo "Cazzo". Tornare alla pagina "Newswire Module Listing" e l\xEC, quasi in alto a destra nel riqadro azzurro troverai la voce "Use Template" ecc. ecc. e pigia su
Create New Newswire Module ecc. ecc.
Modificare poi tale modulo in modo che
filtri solo i post di Tipo "Selezionati".
3. Cazzi vari
Stando al punto 1, allora, non c'\xE8 quel che si vuole fare, ovvero: non \xE8 possibile fare in modo che il tipo resti disponibile per essere selezionato durante la pubblicazione solo dagli editor/admin e resti in lettura a tutti quanti.
Perci\xF2 va modificato
objects/indyruntime/articledisplay.inc
e alla riga 457 circa
//if(!($editor_session->isSessionOpen() and $editor_session->editor->allowedReadAccessTo("viewprotectedcategories"))and ($pageTopic->excluded or $pageRegion->excluded or $pageLanguage->excluded or $pageType->excluded))
if(!($editor_session->isSessionOpen() and $editor_session->editor->allowedReadAccessTo("viewprotectedcategories"))and ($pageTopic->excluded or $pageRegion->excluded or $pageLanguage->excluded))
Questo per visualizzare comunque i Tipi "protected" da parte degli admin/editor. (Fottersene se un type e' protected, va visualizzato lo stesso).
Altri cazzi
Comunque sembra poi che l'array
excluded
rimanga sempre vuoto (bug di Oscailt?). Questo comportava il fatto che il Tipo, anche se protected restava disponibile per la pubblicazione anche agli
anonimi (???).
Perci\xF2 va modificato il file
objects/story.inc
alla riga 139 circa mettere
if ($t->excluded == 1 ) {
// logMessage($t->excluded." .. ".$t->type_name,"sitelog.txt");
$this->excluded2[] = $t->type_id;
}
e aggiungere da qualche parte la funzione
function getfTypes2()
{
global $editor_session;
if($editor_session->isSessionOpen() && $editor_session->editor->allowedReadAccessTo("viewprotectedcategories")) return $this->getTypes(
);
return $this->getNonExcludedTypes2();
}
a cui far\xE0 riferimento il file
objects/indyruntime/publishdisplay.inc
e aggiungere anche questa funzione
function getNonExcludedTypes2()
{
if($this->types==NULL) $this->load();
$non_excluded = array();
foreach(array_keys($this->types) as $t_id)
{
//logMessage("aaaaaa ".$t_id,"sitelog.txt");
if(!in_array($t_id, $this->excluded2))
{
$non_excluded[] = $this->types[$t_id];
}
}
return $non_excluded;
}
a cui fa riferimento la funzione precedente
getfTypes2
.
La funzione getTypeSelect
Come detto prima, nel file
objects/indyruntime/publishdisplay.inc
alla riga 2130 circa va messo (commentando $all_types = $typeList->getfTypes();):
//$all_types = $typeList->getfTypes();
$all_types = $typeList->getfTypes2();
Nota
Ripeto che non so se ho scritto tutto, non ricordo i problemi e le soluzioni.