GithubHelp home page GithubHelp logo

chilek / lms Goto Github PK

View Code? Open in Web Editor NEW
120.0 120.0 132.0 79.58 MB

Lan Management System (LMS) public GIT repo

Home Page: http://lms.org.pl

Perl 1.14% PHP 60.75% Shell 2.05% Python 0.20% C 3.40% HTML 18.11% Awk 0.01% JavaScript 9.82% CSS 0.07% Lex 0.04% Yacc 0.06% Makefile 2.86% M4 0.10% XSLT 0.11% PLpgSQL 0.01% Less 1.27%

lms's People

Contributors

alecpl avatar awbnet avatar ceho avatar chilek avatar darton avatar ernesttar avatar interduo avatar jarecky avatar kyob avatar limer-org avatar lmsgit avatar maciejhpl avatar maciejlew avatar maniac777 avatar mikenowak avatar milekz avatar mrd83 avatar mslomnicki avatar nicramarcin avatar oswida avatar paszczus avatar pjona avatar prezeskk avatar rafalpietraszewicz avatar repcio avatar seba11 avatar wawryk avatar wdjag avatar zdanowskis avatar zlyzwierz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lms's Issues

Problem z menu

Jest problem z menu polagający na tym, że kliknięcie w pozycję w menu generuje dwa żądania GET zamiast jednego. Normalnie użytkownik tego nie jest w stanie zauważyć, ale skrypty po stronie serwer wykonują się dwukrotnie. Aby to odtworzyć można użyć polecenia error_log np w welcome.php - w logach Apache zobaczymy podwójne wpisy. Można także zobaczyć to włączając Firebuga. Problem prawdopodobnie związany jest z zdarzeniem onclick na elemecie div i trzeba jakoś zablokować propagacje zdarzenia kliknięcia, ale na razie coś mi to nie działa...

Przerobienie mechanizmu uruchamiania modułów

Będę przepisywał dodatek ADESCOM spinający LMS z ich platforma VoIP. Poprzedni, poza tym że nie działa z nowszymi wersjami LMS, miał opinię zbyt daleko ingerującego w LMS. Myślałem jakby pozbyć się na przyszłość tego problemu w tym przypadku, a także w przypadku innych dodatków firm trzecich, które chciałyby jakoś spiąć swoje systemy z LMS.
Pomysł jest taki, aby te dodatki włączać/wyłączać z uiconfig, po czym te włączone rejestrowały by się w jakiś sposób w LMS. Działałoby to na zasadzie wzorca obserwator. Podczas wykonywania się modułów LMS w pewnych krytycznych momentach (start modułu, przyjście zmiennych w tablicy POST, walidacja tablicy POST, zapisywanie zmian) obserwatorzy (moduły zewnętrznych dostawców) powiadamiane by były o zdarzeniu i mogłyby wpływać bądź nie na zmienne. W ten sposób można by odseparować od siebie LMS i dodatki do niego. Co o tym myślicie?

PDF brakuje pliku invoice_tcpdf.php

Dziś zrobiłem update do najnowszej wersji z git. Po czym nie działały faktury w PDF. W logach:

[Wed Mar 12 08:27:22.206676 2014] [:error] [pid 4086] [client 127.0.0.1:45052] PHP Warning: include(invoice_tcpdf.php): failed to open stream: No such file or directory in /var/www/lms/modules/invoice.php on line 29, referer: http://localhost/lms/?m=customerinfo&id=282

Rozwiązałem to poprzez zmianę linii nr 29 w pliku invoice.php z
include('invoice_tcpdf.php');
na
include('invoice_pdf.php');

Coś się zmieniło w kwestii generowania PDF w LMSie czy to zwykły czeski błąd?

edycja osprzętu sieciowego

Najnowszy LMS. Wywołanie netdevedit czyli edycja urządzenia w osprzęcie sieciowym powoduje, że w lokalizacji zamiast: 'miasto, ulica numer' mam tylko 'miasto numer'

Korekta faktur

  1. nie ma możliwości korekty faktury rozliczonej
  2. korygując fakturę można tylko usunąć pozycje, nie można nic dodać

[rozwiązane] netbeans problem z commitem

