PDA

Zobacz pełną wersję : jak usunąć pewien element w dodawaniu wiadomości..



toomoo
19-07-2006, 23:46
Nie udało mi się znaleźć ni wygoglować więc proszę o pomoc.

Otóż: przy tworzeniu wiadomości, autorzy mają możliwość ustawienia grafiki/publikacji/metadanych. Chcę to menu całkiem ukryć. Jak to zrobić?

Joomla 1.0.10

http://pomagaj.info/usunac.jpg

Z góry wielkie dzięki za pomoc!

Rybik
20-07-2006, 00:37
trzaby odkomentowac z 200 linii kodu, juz to gdzie sopisywalem ale nie umiem dojsc gdzie. Zalozmy ze sie nie da :)

hazael
20-07-2006, 01:24
Pozwoliłem sobie zmienić kolejnosci w tym panelu, bo mało kto korzysta z tego edytora obrazków. Więc w pierwszej kolejnosci ustawiłem PUBLIKACJE, METADANE, GRAFIKI

Wchodzisz do pliku /components/com_content/content.html.php
Tam odnajdujesz fragment kodu:

<?php
$tabs->startPane( 'content-pane' );
$tabs->startTab( _E_IMAGES, 'images-page' );
?>
<table class="adminform">
<tr>
<td colspan="4">
<?php echo _CMN_SUBFOLDER; ?> :: <?php echo $lists['folders'];?>
</td>
</tr>
<tr>
<td align="top">
<?php echo _E_GALLERY_IMAGES; ?>
</td>
<td width="2%">
</td>
<td align="top">
<?php echo _E_CONTENT_IMAGES; ?>
</td>
<td align="top">
<?php echo _E_EDIT_IMAGE; ?>
</td>
</tr>
<tr>
<td valign="top">
<?php echo $lists['imagefiles'];?>
<br />
<input class="button" type="button" value="<?php echo _E_INSERT; ?>" onclick="addSelectedToList('adminForm','imagefiles','imagel ist')" />
</td>
<td width="2%">
<input class="button" type="button" value=">>" onclick="addSelectedToList('adminForm','imagefiles','imagel ist')" title="<?php echo _E_ADD; ?>"/>
<br/>
<input class="button" type="button" value="<<" onclick="delSelectedFromList('adminForm','imagelist')" title="<?php echo _E_REMOVE; ?>"/>
</td>
<td valign="top">
<?php echo $lists['imagelist'];?>
<br />
<input class="button" type="button" value="<?php echo _E_UP; ?>" onclick="moveInList('adminForm','imagelist',adminForm.image list.selectedIndex,-1)" />
<input class="button" type="button" value="<?php echo _E_DOWN; ?>" onclick="moveInList('adminForm','imagelist',adminForm.image list.selectedIndex,+1)" />
</td>
<td valign="top">
<table>
<tr>
<td align="right">
<?php echo _E_SOURCE; ?>
</td>
<td>
<input class="inputbox" type="text" name= "_source" value="" size="15" />
</td>
</tr>
<tr>
<td align="right" valign="top">
<?php echo _E_ALIGN; ?>
</td>
<td>
<?php echo $lists['_align']; ?>
</td>
</tr>
<tr>
<td align="right">
<?php echo _E_ALT; ?>
</td>
<td>
<input class="inputbox" type="text" name="_alt" value="" size="15" />
</td>
</tr>
<tr>
<td align="right">
<?php echo _E_BORDER; ?>
</td>
<td>
<input class="inputbox" type="text" name="_border" value="" size="3" maxlength="1" />
</td>
</tr>
<tr>
<td align="right">
<?php echo _E_CAPTION; ?>:
</td>
<td>
<input class="text_area" type="text" name="_caption" value="" size="30" />
</td>
</tr>
<tr>
<td align="right">
<?php echo _E_CAPTION_POSITION; ?>:
</td>
<td>
<?php echo $lists['_caption_position']; ?>
</td>
</tr>
<tr>
<td align="right">
<?php echo _E_CAPTION_ALIGN; ?>:
</td>
<td>
<?php echo $lists['_caption_align']; ?>
</td>
</tr>
<tr>
<td align="right">
<?php echo _E_CAPTION_WIDTH; ?>:
</td>
<td>
<input class="text_area" type="text" name="_width" value="" size="5" maxlength="5" />
</td>
</tr>
<tr>
<td align="right">
</td>
<td>
<input class="button" type="button" value="<?php echo _E_APPLY; ?>" onclick="applyImageProps()" />
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<img name="view_imagefiles" src="<?php echo $mosConfig_live_site;?>/images/M_images/blank.png" width="50" alt="<?php echo _E_NO_IMAGE; ?>" />
</td>
<td width="2%">
</td>
<td>
<img name="view_imagelist" src="<?php echo $mosConfig_live_site;?>/images/M_images/blank.png" width="50" alt="<?php echo _E_NO_IMAGE; ?>" />
</td>
<td>
</td>
</tr>
</table>
<?php
$tabs->endTab();
$tabs->startTab( _E_PUBLISHING, 'publish-page' );
?>
<table class="adminform">
<?php
if ($access->canPublish) {
?>
<tr>
<td align="left">
<?php echo _E_STATE; ?>
</td>
<td>
<?php echo $lists['state']; ?>
</td>
</tr>
<?php
} ?>
<tr>
<td align="left">
<?php echo _E_ACCESS_LEVEL; ?>
</td>
<td>
<?php echo $lists['access']; ?>
</td>
</tr>
<tr>
<td align="left">
<?php echo _E_AUTHOR_ALIAS; ?>
</td>
<td>
<input type="text" name="created_by_alias" size="50" maxlength="100" value="<?php echo $row->created_by_alias; ?>" class="inputbox" />
</td>
</tr>
<tr>
<td align="left">
<?php echo _E_ORDERING; ?>
</td>
<td>
<?php echo $lists['ordering']; ?>
</td>
</tr>
<tr>
<td align="left">
<?php echo _E_START_PUB; ?>
</td>
<td>
<input class="inputbox" type="text" name="publish_up" id="publish_up" size="25" maxlength="19" value="<?php echo $row->publish_up; ?>" />
<input type="reset" class="button" value="..." onclick="return showCalendar('publish_up', 'y-mm-dd');" />
</td>
</tr>
<tr>
<td align="left">
<?php echo _E_FINISH_PUB; ?>
</td>
<td>
<input class="inputbox" type="text" name="publish_down" id="publish_down" size="25" maxlength="19" value="<?php echo $row->publish_down; ?>" />
<input type="reset" class="button" value="..." onclick="return showCalendar('publish_down', 'y-mm-dd');" />
</td>
</tr>
<tr>
<td align="left">
<?php echo _E_SHOW_FP; ?>
</td>
<td>
<input type="checkbox" name="frontpage" value="1" <?php echo $row->frontpage ? 'checked="checked"' : ''; ?> />
</td>
</tr>
</table>
<?php
$tabs->endTab();
$tabs->startTab( _E_METADATA, 'meta-page' );
?>
<table class="adminform">
<tr>
<td align="left" valign="top">
<?php echo _E_M_DESC; ?>
</td>
<td>
<textarea class="inputbox" cols="45" rows="3" name="metadesc"><?php echo str_replace('&','&amp;',$row->metadesc); ?></textarea>
</td>
</tr>
<tr>
<td align="left" valign="top">
<?php echo _E_M_KEY; ?>
</td>
<td>
<textarea class="inputbox" cols="45" rows="3" name="metakey"><?php echo str_replace('&','&amp;',$row->metakey); ?></textarea>
</td>
</tr>
</table>
<?php
$tabs->endTab();
$tabs->endPane();
?>

