zenlix / hd.rustem Goto Github PK
View Code? Open in Web Editor NEWHD.rustem - web-based helpdesk system (apache+php+mysql)
Home Page: http://zenlix.com/
HD.rustem - web-based helpdesk system (apache+php+mysql)
Home Page: http://zenlix.com/
Пример:
<a href="javascript:alert('xss')"
style="position:fixed;left:0;right:0;top:0;bottom:0;z-index:1000;cursor:default;"
></a>
Срабатывает при нажатии мышки в любом месте.
Более подробно своё мнение по поводу я изложил тут: 1bdbe6a#diff-b6f76336fbaec4b0bae7029939f8fce0R87
Security #5 - источник.
Если пользователь состоит в нескольких отделах, то выборка в запросе идёт не правильная.
Было бы не плохо добавить в настройку у каждого пользователя или глобально в системе количество выводимых заявок в dashboard и в полном списке list.
В комментариях не отображается "+" (плюс)
Сделал как было описано прикрепление файлов к заявки. Все работает, но не создается заявка без прикрепленного файла!
В заявке не показываются прекрепленные файл.
Что если сделать, что обычный пользователь сможет ставить статус не выполнено. Но только немного с другой схемой. В выпадающее меню добавить пункт подтверждения для начальника отдела. Когда пользователь ставит статус не выполнено, отправляется уведомление о подтверждении действия начальнику отдела. Так же всплывает сообщение и пишется история в последних действиях.
Не все документы загружаются. Ругается upload.php. Что то проходит что то нет например pdf размером 2,2 не загрузился((((
json.php:
$term = trim(strip_tags($_GET['term']));//retrieve the search term that autocomplete sends
$qstring = "SELECT fio as label, id as value FROM users WHERE fio LIKE '%".$term."%' limit 10";
$result = mysql_query($qstring);//query the database for entries containing the term
В строке состояние вот такое вываливает
Mailer Error: SMTP Error: The following recipients failed: [email protected] Error: SMTP Error: The following recipients failed: [email protected]
При открытии заявки не все отображается((((
После выполнения установки по инструкции не удается войти со дефолтными логином/паролем. В базе MD5 соответствует паролю "1234".
Код тянул из гита клоном только что. Может я что-то в мануале по установке пропустил или есть Великая хитрось, которой я не знаю т.к. не ас?
При добавлении тикета не всегда нужно создавать нового пользователя автоматически, где-то удобнее выбирать исключительно из существующих, например у нас, спасибо! :)
Можно ли добавить возможность удалять созданных пользователей?
Например
<title>PARTNER HELP</title>Когда открыта страница для создания заявки и в этот момент тебе приходит уведомления о поступившей заявки или о ее выполнении и т.д.. Звука нет, ругается на несуществующий файл. А так же всплывает 2 одинаковый уведомления.
Язык системы изменяться но перевод не подхватывается.
У меня почему то этот код не выполняется.
if (($length < 1) || $max_id==0) {$ress='ru';} else {$ress=$max_id;}
return $ress;
Но если сделать так
if ($length < 1) {$ress='ru';} else {$ress=$max_id;}
return $ress;
То работатет
Как сделать название фирмы на разных языках?
Не понимаю зачем тут :
index.php
if ($rq==1) { header("Location: http://".$url['host'].$req_url) ; }
if ($rq==0) {
Без этой проверки все работает. А с ней получаю пустую страницу при работе на винде.
После переноса 4cron.php в sys перестал работать скрипт. не может найти functions.inc.php. Пришлось вернуть его назад))
Не сохраняются изменения при редактировании профиля. Так же не изменятся язык системы. Плюс при открытии профиля выскакивает в логах action вот это сообщение
var lang_dd= get_lang_param('TICKET_file_upload_msg');
Не показывается блокнот в блокноте и центре знания.На других страницах вот такое в отладчике выскакивает(((( а должен без inc.
button_tiny.mp3
/hd-test/inc/static/sounds
День добрый. Не плохо бы было добавить возможность писать сообщения в заявках другим пользователям/сотрудникам.
Урезались теперь права у главного начальника. Он теперь не может ставить не выполнено если заявка не от него и не ему. А также выполнено и блокировать. Но в самой заявки он это может сделать.
Your login/logout functions are invalid.
Upon login, old session id is used.
Logout keeps the session id.
See:
http://en.wikipedia.org/wiki/Session_fixation
http://www.php.net/manual/en/function.session-regenerate-id.php
You should call session_regenerate_id(true)
at some point.
Если там пусто то показывается два фрейма идет загрузка и нет записей. И ничего нельзя выбрать кроме как нажать домой.
Проверять существующего пользователя
Почему то, может только у меня, когда пытаюсь завести запись в любом из справочников, после нажатия кнопки добавить, таблица пропадает и только белый экран с шапкой. Захожу опять через администрирование в справочник, записи нет
После того как заявку получил пользователь и выполнил ее. Инициатор заявки в теле самой заявки не может поменять статус на не выполнено. Так как он обычный пользователь. Это может сделать или главный начальник или начальник того отдела в котором находится пользователь. Это понятно. Но когда пользователь заходить в список заявок и видит там свою заявку и у нее стоит статус выполнено. То тут он может поменять на не выполнено. Вот тут я запутался в правах.....
Что то не переносятся задачи в архив. Cron срабатывает, но вот 4cron почему то нет(((
Позор. Не фильтровать входящие данные.
В файле ticket.php: $hn=$_GET['hash'];
Дальше не смотрел.
Предложена идея, автоподстановки списка пользователей отдела, в зависимости от выбранного отдела в форме создания новой заявки.
На время можно тогда сделать отдельный файл с фильтром всех глобальных, как то так:
function cleanParam(&$params) {
if(is_array($params))
foreach($params AS $key=>$value) {
if(is_array($value))
$params[$key] = cleanParam($value);
else
$params[$key] = mysql_real_escape_string($value);
}
else
$params = mysql_real_escape_string($params);
return $params;
}
// GET &POST Filter
if(!empty($_GET))
$_GET = cleanParam($_GET);
if(!empty($_POST))
$_POST = cleanParam($_POST);
Не отправляется запрос на редактирования профиля пользователя в раздели пользователи. И если при создании заявки отредактировать профиль пользователя, должен отправляться запрос на подтверждения?
Здравствуйте! Благодарю за проект, поставил ваш hd для наших менеджеров в небольшую компанию (порядка 20 чел), все довольны!
Напишите, пожалуйста, подробности настройки уведомлений на email пользователей на любое событие - создание заявки, переадресация, выполнено.
Почитал и посмотрел что есть и нашел вот такую вещь.
http://habrahabr.ru/post/183630/
Как я понял эти сообщения всплывают не зависимо от того развернут браузер или нет. Мне кажется это удобная вещь. Ну это на будущие:) Ну или что то подобного можно придумать, про не всегда все держат браузер открытый и даже если он свернут не все видят то что пришла заявка или с ней произошли другие действия.
Первый раз пользуюсь github, поэтому возможно не туда пишу.
Было бы здорово добавить в проект:
Как-то странно работают куки. Точнее они вобще не работают. Разбираюсь.
Добавил, когда открываешь заявку и там есть прикрепленный файл, он отображается без hash. Если нужно то сделаю Pull&?
После последних обновлений при обновлении страницы или переходе на любую другую страницу постоянно выскакивают сообщения.
Когда логинишься (после успешной авторизации) открывает адрес http://site.ru/index.php и там белая страница, нужно ручками убирать index.php можно как-то программно исправить?
Добавьте пожалуйста возможность прикрепления файлов к заявкам и комментариям.
Иногда необходимо прикрепить скрин или какой-то другой файл.
где то тут ошибка
function get_total_tickets_free() {
global $dbConnection;
$uid=$_SESSION['helpdesk_user_id'];
$unit_user=unit_of_user($uid);
$priv_val=priv_status($uid);
$units = explode(",", $unit_user);
$units = "'". implode("', '", $units) ."'";
if ($priv_val == "0") {
$res = $dbConnection->prepare("SELECT count(*) from tickets where unit_id IN (:units) and status='0' and lock_by='0'");
$res->execute(array(':units' => $units));
$count = $res->fetch(PDO::FETCH_NUM);
$count=$count[0];
}
не обновляется кол-во входящих сообщений и в статусе заявки нет значка. Когда ставишь
$count = mysql_num_rows(mysql_query("SELECT * from tickets where unit_id IN (".$units.") and status='0' and lock_by='0'"));
то работает:)
Отсутствует функционал восстановления забытого\утерянного пароля.
Попутно.
Зачем нужен пароль администратора (системы) в config.php? Все пароли хранятся в базе же.
Все параметры в шаблоне надо фильтровать.
Вы этого не делаете.
Пример вашего кода: <input type="hidden" name="req_url" value="<?php echo $_SERVER['REQUEST_URI']; ?>">
.
Возьмите шаблонизатор который автоматически экранирует все переменные, если не указано иначе.
Можно определить правильное преобразование для разных типов:
htmlspecialchars
.Предложенный способ спасает только от явных ошибок экранирования в построении страницы — можно сразу посмотреть, что выводится без экранирования.
Учтите, что он не спасает от вторичного XSS через яваскрипт. Например, бездумное использование большей части библиотек с попапами может приводить к XSS.
Также было бы не плохо менять приоритет заявки.
Добавить подсветку синтаксиса кода в комментариях.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.