Mam problem z commitem w do swojego forka. Zmieniam po jednej linii w pliku, a po przesłaniu do githuba jest to widoczne jako zmiana całego pliku. Wydaje mi się że mam problem z ustawieniami formatowania w NetBeans. Próbowałem już ustawić "Tab size" na 4 i wyłączyć zmianę tabulatorów na spacje ale nie pomaga. Jakie macie ustawienia formatowania w NB? Albo może ktoś wie o co innego może tu chodzić?

Rozwiązałem problem resetując forka... :-)

Próba aktualizacji do najnowszej wersji GIT

Kończy się takim błędem:

PHP Catchable fatal error: Argument 1 passed to ConfigLoader::parseRawConfig() must be of the type array, null given, called in /usr/share/lmsgit/lib/LMSConfig/ConfigLoader.php on line 51 and defined in /usr/share/lmsgit/lib/LMSConfig/ConfigLoader.php on line 105

a

a

zmiana właściwości połączenia

Gdy chcę zmienić rodzaj, szybkość etc. połączeń pomiędzy urządzeniami przy zapisie dostaję:
TypeError: form.elements.radiosector is undefined
Akurat nie mam jeszcze żadnego sektora dodanego do urządzenia.

Sortowanie taryf na karcie klienta

Proponuje zmienić obecne sortowanie taryf (ORDER BY a.datefrom, value), które przy większej ilości taryf jest chaotyczne na sortowanie wg nazwy przypisanej taryfy, czyli (ORDER BY t.name, a.datefrom, value), a nawet samo ORDER BY t.name.

Dla klientów, którzy mają powiedzmy mniej niż 5 taryf to nie ma znaczenia, ale jak klient ma ponad 30 i więcej to robi się młyn.

Zmiana dotyczy pliku LMS.class.php funkcja GetCustomerAssignments.

Userpanel

Najświeższy LMS 1.11-git DB:DB: 2014090600 z dzisiaj

Helpdesk - Nowe zgłoszenie Kolejka: nie wyświetla się nic - brak listy rozwijanej. (oczywiście istnieje)

Wystąpiły błędy w obsłudze bazy danych!
[ Błąd! ] Zapytanie: SELECT id FROM rtqueues WHERE id IN ()
Błąd: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 2

Zapytanie: SELECT id, name FROM rtqueues WHERE id IN ()
Błąd: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1

Nie przypisuje do kategorii zgłoszenia.
Wszystko poprzypisywane poprawnie - wszystko działało prawdopodobnie do któregoś upgrade do GIT

Dwie sugestie

Na własne potrzeby przerabiam LMSa i zauważyłem dwie rzeczy, które uważam, że wymagają poprawek.
Pierwsza to umiejscowienie funkcji getdir. W mojej opinii powinna znajdować się w pliku common.php, gdyż jest używana bezpośrednio przez moduły.
Druga to brak modułu documentsearch.php . Nie ma go nawet w tym repozytorium, a znajduje się do niego bezużyteczny odnośnik w menu, więc albo usuńcie do niego odnośniki skoro nikt nie wykazuje na niego zapotrzebowania.
Z moimi uwagami zróbcie co chcecie.

Pozdro,
Luke

Odsetki ustawowe

Sugestia: Implementacja naliczania odsetek ustawowych.

  • jak zamodelować?
  • które z istniejących elementów LMS można wykorzystać
  • integracja z Userpanel
  • czyhające pułapki/zagrożenia
  • aspekty prawne/formalne

Jeśli macie jakieś sugestie w tym temacie - z chęcią wysłucham, przymierzam się do jakiejś implementacji tego tematu, ale to moje początki w LMS, więc sugestie developerów będą b. mile widziane.

Zastosowanie empty.gif?

Zastanawiam się jaki był cel wstawiania w niektórych miejscach przeźroczystego obrazka empty.gif? Wydaje mi się że po jego usunięciu nic się nie zmienia i chyba tak zaraz zrobię :), ale może ktoś wie o co chodziło i ma to jakiś głębszy sens :)

Chodzi mi na przykład o występowanie tego na listach w nodelist.html.

rozciągniecie w poziomie strony

Czy to już tak ma być, że po dodaniu 'sektorów radiowych' strona będzie rozciągnięta w poziomie ?? czy mógłbym spróbować to przywrócić do poprzedniego zachowania ?

lms-teryt ver 1.11-git nie importuje ulic gdy