hazael
20-07-2006, 01:25
I zamieniasz go na ten:


<?php
$tabs->startPane( 'content-pane' );
$tabs->startTab( _E_PUBLISHING, 'publish-page' );
?>
<table class="adminform">
<?php
if ($access->canPublish) {
?>
<tr>
<td align="left">
<?php echo _E_STATE; ?>
</td>
<td>
<?php echo $lists['state']; ?>
</td>
</tr>
<?php
} ?>
<tr>
<td align="left">
<?php echo _E_ACCESS_LEVEL; ?>
</td>
<td>
<?php echo $lists['access']; ?>
</td>
</tr>
<tr>
<td align="left">
<?php echo _E_AUTHOR_ALIAS; ?>
</td>
<td>
<input type="text" name="created_by_alias" size="50" maxlength="100" value="<?php echo $row->created_by_alias; ?>" class="inputbox" />
</td>
</tr>
<tr>
<td align="left">
<?php echo _E_ORDERING; ?>
</td>
<td>
<?php echo $lists['ordering']; ?>
</td>
</tr>
<tr>
<td align="left">
<?php echo _E_START_PUB; ?>
</td>
<td>
<input class="inputbox" type="text" name="publish_up" id="publish_up" size="25" maxlength="19" value="<?php echo $row->publish_up; ?>" />
<input type="reset" class="button" value="..." onclick="return showCalendar('publish_up', 'y-mm-dd');" />
</td>
</tr>
<tr>
<td align="left">
<?php echo _E_FINISH_PUB; ?>
</td>
<td>
<input class="inputbox" type="text" name="publish_down" id="publish_down" size="25" maxlength="19" value="<?php echo $row->publish_down; ?>" />
<input type="reset" class="button" value="..." onclick="return showCalendar('publish_down', 'y-mm-dd');" />
</td>
</tr>
<tr>
<td align="left">
<?php echo _E_SHOW_FP; ?>
</td>
<td>
<input type="checkbox" name="frontpage" value="1" <?php echo $row->frontpage ? 'checked="checked"' : ''; ?> />
</td>
</tr>
</table>
<?php
$tabs->endTab();
if ($my->usertype = 'Super Administrator' || $my->usertype = 'Administrator' || $my->usertype = 'Manager' || $my->usertype = 'Publisher' || $my->usertype = 'Editor'){
$tabs->startTab( _E_METADATA, 'meta-page' );
?>
<table class="adminform">
<tr>
<td align="left" valign="top">
<?php echo _E_M_DESC; ?>
</td>
<td>
<textarea class="inputbox" cols="45" rows="3" name="metadesc"><?php echo str_replace('&','&amp;',$row->metadesc); ?></textarea>
</td>
</tr>
<tr>
<td align="left" valign="top">
<?php echo _E_M_KEY; ?>
</td>
<td>
<textarea class="inputbox" cols="45" rows="3" name="metakey"><?php echo str_replace('&','&amp;',$row->metakey); ?></textarea>
</td>
</tr>
</table>
<?php
$tabs->endTab();
$tabs->startTab( _E_IMAGES, 'images-page' );
?>
<table class="adminform">
<tr>
<td colspan="4">
<?php echo _CMN_SUBFOLDER; ?> :: <?php echo $lists['folders'];?>
</td>
</tr>
<tr>
<td align="top">
<?php echo _E_GALLERY_IMAGES; ?>
</td>
<td width="2%">
</td>
<td align="top">
<?php echo _E_CONTENT_IMAGES; ?>
</td>
<td align="top">
<?php echo _E_EDIT_IMAGE; ?>
</td>
</tr>
<tr>
<td valign="top">
<?php echo $lists['imagefiles'];?>
<br />
<input class="button" type="button" value="<?php echo _E_INSERT; ?>" onclick="addSelectedToList('adminForm','imagefiles','imagel ist')" />
</td>
<td width="2%">
<input class="button" type="button" value=">>" onclick="addSelectedToList('adminForm','imagefiles','imagel ist')" title="<?php echo _E_ADD; ?>"/>
<br/>
<input class="button" type="button" value="<<" onclick="delSelectedFromList('adminForm','imagelist')" title="<?php echo _E_REMOVE; ?>"/>
</td>
<td valign="top">
<?php echo $lists['imagelist'];?>
<br />
<input class="button" type="button" value="<?php echo _E_UP; ?>" onclick="moveInList('adminForm','imagelist',adminForm.image list.selectedIndex,-1)" />
<input class="button" type="button" value="<?php echo _E_DOWN; ?>" onclick="moveInList('adminForm','imagelist',adminForm.image list.selectedIndex,+1)" />
</td>
<td valign="top">
<table>
<tr>
<td align="right">
<?php echo _E_SOURCE; ?>
</td>
<td>
<input class="inputbox" type="text" name= "_source" value="" size="15" />
</td>
</tr>
<tr>
<td align="right" valign="top">
<?php echo _E_ALIGN; ?>
</td>
<td>
<?php echo $lists['_align']; ?>
</td>
</tr>
<tr>
<td align="right">
<?php echo _E_ALT; ?>
</td>
<td>
<input class="inputbox" type="text" name="_alt" value="" size="15" />
</td>
</tr>
<tr>
<td align="right">
<?php echo _E_BORDER; ?>
</td>
<td>
<input class="inputbox" type="text" name="_border" value="" size="3" maxlength="1" />
</td>
</tr>
<tr>
<td align="right">
<?php echo _E_CAPTION; ?>:
</td>
<td>
<input class="text_area" type="text" name="_caption" value="" size="30" />
</td>
</tr>
<tr>
<td align="right">
<?php echo _E_CAPTION_POSITION; ?>:
</td>
<td>
<?php echo $lists['_caption_position']; ?>
</td>
</tr>
<tr>
<td align="right">
<?php echo _E_CAPTION_ALIGN; ?>:
</td>
<td>
<?php echo $lists['_caption_align']; ?>
</td>
</tr>
<tr>
<td align="right">
<?php echo _E_CAPTION_WIDTH; ?>:
</td>
<td>
<input class="text_area" type="text" name="_width" value="" size="5" maxlength="5" />
</td>
</tr>
<tr>
<td align="right">
</td>
<td>
<input class="button" type="button" value="<?php echo _E_APPLY; ?>" onclick="applyImageProps()" />
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<img name="view_imagefiles" src="<?php echo $mosConfig_live_site;?>/images/M_images/blank.png" width="50" alt="<?php echo _E_NO_IMAGE; ?>" />
</td>
<td width="2%">
</td>
<td>
<img name="view_imagelist" src="<?php echo $mosConfig_live_site;?>/images/M_images/blank.png" width="50" alt="<?php echo _E_NO_IMAGE; ?>" />
</td>
<td>
</td>
</tr>
</table>
<?php
$tabs->endTab();
}
$tabs->endPane();
?>

