Fom API nyüglődés Drupal 6.x alatt

nevergone képe

Sziasztok...!

Egy elég érdekes problémába botlottam bele magam is. Lenne pár ötletem a megoldásra a Form API -n keresztül, most azzal próbálkoztam, ami a legegyszerűbbnek ígérkezett, de nem vezetett sikerre.
Szóval adott egy Drupal 6.x, a regisztrált felhasználók rendelkeznek a "tartalmak adminisztrációja" jogosultságokkal, amelyből nekem igazából csak a közzételi beállítás lehetősége kellene.
Nosza, írjunk rá egy modult ami eltünteti a többit, Form API rögtön segít, viszont mégsem...
Tüntessük el a szerzői információkat, hiszen mégsem szép dolog, ha a felhasználók egymást jelölik meg szerzőként:
$form['author'] = '';
Tanulság: minden beküldött tartalom szerzője Anonymous lett, azaz a
$form['author']['#default_value'] értéke is törlődött. Próbáltam valamilyen müdon visszahegeszteni az értékét a $node és $user változókbók, de egyik sem vezetett eredményre, ahogy elnézem nem is léteznek.

Van valami tippetek a megoldásra, esetleg ez egy bug?

pp képe

Ha törlöd még jó, hogy nem lesz... ;)
Állítsd át a típusát value-ra és már kész is vagy.

pp

0
0
nevergone képe

Éreztem én, hogy a törlés nem járható út, csak hiába néztem át a referenciát, nem találtam használható dolgot.
Köszönöm a segítséget!

0
0
Sweetchuck képe

"azonosított felhasználó" jogai:
create page content
delete own page content
edit own page content

function hook_form_alter(&$form, $form_state, $form_id) {  
  if ($form_id == 'page_node_form') {
    //drupal_set_message('<pre>$form = '.htmlentities(print_r($form, true)).'</pre>');
    //drupal_set_message('<pre>$form_state = '.htmlentities(print_r($form_state, true)).'</pre>');
 
    $form['options']['#access'] = true;
    $form['options']['status']['#access'] = true;
    $form['options']['promote']['#access'] = false;
    $form['options']['sticky']['#access'] = false;
 
    //$form['author']['#access'] = false;
  }  
}

Kinézetre nem rossz.

0
0