Back to top

Autore Topic: [RISOLTO]limitare delle funzioni agli utenti author per la stesura di articoli!  (Letto 2689 volte)

Offline Joker84

  • Esploratore
  • **
  • Post: 165
  • Sesso: Maschio
    • Mostra profilo
salve ragazzi! il sito in questione è questo http://raccontidamore.it
nel sito web gli utenti vengono registrati direttamente come "author" perciò hanno la possibilità di scrivere articoli dal frontend.
Il mio problema è che per impostazione predefinita gli "author" hanno la possibilità di modificare delle impostazioni sulla pubblicazione dei propri articoli:
- mostra in prima pagina
- inizio e fine pubblicazione
- livello di accesso

come potete immaginare queste impostazioni sono troppo avanzate per poter essere messe a disposizioni di tutti gli iscritti!
ho provato ad installare componenti di gestione avanzata degli utenti, ma non credo facciano al mio caso...a meno che non me ne sappiate consigliare uno che mi permetta di fare ciò.
l'alternativa è modificare il codice, ma non trovo il giusto file php da modificare, ed oltretutto non so se sarebbe corretto.

mi potete dare qualche consiglio?
se volete testare la registrazione potete farlo inserendo:
nome utente: coco
pass: coco
« Ultima modifica: 01 Ago 2009, 16:13:10 da Joker84 »

Offline .: BlackHat :.

  • Team Joomla.it
  • Abituale
  • *******
  • Post: 1186
  • Sesso: Maschio
  • Io me e me stesso
    • Mostra profilo
l'unico modo che mi viene in mente, è di modificare il file php che crea il form, in modo da non far apparire quelle caselle se chi sta cercando di inserire l'articolo è un Author. per farlo devi andare in ->components->com_content->views->article->tmpl ed aprire il file form.php.
a questo punto alla linea 97 troverai il tag fieldset che racchiude tutte quelle opzioni. dovresti mettere una if prima di questo in modo da dire all'applicazione "se l'utente è author non far visualizzare quel che segue, altrimenti si". per farlo inserisci questo prima di fieldset

Citazione
<?
$lvluser = $this->user->usertype;
if ($lvluser != "Author"){
?>

dopo il fieldset di chiusura inserisci questo

Citazione
<?
}
?>

dovrebbe andare bene


Sogna come se dovessi vivere per sempre, vivi come se dovessi morire domani.

Woot, ma cosa sta lì, sulla destra, si si prorpio li, nella colonna di destra del sito....mhh sembra un campo di ricerca...che dici lo usiamo? ma no, meglio postare :D

Offline Joker84

  • Esploratore
  • **
  • Post: 165
  • Sesso: Maschio
    • Mostra profilo

dovresti mettere una if prima di questo in modo da dire all'applicazione "se l'utente è author non far visualizzare quel che segue, altrimenti si". per farlo inserisci questo prima di fieldset

Citazione
<?
$lvluser = $this->user->usertype;
if ($lvluser != "Author"){
?>

dopo il fieldset di chiusura inserisci questo

Citazione
<?
}
?>

dovrebbe andare bene
non va non cambia nulla...
ti incollo il pezzo di codice a partire dalla linea 97 così vedi dove ho sbagliato:

<?
$lvluser = $this->user->usertype;
if ($lvluser != "Author"){
?>

<fieldset>
<legend><?php echo JText::_('Publishing'); ?></legend>
<table class="adminform">
<tr>
   <td class="key">
      <label for="sectionid">
         <?php echo JText::_( 'Section' ); ?>:
      </label>
   </td>
   <td>
      <?php echo $this->lists['sectionid']; ?>
   </td>
</tr>
<tr>
   <td class="key">
      <label for="catid">
         <?php echo JText::_( 'Category' ); ?>:
      </label>
   </td>
   <td>
      <?php echo $this->lists['catid']; ?>
   </td>
</tr>
<?php if ($this->user->authorize('com_content', 'publish', 'content', 'all')) : ?>
<tr>
   <td class="key">
      <label for="state">
         <?php echo JText::_( 'Published' ); ?>:
      </label>
   </td>
   <td>
      <?php echo $this->lists['state']; ?>
   </td>
</tr>
<?php endif; ?>
<tr>
   <td width="120" class="key">
      <label for="frontpage">
         <?php echo JText::_( 'Show on Front Page' ); ?>:
      </label>
   </td>
   <td>
      <?php echo $this->lists['frontpage']; ?>
   </td>
</tr>
<tr>
   <td class="key">
      <label for="created_by_alias">
         <?php echo JText::_( 'Author Alias' ); ?>:
      </label>
   </td>
   <td>
      <input type="text" id="created_by_alias" name="created_by_alias" size="50" maxlength="100" value="<?php echo $this->escape($this->article->created_by_alias); ?>" class="inputbox" />
   </td>
</tr>
<tr>
   <td class="key">
      <label for="publish_up">
         <?php echo JText::_( 'Start Publishing' ); ?>:
      </label>
   </td>
   <td>
       <?php echo JHTML::_('calendar', $publish_up, 'publish_up', 'publish_up', '%Y-%m-%d %H:%M:%S', array('class'=>'inputbox', 'size'=>'25',  'maxlength'=>'19')); ?>
   </td>
</tr>
<tr>
   <td class="key">
      <label for="publish_down">
         <?php echo JText::_( 'Finish Publishing' ); ?>:
      </label>
   </td>
   <td>
       <?php echo JHTML::_('calendar', $publish_down, 'publish_down', 'publish_down', '%Y-%m-%d %H:%M:%S', array('class'=>'inputbox', 'size'=>'25',  'maxlength'=>'19')); ?>
   </td>
</tr>
<tr>
   <td valign="top" class="key">
      <label for="access">
         <?php echo JText::_( 'Access Level' ); ?>:
      </label>
   </td>
   <td>
      <?php echo $this->lists['access']; ?>
   </td>
</tr>
<tr>
   <td class="key">
      <label for="ordering">
         <?php echo JText::_( 'Ordering' ); ?>:
      </label>
   </td>
   <td>
      <?php echo $this->lists['ordering']; ?>
   </td>
</tr>
</table>
</fieldset>

<?
}
?>