Jeżeli uznasz, że uzytkownik posiadajacy jescze inne uprawneinia niz autor nie powinien mieć dostępu do obrazków i ustawień meta, to go zwyczajnie wytnij z tego zapisu:

if ($my->usertype = 'Super Administrator' || $my->usertype = 'Administrator' || $my->usertype = 'Manager' || $my->usertype = 'Publisher' || $my->usertype = 'Editor')
Mysle, że więcej nie trzeba tłumaczyć. Pozdrawiam i życze udanej pracy

hazael
20-07-2006, 01:38
PUBLIKACJI nie usuwałbym autorowi i radziłbym i Tobie tego nie robić, ponieważ autor moze np zechcieć inaczej podpisać się niz wskazuje na to jego nick/login. Druga sprawa, autor i tak nie moze niczego opublikowac, bo musi czekać na zatwierdzenie panów z góry. Tymi ustawieniami w Publikacja raczej nie przejmowałbym się, bo na prawde nie ma czym...:rolleyes:

Coś mi nie tak z tym poszło. Wydawało mi się, że się da, ale Rybik chyba miał racje - próbiwałem nawet takiego zapisu:


if (strtolower($my->usertype) == 'Author' || strtolower($my->usertype) == 'Publisher'
|| strtolower($my->usertype) == 'Editor' || strtolower($my->usertype) == 'Administrator'
|| strtolower($my->usertype) == 'Super Administrator' ) { } W tym przypadku nikomu sie nie chce opublikować jak to rozwiązać? Rybik, help powiedz, że sie da... Kurde ale dziwne, bo byłem pewny że to działa i dalbym glowe, ze dzialalo ale nagle cos sie... %@$!* i nie działa :-/