bug ?:
po użyciu 'lms-teryt -f -l nr,nr -u' zaimportowało się wszystko oprócz ulic.
próby 'lms-teryt -f -u' również import bez ulic.
aktualizacja 'lms-teryt -u' nic nie dawała
import wykonał się poprawnie dopiero gdy usunałem województwa dodane w Konfiguracja->Województwa ( zmiana nazwy województw na cokolwiek tez przyniosła efekt )
zaktualizowalem przez 'lms-teryt -C /etc/lms/lms.ini -u'

Konfiguracja:

  • Deb 7.5
  • nowa instalacja lms z github
  • nowa baza z git hub
  • katalog na teryt utworzony, prawa nadane
  • konfiguracja dla [teryt] w /etc/lms/lms.ini dodana

pomysł:
Może w kolejnej odsłonie związać wsystkie adresy z teryt, tj adresy klienta zamieszkanie,korespondencja, a nie tylko nodów i urządzeń sieciowych.
Ułatwi to pracę z zewnętrznymi firmami zajmującymi się wysyłką i wykluczy powstające błędy w adresach zameldowania.

sortowanie komputerów po statusie

Moduł: m=nodelist

Klikając kilka razy w różny status po którymś razie sortowanie zaczyna głupieć i nie sortuje. Sprawdzane w najnowszej wersji z git (choć problem miałem także we wcześniejszych wersjach, ale zapomniałem zgłosić).

URL robi się mniej więcej taki:
m=nodelist&page=1&s=2&n=0&ng=&g=&m=nodelist&s=1&o=name%2Casc&page=

Jak widać parametr "s" dubluje się.

Błąd naliczania cutoff [daemon]

Aby reprodukować wystarczy wstawić zobowiązanie, dodać rabat i ustawić limit -99%.
Zostanie naliczony wobec zobowiązania, a nie kwoty finalnej zobowiązania.

Zmiana nazwy sieci IP

Nie jestem w stanie wyedytować nazwy Sieci IP z formularza edycji, po zatwierdzeniu formularza nie zmienia tej nazwy.

Nie mogę wyłączyć niepotrzebnych mi zakładek (modułow) w userpanel.

Jedyną możliwość wyłączenia zakładek (modułów) w userpanel, to usunięcie lub wyłączenie dostępu do katalogów poszczególnych modułów w katalogu /userpanel/modules.

Oczywiście to powoduje rozsynchronizowanie mojej kopii roboczej z master i spowoduje problemy w przyszłości.

Jako workaround mógłbym skonfigurować ścieżkę do modułów, ale… nie mogę tego zrobić, ponieważ:
https://github.com/lmsgit/lms/blob/master/userpanel/index.php#L61

Wobec powyższego, kod używany w:
https://github.com/lmsgit/lms/blob/master/userpanel/index.php#L55 nie ma chyba najmniejszego sensu - wartość z $CONFIG, jeśli w ogóle jest gdzieś wykorzystywana, to moze być nieprzystajaca do zestawu modułów zczytanych w:
https://github.com/lmsgit/lms/blob/master/userpanel/index.php#L160

Pytania:

  1. To jest błąd, czy jakieś celowe działanie?
  2. Jak mam wyłączyć zakładki, których nie chcę nie modyfikując kodu źródłowego?

PHP Warning: Unable to read ini file! in /usr/sbin/lms-sendinvoices.php on line 129

lms-sendinvoices.php -t

lms-sendinvoices.php
(C) 2001-2013 LMS Developers
Using file /etc/lms/lms.ini as config.
PHP Warning: Unable to read ini file! in /usr/sbin/lms-sendinvoices.php on line 129

Warning: Unable to read ini file! in /usr/sbin/lms-sendinvoices.php on line 129
Fatal error: cannot connect to database!

Najnowsza wersja z repo.

Plik /etc/lms/lms.ini oczywiście istnieje, jest do odczytu i posiada informacje o bazie danych.

Do czego służą $Id$?

W kodzie pojawiają się tajemnicze znaczniki $Id$. Po co to jest i czy można wywalić? :)

Grupowanie taryf

W przypadku, gdy taryf jest kilkadziesiąt lub więcej robi się chaos.

Pomysły:

  1. grupowanie tagami
  2. przedrostkiem
  3. w formie katalogów

Co o tym myślicie?

lmsd po ostatnich zmianach w repo

Udało mi się zaktualizować do najnowszej wersji GIT (wcześniejsza wersja miała z 3 miesiące), w tym czasie było dużo zmian m. innymi z demonem. Po upgradzie dostaje:

