Wszystkie instrukcje odnoszę do najnowszych CVS'owych wersji plikow. Nie zamiescilem roznic w postaci diff'ow bo poszczegolne pliki roznia sie jeszcze kilkoma rzeczami - to nie jedyna zmiana jakiej musialem dokonac w LMS'ie.
Dobra jedziemy.
1. Zmiana definicji funkcji IsIpFree w pliku "lib/LMS.class.php"
function IsIPFree($ip,$ownerid=false) { return !($this->DB->GetOne('SELECT * FROM nodes WHERE ipaddr=inet_aton(?)' . ( is_numeric( $ownerid ) ? 'AND ownerid!=?' : ''), array($ip,( is_numeric( $ownerid ) ? $ownerid : FALSE))) ? TRUE : FALSE); }
2. Usunięcie z klucza "ipaddr" w tabeli "nodes" atrybutu UNIQUE. ALTER TABLE nodes DROP INDEX ipaddr, ADD INDEX ipaddr( ipaddr );
3. Zmiana w pliku "modules/nodeedit.php" linii: if(!$LMS->IsIPFree($nodeedit['ipaddr']) && $LMS->GetNodeIPByID($nodeedit['id'])!=$nodeedit['ipaddr']) na: if(!$LMS->IsIPFree($nodeedit['ipaddr'], $nodeedit['ownerid'])&&$LMS->GetNodeIPByID($nodeedit['id'])!=$nodeedit['ipaddr'])
4. Zmiana w pliku "modules/nodeadd.php" linii: elseif(!$LMS->IsIPFree($nodedata['ipaddr'])) na: elseif(!$LMS->IsIPFree($nodedata['ipaddr'], $nodedata['ownerid']))
No i tyle :) Te zmiany pozwola definiowac w obrebie jednego usera kilka hostow o tym samym adresie IP.
btw. - skoro to jest taki "wannabe" fijeczer to moze niech "szefowie" pomysla o zaimplementowaniu go na stale np jako opcja do wyboru w lms.ini (tak jak w tej chwili "mac sharing")
-------------------- Łukasz Wojciechowski
uczestnicy (1)
-
lukas