Rybik
20-07-2006, 05:08
Sugestia od Zwiastuna zeby rozejrzec sie za komponentami gazeciarskimi jak EZ submit, mambo Ezine itp, one maja wlasny "szablonik" dodawania tresci i ktorys z pewnoscia powinien miec ten panelik z frontu okrojony do niezbednych funkcji - nie trzeba bedzie w kodzie grzebac, martwic sie ze cos sie sypnie i trosczyc o powtorne zmiany po upgrade Joomli.

Unikalbym usuwania a nawet komentowania w kodzie formularzy ... laduje sie komponent, bierze ustawienia z xmla i wrzuca do formularza jako domyslne/poczatkowe - potem funkcja zapisujaca szuka tych parametrow w formularzu i moze czegos braknac. Elegancko jest uzywac artybutu hidden albo readonly dla wybranych pol/formularzy (jezeli juz koniecznie trzeba w kodzie grzebac).

Poza tym nie przyzwyczajalbym autorow do minimalizmu, niech wypelniaja metadane - przydaja sie do szukajek, indeksowania i powiazanych artykulow.

Z prawami dostepu to ja sie kiedys poddalem bo nie potrzebowalem nigdy na tyle mocno ingerowac a metod sprawdzania joomla ma kilka, tam sa jakies ify na CanPublish, czasem sprawdza Usertype a czasem leci po $my->gid. Z drugiej strony nie mam teraz na czym eksperymentowac bo wszedzie uzywam modyfikowanych com_content. (zauwazyli ze na joomla.pl jest ladniej niz na org ? zasluga Z..greda :D )