Database driver 'mysql' does not exist. Could not find '/usr/lib64/lms//mysql.so'.

Z tego co widzę to teraz nie jest generowany plik .so tylko mysql_la-mysql.o, skąd taka zmiana?
Czy wystarczy, że będę używać .o zamiast .so ?

Nowe pole w customerinfobox

Witam

W tabeli customers stworzyłem nowe pole nrumowy. Niestety nie wiem jak wyświetlić ten numer w customerinfobox {$customerinfo.nrumowy}. Może ktoś mnie naprowadzić co muszę zrobić?

Przerobienie ładowania configów

Chciałbym zrobić na nowo ładowanie configów. Zamiast globalnej tablicy $CONFIG dostępny byłby singleton LMSConfig. Byłaby możliwość ładowania ustawień z plików ini oraz bazy danych, z możliwością rozszerzenia na inne źródła w przyszłości.

Przykładowe użycie wyglądałoby następująco:

LMSConfig::getConfig()->getSection('directories')->getVariable('sys_dir');

LMSConfig::getConfig(array('lms_ini_path' => '/etc/lms/lms2.ini'))->getSection('directories')->getVariable('sys_dir');

LMSConfig::getIniConfig()->getSection('directories')->getVariable('sys_dir');

LMSConfig::getConfig()->getSection('jakas_sekcja_z_bazy')->getVariable('jakas_wartość_z_bazy');

LMSConfig::getDbConfig()->getSection('jakas_sekcja_z_bazy')->getVariable('jakas_wartość_z_bazy');

lmsconfig

Zanim zacznę pisać to może ktoś ma jakieś spostrzeżenia do tego pomysłu?

podwójne opcje

W LMS-UI->Userpanel->Uprawnienia w tabeli z możliwymi opcjami wydaje mi się, że nie powinny one występować podwójnie.
shot_130409_122500

Jeżeli jest to błąd przygotuję poprawkę.

Zastosowanie apostrofu w nazwie planu numeracyjnego powoduje błedy w JS

Problem wystąpił u klienta w documentadd.html, w linii 39, w funkcji setnumberplan, powstaje gdy w nazwie planu numeracyjnego znajduje się apostrof. Po błedzie nie działa już pozostała część JS na tej stronie :)

Zastanawiam się czy zrobić escape po stronie html, czy lepiej nie dopuszczać do powstawania nazw planów z apostrofami?

TinyMCE not works in Czech language

Hi,
TinyMCE dont work with czech language.

The problem is in "code name" of language, tinymce uses "cs", but LMS uses "cz". And then LMS set language in TinyMCE, LMS use variable $_ui_language, where is stored "cz" and TinyMCE doesn't know any language like that.

nowy rodzaj dokumentu

Czy można dodać do listy dokumentów nową pozycję - billing.
Można pociągnąć do LMSa biling i odpowiednio go za kategoryzować a następnie udostępnić np. poprzez panel.

wiadomości administracyjne (powiadomienia)

Nie wiem jaki był zamysł tego, lecz włącza się je dla komputera a samą informację tworzy w karcie klienta. Czy mógłbym ewentualnie przenieść to wszystko do karty klienta ??

Pinger live, nie zlicza strat pakietowych

Odpalony wątek, lecą "urządzenie sieciowe jest nieosiągalne" a w sekcji summary [razem] stoi w miejscu.
Podczas gdy urządzenie odpowiada, nie liczy przerw jak i pakietów na które nie odpowiedziało urządzenie.

body onload timeout

Proponuje usunąc z template/default/header.html kod:
<body onload="start_login_timeout({get_conf('phpui.timeout')})">
i zostawić samo <body>
przez ten timeout często trace swoje zapiski. W szczególności, gdy tworzę mailing.

opcja balancelist_pagelimit

Aktualnie w LMS-UI->IU dla tej opcji jest opis: "Limit wyświetlanych rekordów na jednej stronie bilansu klienta. Domyślnie: 100"
Po zmianie wartości tego parametru nie zmienia się limit rekordów dla konkretnego klienta, tylko dla LMS-UI->Finanse->Historia operacji.
Może to nie jest problem, lecz tylko źle interpretuję ten opis.

Terminarz wersja mobilna z powiadamianiem

Technicy posiadają smartfony z dostępem do internetu, więc zrodził się pomysł.

