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.
Topic revision: r2 - 01 Aug 2007, CaSe
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback