Wczoraj wieczorem była psia pogoda a ja siedząc przy piwku , gmerając w skryptach dziennika dorobiłem :


Pełne nazwy przedmiotów z polskimi znakami:




1.) /administrator/components/com_basicschool/models/absence.php


W lini 40 po:
$db->setQuery($query);
$this->_class = $db->loadObjectList();
dodajemy:
//nazwy przedmiotow
$query = 'SELECT id, lessonname, fullname FROM #__bschool_lessons ';
$db->setQuery($query);
$this->_nlessons = $db->loadObjectList();

przed:
//weryfikacja dostepu i definicji klas




oraz dodajemy:




function &getNLessons() {
return $this->_nlessons;
}





przed:
//zapis frekwencji klasy
function store() {
JRequest::checkToken() or jexit( 'Invalid Token' );




2.) /administrator/components/com_basicschool/views/lesson/tmpl/edit.php




Po wpisie:
<ul class="adminformlist">
<li>
<label id="jform_title-lbl" for="jform_title"><?php echo JText::_( 'BS_LESSON_NAME' );?></label>
<input id="jform_title" type="text" name="lessonname" size="22" value="<?php echo $this->row[0]->lessonname;?>" class="inputbox">
</li>




dodajemy:

<li>
<label id="jform_title-lbl" for="jform_title"><?php echo JText::_( 'BS_LESSON_FULLNAME' );?></label>
<input id="jform_title" type="text" name="fullname" size="22" value="<?php echo $this->row[0]->fullname;?>" class="inputbox">
</li>





3.) /administrator/components/com_basicschool/views/absence/view.php

Po wpisie:
$active = false;
if ( $cls[$i]->id== $rows[0]->id) { $active = true; }
BS_Helper::BsSubMenuButton(JText::_('BS_CLASS').' '.$cls[$i]->classname, $link.$cls[$i]->id, $i, $active);
} echo '</div>';


dodajemy:

//pelne nazwy przedmiotow
$less_name = Array();
for($g=0, $v=count($nlessons); $g < $v; $g++) {
$less_name[$nlessons[$g]->lessonname] = $nlessons[$g]->fullname;
}
$less_name['[okienko]'] = "Okienko";


Przed wpisem:

//sprawdzanie lekcji dnia
$planday = isset($rows[0]->planday) ? explode('|', $rows[0]->planday) : array(0);




oraz na samym końcu pliku:

$this->assignRef( 'lessonsfname', $less_name );

przed:

parent::display($tpl);
}
}
?>




4.) /administrator/components/com_basicschool/views/absence/tmpl/absence.php




Trzeba zamienić wyprowadzenia nazwy przedmiotu w grupach i bez grup:

W części gdzie wyprowadzane są nazwy grup wpisy miały postać:


echo $lsn[$n][0]; //<- grupa pierwsza

echo $lsn[$n][1]; //<- grupa druga i analogicznie dla pozostałych grup jeśli ktoś miał więcej niż dwie


te wpisy zamieniamy na:

echo $this->lessonsfname[$lsn[$n][0]]; //<-grupa pierwsza

echo $this->lessonsfname[$lsn[$n][1]]; //<- grupa druga itd.




i podobnie dla przedmiotów bez grup

wpis miał postać:
echo $this->lessonsday[$n];

i zamieniamy go na:

echo $this->lessonsfname[$this->lessonsday[$n]];

5.)W bazie MYSQL w tabeli


***_bschool_lessons

po kolumnie:
lessonname

trzeba dodać kolumnę:


nazwa: fullname
typ: varchar
długość: 30
ustawienia domyślne:
metoda porównywania napisów: utf8_general_ci


Podobnie przez analogię pkt. od 1 do 4 możecie dodać sobie wyprowadzanie nazw przedmiotów do drukowania kartek z ocenami (jak ktoś ma trudność niech pisze na pw) i gdzie sobie ktoś wymarzy.
Idea tej modyfikacji polega na tym że dotychczasowa nazwa w której nie można używać spacji i polskich znaków pozostaje nadal tak samo używana i jest indeksem do przetwarzania.
Natomiast pełna nazwa przedmiotu z ogonkami i spacjami jest do tego indeksu prezypisana i używana tylko do wyświetlenia.

Także po tych modyfikacjach trzeba do każdego przedmiotu z dotychczasową nazwą dopisać pełną nazwę taką jaka ma się wyświetlać w okienku
BS_LESSON_FULLNAME
do tego dopiszcie sobie tłumaczenie w panelu administratora joomla
->języki -> nadpisywanie tłumaczeń ->Polisch(Pl)-Zaplecze->Utwórz
to jest stała językowa: BS_LESSON_FULLNAME
a w tekst wpiszcie to jak ma się nazywać okienko do wpisywania pełnej nazwy przedmiotu.


Nasze dzienniczki mają już ładnie brzmiące nazwy przedmiotów.Pozdrawiam.