Ps: non metterti a ridere se ho commesso errori banali...non sono efferrato con il codice :P

Offline Joker84

  • Esploratore
  • **
  • Post: 165
  • Sesso: Maschio
    • Mostra profilo
c'è nessuno? :'(

Offline Joker84

  • Esploratore
  • **
  • Post: 165
  • Sesso: Maschio
    • Mostra profilo
siamo sicuri che sia quella la pagina php da modificare? perchè ho provato a cancellare direttamente quel pezzettino di codice ma non cambia niente di una virgola! ???

Offline 56francesco

  • Fuori controllo
  • *
  • Post: 29585
  • Sesso: Maschio
    • Mostra profilo
cosa ci fa questo topic nella sezione template?

sposto...
(uso XP perchè win98 non si installa) 
PS: non sono un dipendente dello sbonzor quindi è necessario un "per favore" alla richiesta e un "grazie" alla risposta, sempre! PPS: non scrivo mai per primo in MP, in caso contrario chiedimi una conferma, Grazie.

Offline jqjo

  • Appassionato
  • ***
  • Post: 358
  • Sesso: Maschio
    • Mostra profilo
se non sbaglio JCE fa quello che ti serve.
A computer is like an air conditioner, it stops working when you open Windows

KISS, Keep It Simple Stupid!

Offline Joker84

  • Esploratore
  • **
  • Post: 165
  • Sesso: Maschio
    • Mostra profilo
se non sbaglio JCE fa quello che ti serve.
infatti solo che inpostando i gruppi comunque non cambia niente....bho...!!! chi mi aiuta?eppure non dovrebbe essere difficile

Offline jqjo

  • Appassionato
  • ***
  • Post: 358
  • Sesso: Maschio
    • Mostra profilo
allora:
1-
Citazione
eppure non dovrebbe essere difficile
se non lo fosse ti saresti arrangiato!
2- hai un template che sovrascrive il form? perchè se è così allora puoi modificare finchè vuoi la view di com_content e non camierà mai nulla.
3- un po' di umiltà nn ha mai fatto male anzi.
A computer is like an air conditioner, it stops working when you open Windows

KISS, Keep It Simple Stupid!

Offline Joker84

  • Esploratore
  • **
  • Post: 165
  • Sesso: Maschio
    • Mostra profilo
allora:

3- un po' di umiltà nn ha mai fatto male anzi.

non capisco questo tipo di accusa visto che l'umiltà la dimostro nel momento in cui scrivo in un forum per farmi aiutare da qualcuno, ciò rende implicito il fatto che io non sappia risolvere il problema e chieda xciò aiuto a voi.
in ogni caso, se ho ferito qualcuno nell'orgoglio chiedo umilmente scusa, ovviamente non è mia intenzione creare polemiche!

Ringrazio ".: BlackHat :." per avermi dato il primo "input" ;)

"jqjo" ti ringrazio per il suggerimento!!! ho risolto il mio problema finalmente eliminando i pezzi di codice situati in: cartella del template/html/com_content/article/Form.php
effettivamente non era difficile!

grazie infinite! ;D



« Ultima modifica: 01 Ago 2009, 16:17:16 da Joker84 »

Offline jqjo

  • Appassionato
  • ***
  • Post: 358
  • Sesso: Maschio
    • Mostra profilo
lieto di esserti stato utile
A computer is like an air conditioner, it stops working when you open Windows

KISS, Keep It Simple Stupid!

 



Web Design Bolzano Kreatif