---
Hazael: nie podejmuje sie bo zagadnienie nie osiagnelo dla mnie wlasciwego wspolczynnika (elastycznosc * celowosc) / wklad pracy :P doradzic moge tylko tyle zeby miec backupy, komentowac zmiany i trzymac oryginalne linie zakomentowane a kazde miejsce ktore chcemy rozgrzebac, sprawdzic sobie najpierw wiesniackim echo ('tu jestem'); zeby miec pewnosc ze modyfikujemy ten kod o ktory nam chodzi. Przydatna bywa tez funkcja var_dump i podgladanie tego co sie tam dzieje zeby nie bladzic po nieistniejacych parametrach i zmiennych.

hazael
20-07-2006, 10:49
Rybik ale dla mnie to dziwne bo nawet próbowałem uzywać to co sugerujesz i nie działa :confused: już zaifowałem się na śmierć :D

Za każdym razem jesli dam do funkcji '=' to ona nie chce działać - zachowuje się tak, jakby jej w ogóle nie było.
$my->gid = '25'
$my->gid = '****************'
$my->id = '100000'
Nawet wpisałem samo $gid = 19 itd..
Na moj administratorski login działa za każdym razem tak samo - tak jakby tej funkcji w ogole nie bylo.

a jak dam '==' to za każdym razem mam tak, jakby funkcja mnie odłączała - czyli działa w zupełnie druga strone.

Moim zdaniem to urok rzucony przez Ciebie bo powiedziałeś, że nie da się :p
W zasadzie, to po co ja się z tym męcze, skoro jest mi to niepotrzebne...:confused:

Rybik
20-07-2006, 10:58
var_dump($my); //obserwowac parametry, prawdopodobnie nie nadpiszesz ich tak latwo "z palca" bo to obiekt

no i pamietaj ze if ($a=6) wcale nie sprawdza wartosci $a ;)

hazael
20-07-2006, 11:56
No tak, przecież to logiczne - używłem tej Twojej var_dump($my); i wsio jasne NULL :p

Już wszystko dziala - wystarczy tylko powyższy zapis poprawić na ten :p

global $my;
if ($my->usertype == 'Super Administrator' || $my->usertype == 'Publisher'
|| $my->usertype == 'Editor' || $my->usertype == 'Manager' || $my->usertype == 'Administrator' ) {