Mianowice, aby usprawnić przepływ informacji (bynajmniej u nas) przydałaby się mobilna wersja strony terminarza oraz możliwość powiadamiania mail/sms o nowym/zmodyfikowanym zdarzeniu w terminarzu.

Rzucam pomysł pod rozwagę może ktoś dorzuci swoje pięć groszy zanim ja lub ktoś inny podejmie się tematu.

LMS frontend

Chciałem trochę odświeżyć frontend, ale według mnie szkoda czasu na grzebanie w obecnym dość archaicznym kodzie. Chcę przerobić aktualny kod na coś zgodnego z HTML5. Teraz pytania, który kierunek obrać:

  1. Grzebanie w istniejącym szablonie z katalogu templates - jeden szablon dla wszystkich?
  2. Stworzenie nowych template np. templates/nazwa_szablonu, wtedy każdy z poziomu np. lms.ini mógłby aktywować odpowiedni szablon według uznania?

Domyślnie: templates/default
Nowe szablony: templates/nazwa_szablonu

Inne pomysły?

Wyświetlanie zobowiązań klienta

W sytuacji gdy mamy taryfę np. 'instalacja', którą dodaję do klienta żeby naliczała się jednorazowo (period = 0), z datą np. 2013/05/01, nie znika po 1 maja. Wyświetla się dalej na karcie klienta, bez zaznaczonego 'Pokaż przeterminowane'. To co zauważyłem, dzieje się tak tylko jeśli dodaliśmy zobowiązanie, które jest taryfą, jeśli zobowiązanie jest zwykłą pozycją z tabeli liabilities (zobowiązanie beztaryfowe) to pozycja normalnie znika.

I teraz pytanie jak zmienić linijkę 2223 w funkcji GetCustomerAssignments() z LMS.class.php, żeby było dobrze. Najprawdopodobniej wadliwa linijka:

AND (a.liabilityid = 0 OR (a.liabilityid != 0 AND (a.at >= ' . $now . ' OR a.at < 531)))' : '')

zastanawiam się czy można tak zrobić:

AND (a.at >= ' . $now . ' OR a.at < 531)' : '')

Po czymś takim, pojawia się to co ma się pojawiać, i nie wiszą już stare zobowiązania jednodniowe, ale nie sprawdzałem wszystkich przypadków.

Chyba, że nie dodajemy takich zobowiązań taryfowych w takiej sytuacji.

new installation

Hello
my english is poor, I'm sorry

On the new installation i have problem

/var/www# /var/www/lms/devel/smarty_install.sh
Downloading Smarty sources... done.
Extracting... done.
Merging... cp: target `/var/www/lms/devel/../lib//Smarty/' is not a directory

when I'm create Smarty dir is it ok

Then
Fatal error: cannot connect to database!
/var/log/apache2/error.log
Unable to read ini file! in /var/www/lms/index.php on line 75

editing "index.php" line 75 to /etc/lms/lms.ini then is it ok

when I'm netdevadd

PHP Fatal error: Uncaught --> Smarty Compiler: Syntax error in template "/var/www/lms/templates/default/netdevinfobox.html" on line 127 "{if c('phpui.radius')}" unknown function "c" <-- \n thrown in /var/www/lms/lib/Smarty/sysplugins/smarty_internal_templatecompilerbase.php on line 127,

deleting line 127 in "netdevinfobox.html" if c('phpui.radius')}
is it ok

then
PHP Fatal error: Uncaught --> Smarty Compiler: Syntax error in template "/var/www/lms/templates/default/netdevinfobox.html" on line 192 "{/if}" unexpected closing tag <-- \n thrown in /var/www/lms/lib/Smarty/sysplugins/smarty_internal_templatecompilerbase.php on line 192, referer: http://thor.rajnet.sk/lms/?m=netdevadd
deleting line in "netdevinfobox.html" 192(193) {/if}
is it ok

Przypisywanie sieci IP do konkretnego hosta

Witam,

planuje przygotować u siebie taki commit, który rozszerza tabele networks o kolumnę 'hostid'. Hostid to ID hosta z tabeli 'hosts'. Przez co możemy przypisać hosta do konkretnej sieci. Ma to na celu wyłapać z którego routera jest dany adres IP. Będzie można to później wykorzystać np. do arpingowania: arping_helper mógłby wyglądać tak: ssh root@%hostname.example.pl -c 'arping %i -c 1 -w 1.0'.

Zainteresowani, czy macie na to inny pomysł?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.