public function __construct() { /*if (!template_session::is_admin() and !template_session::is_editor()) { if (get('ajax')) { exit(RUDE_AJAX_ACCESS_VIOLATION); } return false; }*/ switch (get('task')) { case 'save': $status = settings::save(get('popup_id'), get('popup'), get('rector_id'), get('rector')); template_session::set_use_popup(get('popup')); break; default: $status = false; break; } if (get('ajax')) { if ($status) { exit(RUDE_AJAX_OK); } else { exit(RUDE_AJAX_ERROR); } } return true; }
public function __construct() { if (!template_session::is_admin() and !template_session::is_editor()) { if (get('ajax')) { exit(RUDE_AJAX_ACCESS_VIOLATION); } return false; } switch (get('task')) { case 'remove': $status = departments::remove(get('id')); break; case 'add': $status = departments::add(get('name')); break; case 'edit': $status = departments::edit(get('id'), get('name')); break; default: $status = false; break; } if (get('ajax')) { if ($status) { exit(RUDE_AJAX_OK); } else { exit(RUDE_AJAX_ERROR); } } return true; }
public static function login($user_id = null) { if ($user_id === null) { $user_id = template_session::get_user_id(); } if (!$user_id) { return false; } $user = users::get($user_id); if (!$user) { return false; } template_session::set_user_id($user->id); template_session::set_user_name($user->name); $setting_popup = settings::get_popup($user->id); template_session::set_use_popup($setting_popup->value); switch ($user->role_id) { case RUDE_ROLE_ADMIN: template_session::set_authorized(); template_session::set_admin(); template_session::set_editor(); template_session::set_user(); break; case RUDE_ROLE_EDITOR: template_session::set_authorized(); template_session::set_editor(); template_session::set_user(); break; case RUDE_ROLE_USER: template_session::set_authorized(); template_session::set_user(); break; } return true; }
public static function init() { $username = get('username'); $password = get('password'); if (!$username) { exit('Пожалуйста, укажите имя для пользователя.'); } if (!$password) { exit('Пожалуйста, укажите пароль пользователю.'); } if (string::length($password) < 6) { exit('Ваш пароль не может быть менее 6 символов.'); } $user = users::get_by_name($username); if (!$user) { exit('Данного пользователя не существует.'); } if (!crypt::is_valid($password, $user->hash, $user->salt)) { exit('Указанный вами пароль не совпадает с тем, что был указан при регистрации.'); } $is_authorized = template_session::login($user->id); if (!$is_authorized) { exit('Нарушение логической цепи: авторизация не произведена.'); } }
public static function init() { if (!template_session::is_admin() and !template_session::is_editor()) { if (get('ajax')) { exit(RUDE_AJAX_ACCESS_VIOLATION); } return false; } switch (get('task')) { case 'save': static::save(); exit; default: break; } return true; }
public static function init() { $username = get('username'); $password = get('password'); //$role_id = get('role_id'); if (!$username) { exit('Пожалуйста, укажите имя для пользователя.'); } if (!$password) { exit('Пожалуйста, укажите пароль пользователю.'); } if (string::length($password) < 6) { exit('Ваш пароль должен быть длиной 6 или более символов.'); } if (users::is_exists($username)) { exit('Данный пользователь уже существует. Попробуйте указать другое имя.'); } $user_id = users::add($username, $password, RUDE_ROLE_USER); if (!$user_id) { exit('Произошла непредвиденная ошибка. Пожалуйста, обратитесь к администратору сайта и расскажите после каких действий вы увидели данное сообщение.'); } settings::add($user_id); template_session::login($user_id); }
public static function sidebar() { template_html::dimmer(); template_html::registration(); template_html::authorization(); template_html::access_violation(); ?> <div id="sidebar"> <div class="ui vertical menu square-corners"> <div class="item header" onclick="rude.animate('#navigation'); rude.cookie.toggle('hide_navigation')"> Навигация </div> <div id="navigation" <?php if (cookies::is_equals('hide_navigation', 1)) { ?> style="display: none;"<?php } ?> > <a class="item subcategory" href="/"> <i class="icon home"></i> Вернуться на главную </a> <?php if (!template_session::is_authorized()) { ?> <a class="item subcategory" href="#" onclick="$('#authorization').modal('show'); return false;"> <i class="icon sign in"></i> Авторизация </a> <?php } ?> <?php if (!template_session::is_authorized()) { ?> <a class="item subcategory" href="#" onclick="$('#registration').modal('show'); return false;"> <i class="icon edit"></i> Регистрация </a> <?php } ?> <?php if (template_session::is_authorized()) { ?> <a class="item subcategory" href="#" onclick="$.post('/?page=logout', function() { rude.redirect('/'); }); return false;"> <i class="icon sign out"></i> Выход </a> <?php } ?> </div> <?php if (template_session::is_authorized()) { ?> <div class="item header" onclick="rude.animate('#management'); rude.cookie.toggle('hide_management')"> Управление </div> <div id="management" <?php if (cookies::is_equals('hide_management', 1)) { ?> style="display: none;"<?php } ?> > <a class="item subcategory <?php if (get('page') == 'departments') { ?> active<?php } ?> " href="/?page=departments"> <i class="icon"></i> Кафедры </a> <a class="item subcategory <?php if (get('page') == 'faculties') { ?> active<?php } ?> " href="/?page=faculties"> <i class="icon"></i> Факультеты </a> <a class="item subcategory <?php if (get('page') == 'qualifications') { ?> active<?php } ?> " href="/?page=qualifications"> <i class="icon"></i> Квалификации </a> <a class="item subcategory <?php if (get('page') == 'specializations') { ?> active<?php } ?> " href="/?page=specializations"> <i class="icon"></i> Специализации </a> <a class="item subcategory <?php if (get('page') == 'specialties') { ?> active<?php } ?> " href="/?page=specialties"> <i class="icon"></i> Специальности </a> <a class="item subcategory <?php if (get('page') == 'users') { ?> active<?php } ?> " href="/?page=users"> <i class="icon"></i> Пользователи </a> <a class="item subcategory <?php if (get('page') == 'calendar_legend') { ?> active<?php } ?> " href="/?page=calendar_legend"> <i class="icon"></i> Условные обозначения </a> <a class="item subcategory <?php if (get('page') == 'directions') { ?> active<?php } ?> " href="/?page=directions"> <i class="icon"></i> Направления </a> <a class="item subcategory <?php if (get('page') == 'settings') { ?> active<?php } ?> " href="/?page=settings"> <i class="icon"></i> Настройки </a> <a class="item subcategory <?php if (get('page') == 'stats') { ?> active<?php } ?> " href="/?page=stats"> <i class="icon"></i> База данных </a> </div> <div class="item header" onclick="rude.animate('#reports'); rude.cookie.toggle('hide_reports')"> Учебные планы </div> <div id="reports" <?php if (cookies::is_equals('hide_reports', 1)) { ?> style="display: none;"<?php } ?> > <a class="item subcategory <?php if (get('page') == 'reports') { ?> active<?php } ?> " href="/?page=reports"> <i class="icon"></i> Все планы </a> <a class="item subcategory <?php if (get('page') == 'reports-edit') { ?> active<?php } ?> " href="/?page=reports-edit"> <i class="icon"></i> Добавить новый </a> </div> <?php } ?> </div> </div> <?php }
public function __construct() { if (!template_session::is_admin() and !template_session::is_editor()) { if (get('ajax')) { exit(RUDE_AJAX_ACCESS_VIOLATION); } return false; } $report_id = (int) get('report_id'); if (!$report_id) { $reports = new reports(); $report_id = $reports::add(); header('Location: /?page=reports-edit&report_id=' . $report_id); die; } if (get('is_tmp')) { $reports = new reports_preview(); } else { $reports = new reports(); } if (!$reports::is_exists($report_id)) { new template_404(true); } $this->report = $reports::get($report_id); if (!$this->report) { new template_404(true); } switch (get('task')) { case 'update': $status = true; exit((string) $reports::update(get('report_id'), get('year'), get('duration'), get('rector'), get('registration_number'), get('training_form_id'), get('qualification_id'), get('specialty_id'), get('specialization_id'), get('study_practice'), get('manufact_practice'), get('grad_work'), get('gos_exam'))); break; case 'update_education': $q = new uquery(RUDE_DATABASE_TABLE_EDUCATION); $q->update('not_save', (int) 0); $q->where('id', (int) get('dis_id')); $q->query(); $status = true; break; case 'update_education_item': $q = new uquery(RUDE_DATABASE_TABLE_EDUCATION_ITEMS); $q->update('order_num', (int) get('item_order')); $q->update('is_optional', (int) get('optional')); $q->where('id', (int) get('item_id')); $q->query(); $status = true; break; case 'delete_item_discipline': $q = new dquery(RUDE_DATABASE_TABLE_EDUCATION_ITEMS); $q->where('id', (int) get('id')); $q->query(); $status = true; break; case 'save_education': $data = get('data'); $item_id = get('item_id'); if (!$data or !$item_id) { return false; } $education_items = new education_items_values(); if ($education_items::is_exists($item_id)) { $education_items::remove($item_id); } $y = 0; $id = $item_id[$y]; foreach ($item_id as $d_id) { $q = new dquery(RUDE_DATABASE_TABLE_EDUCATION_ITEMS_VALUES); $q->where('item_id', $d_id); $q->query(); } $col_num = 1; foreach ($data as $item) { if ($item != '') { $education_items::add($id, $item, $col_num); } if ($col_num == 40) { $col_num = 0; $id = $item_id[$y + 1]; $y++; } $col_num++; } //debug($data); $status = true; break; case 'add_education': $tmp = education::add(get('report_id'), get('name')); $status = true; die(json_encode($tmp)); break; case 'remove_education': education::remove(get('id')); break; case 'add_education_item': $tmp = education_items::add(get('education_id'), get('name'), get('order')); $status = true; die(json_encode($tmp)); break; case 'copy_education': $education = education::get(get('dis_id')); $q = new cquery(RUDE_DATABASE_TABLE_EDUCATION_PREVIEW); $q->add('report_id', (int) get('report_id')); $q->add('name', $education->name); $q->query(); $new_id = $q->get_id(); $q = new query(RUDE_DATABASE_TABLE_EDUCATION_ITEMS); $q->where('education_id', (int) get('dis_id')); $q->query(); $all_dis = $q->get_object_list(); foreach ($all_dis as $cur_dis) { $q = new cquery(RUDE_DATABASE_TABLE_EDUCATION_ITEMS_PREVIEW); $q->add('name', $cur_dis->name); $q->add('education_id', $new_id); $q->add('order_num', $cur_dis->order_num); $q->add('is_optional', $cur_dis->is_optional); $q->query(); $new_item_id = $q->get_id(); $q = new query(RUDE_DATABASE_TABLE_EDUCATION_ITEMS_VALUES); $q->where('item_id', $cur_dis->id); $q->query(); $all_item_val = $q->get_object_list(); foreach ($all_item_val as $cur_item_val) { $q = new cquery(RUDE_DATABASE_TABLE_EDUCATION_ITEMS_VALUES_PREVIEW); $q->add('value', $cur_item_val->value); $q->add('item_id', $new_item_id); $q->add('col_num', $cur_item_val->col_num); $q->query(); } } $status = true; break; default: $status = false; break; } if (get('ajax')) { if ($status) { exit(RUDE_AJAX_OK); } else { exit(RUDE_AJAX_ERROR); } } return true; }
public function main() { ?> <div id="main"> <div id="reports-new"> <div class="ui error form segment square-corners no-shadow"> <div class="three fields"> <div class="field"> <label>Год набора</label> <input id="year" name="year" placeholder="Год набора" type="text"> </div> <div class="field"> <label>Срок обучения (лет)</label> <input id="duration" name="duration" placeholder="4" type="text" onchange="calendar.update();"> </div> <div class="field"> <label>ФИО ректора</label> <?php $settings = settings::get_rector_value(template_session::get_user_id()); $rector = $settings->value; ?> <input id="rector" name="rector" value="<?php if (!empty($rector)) { echo $rector; } ?> " placeholder="М.П. Батура" type="text" > </div> </div> <div class="field"> <label>Регистрационный номер учебного плана</label> <input id="registration_number" name="registration_number" placeholder="2014.09.20/000" type="text" > </div> <div class="field"> <div class="ui fluid selection dropdown"> <div class="default text">Форма обучения</div> <i class="dropdown icon"></i> <input type="hidden" id="training_form_id" name="training_form_id"> <div class="menu"> <?php $training_forms = training_forms::get(); if ($training_forms) { foreach ($training_forms as $training_form) { ?> <div class="item" data-value="<?php echo $training_form->id; ?> "><?php echo html::escape($training_form->name); ?> </div> <?php } } ?> </div> </div> </div> <div class="field"> <div class="ui fluid selection dropdown"> <div class="default text">Квалификация специалиста</div> <i class="dropdown icon"></i> <input type="hidden" id="qualification_id" name="qualification_id" > <div class="menu"> <?php $qualifications = qualifications::get(); if ($qualifications) { foreach ($qualifications as $qualification) { ?> <div class="item" data-value="<?php echo $qualification->id; ?> "><?php echo html::escape($qualification->name); ?> </div> <?php } } ?> </div> </div> </div> <div class="field"> <div class="ui fluid selection dropdown"> <div class="default text">Специальность</div> <i class="dropdown icon"></i> <input type="hidden" id="specialty_id" name="specialty_id"> <div class="menu"> <?php $specialties = specialties::get(); if ($specialties) { foreach ($specialties as $specialty) { ?> <div class="item" data-value="<?php echo $specialty->id; ?> "><?php echo html::escape($specialty->name); ?> </div> <?php } } ?> </div> </div> </div> <div class="field"> <div class="ui fluid selection dropdown"> <div class="default text">Специализация</div> <i class="dropdown icon"></i> <input type="hidden" id="specialization_id" name="specialization_id" > <div class="menu"> <?php $specializations = specializations::get(); if ($specializations) { foreach ($specializations as $specialization) { ?> <div class="item" data-value="<?php echo $specialization->id; ?> "><?php echo html::escape($specialization->name); ?> </div> <?php } } ?> </div> </div> </div> <?php // $calendar = new ajax_calendar(); // $calendar->html(); ?> <div class="ui green submit button small" onclick="save(0); return false;">Сохранить</div> <a href="#" target="_blank" id="button-preview" class="ui blue submit button small" onclick="save(1); return false;">Предпросмотр</a> <a href="#" target="_blank" id="button-popup" class="ui blue submit button small" onclick="calendar.popup(); return false;">Календарь</a> <div class="ui dimmer page hidden"> <div id="calendar" class="ui modal large transition hidden"> <i class="close icon"></i> <div class="header"> Календарь </div> <div class="content"> <table class="ui basic table"> <tr> <th rowspan="3">к<br/>у<br/>р<br/>с<br/>ы</th> <th colspan="4">Сентябрь</th> <th></th> <th colspan="3">Октябрь</th> <th></th> <th colspan="4">Ноябрь</th> <th colspan="4">Декабрь</th> <th></th> <th colspan="3">Январь</th> <th></th> <th colspan="3">Февраль</th> <th></th> <th colspan="4">Март</th> <th></th> <th colspan="3">Апрель</th> <th></th> <th colspan="4">Май</th> <th colspan="4">Июнь</th> <th></th> <th colspan="3">Июль</th> <th></th> <th colspan="4">Август</th> </tr> <tr> <td>1</td> <td>8</td> <td>15</td> <td>22</td> <td> <div class="underline">29</div> 09 </td> <td>6</td> <td>13</td> <td>20</td> <td> <div class="underline">27</div> 10 </td> <td>3</td> <td>10</td> <td>17</td> <td>24</td> <td>1</td> <td>8</td> <td>15</td> <td>22</td> <td> <div class="underline">29</div> 12 </td> <td>5</td> <td>12</td> <td>19</td> <td> <div class="underline">26</div> 01 </td> <td>2</td> <td>9</td> <td>16</td> <td> <div class="underline">23</div> 02 </td> <td>2</td> <td>9</td> <td>16</td> <td>23</td> <td> <div class="underline">30</div> 03 </td> <td>6</td> <td>13</td> <td>20</td> <td> <div class="underline">27</div> 04 </td> <td>4</td> <td>11</td> <td>18</td> <td>25</td> <td>1</td> <td>8</td> <td>15</td> <td>22</td> <td> <div class="underline">29</div> 06 </td> <td>6</td> <td>13</td> <td>20</td> <td> <div class="underline">27</div> 07 </td> <td>3</td> <td>10</td> <td>17</td> <td>24</td> </tr> <tr> <td>7</td> <td>14</td> <td>21</td> <td>28</td> <td> <div class="underline">05</div> 10 </td> <td>12</td> <td>19</td> <td>26</td> <td> <div class="underline">02</div> 11 </td> <td>7</td> <td>16</td> <td>23</td> <td>30</td> <td>7</td> <td>14</td> <td>21</td> <td>28</td> <td> <div class="underline">04</div> 01 </td> <td>11</td> <td>18</td> <td>25</td> <td> <div class="underline">01</div> 02 </td> <td>8</td> <td>15</td> <td>22</td> <td> <div class="underline">01</div> 03 </td> <td>8</td> <td>15</td> <td>22</td> <td>29</td> <td> <div class="underline">05</div> 04 </td> <td>12</td> <td>19</td> <td>26</td> <td> <div class="underline">03</div> 05 </td> <td>10</td> <td>17</td> <td>24</td> <td>31</td> <td>7</td> <td>14</td> <td>21</td> <td>28</td> <td> <div class="underline">05</div> 07 </td> <td>12</td> <td>19</td> <td>26</td> <td> <div class="underline">02</div> 08 </td> <td>9</td> <td>16</td> <td>23</td> <td>31</td> </tr> <?php for ($i = 1; $i <= 0; $i++) { ?> <tr id="generated-<?php echo $i; ?> " class="generated"><td><?php echo int::to_roman($i); ?> </td><?php for ($j = 1; $j < 53; $j++) { $val = ''; ?> <td> <div class="ui form"> <div class="inline field"> <input class="<?php echo $j; ?> " type="text" maxlength="2" value="<?php echo $val; ?> "> </div> </div> </td> <?php } ?> </tr><?php } ?> </table> <br /> <div class="ui icon buttons constructor"> <div class="ui button" onclick="calendar_char = ''"><i class="align icon eraser"></i></div> <?php $legend = calendar_legend::get(); if ($legend) { foreach ($legend as $item) { ?> <div class="ui button constructor" title="<?php echo $item->description; ?> " onclick="calendar_char = '<?php echo $item->legend_letter; ?> '"><?php echo $item->legend_letter; ?> </div> <?php } } ?> </div> <script> rude.semantic.init.buttons(); var calendar_char = ''; $(function () { mouse_selection(); }); function mouse_selection() { var isMouseDown = false; $('#calendar .content table.ui.basic td') .mousedown(function () { isMouseDown = true; $(this).addClass('highlighted'); $(this).find('input').val(calendar_char); return false; // prevent text selection }) .mouseover(function () { if (isMouseDown) { $(this).addClass('highlighted'); $(this).find('input').val(calendar_char); } }); $(document) .mouseup(function () { isMouseDown = false; }); } </script> <a href="#" target="_blank" id="button-save" class="ui blue submit button small" onclick="calendar.save(0); $('#calendar .icon.close').click(); return false;">Сохранить</a> </div> </div> </div> <div style="display: none"> <table> <tr id="calendar-hidden"> <?php for ($i = 1; $i < 53; $i++) { ?> <td> <div class="ui form"> <div class="inline field"> <input class="<?php echo $i; ?> " type="text" maxlength="2"> </div> </div> </td> <?php } ?> </tr> </table> </div> <script> function save(is_tmp) { var report = new Report(); $.ajax( { url: '/?page=reports-new&task=add&ajax=true&is_tmp=' + is_tmp, data: { is_tmp: is_tmp, year: report.year, duration: report.duration, rector: report.rector, registration_number: report.registration_number, training_form_id: report.training_form_id, qualification_id: report.qualification_id, specialty_id: report.specialty_id, specialization_id: report.specialization_id }, success: function (report_id) { console.log(report_id); if (report_id) { if (is_tmp) { calendar.save(1, report_id, true); } else { calendar.save(0, report_id, false); rude.redirect('/?page=reports-edit&report_id=' + report_id); } } } }); } function Report() { this.year = $('#year').val(); this.duration = $('#duration').val(); this.rector = $('#rector').val(); this.registration_number = $('#registration_number').val(); this.training_form_id = $('#training_form_id').val(); this.qualification_id = $('#qualification_id').val(); this.specialty_id = $('#specialty_id').val(); this.specialization_id = $('#specialization_id').val(); } var calendar = { reset: function() { $('#calendar .generated').remove(); }, update: function() { var duration = $('#duration').val(); if (calendar.duration === null || calendar.duration != duration) { calendar.reset(); var row = $('#calendar-hidden').html(); for (var i = 1; i <= duration; i++) { $('#calendar table').append('<tr id="generated-' + i + '" class="generated"><td>' + rude.romanize(i) + '</td>' + row + '</tr>'); } } calendar.duration = duration; mouse_selection(); }, popup: function() { if (calendar.duration === null) { calendar.update(); } $('#calendar').modal('show').modal('cache sizes'); setTimeout(function() { $('#calendar').modal('refresh'); }, 750); }, get: function() { var result = []; for (var i = 1; i <= $('#duration').val(); i++) { var selector = '#generated-' + i; if ($(selector).length) { var cols = $(selector + ' td').length; for (var j = 1; j < cols; j++) { if ($(selector + ' .' + j).val() !== '') { result.push([i, j, $(selector + ' .' + j).val()]); } } } } return result; }, save: function(is_tmp, report_id, prewiew) { var data = calendar.get(); $.ajax( { url: '/?page=calendar&task=save&ajax=true', type: 'POST', data: { is_tmp: is_tmp, data: data, report_id: report_id }, success: function (data) { console.log(data); if (prewiew) { rude.open('/?page=reports-preview&is_tmp=1&report_id=' + report_id, true); } } }); } } </script> </div> </div> </div> <?php }
public static function init() { template_session::logout(); }
public static function init() { template_session::init(); switch (get('page')) { case 'registration': ajax_registration::init(); break; case 'authorization': ajax_authorization::init(); break; case 'logout': ajax_logout::init(); break; case 'calendar': ajax_calendar_items::init(); break; case 'departments': $template = new template_departments(); break; case 'faculties': $template = new template_faculties(); break; case 'qualifications': $template = new template_qualifications(); break; case 'specializations': $template = new template_specializations(); break; case 'specialties': $template = new template_specialties(); break; case 'users': $template = new template_users(); break; case 'users-roles': $template = new template_users_roles(); break; case 'calendar_legend': $template = new template_calendar_legend(); break; case 'settings': $template = new template_settings(); break; case 'directions': $template = new template_directions(); break; case 'stats': $template = new template_stats(); break; case 'reports': $template = new template_reports(); break; case 'reports-new': $template = new template_reports_new(); break; case 'reports-edit': $template = new template_reports_edit(); break; case 'reports-preview': $template = new template_reports_preview(); break; default: if (!url::is_homepage()) { $template = new template_404(); } else { $template = new template_homepage(); } } if (isset($template) and !get('ajax')) { $template->html(); } }