Joomla Templates and Joomla Extensions by JoomlaVision.Com

osCommerce - polska strona wsparcia

Naszą witrynę przegląda teraz 31 gości 

Get Adobe Flash Player

Artykuły w etykiet: poziomy
poniedziałek, 17 października 2011 21:24

Różne poziomy dostępu do panelu administratorów

W poprzednich wersjach osCommerce dostępne było zarządzanie grupami administratorów. Czas by w w wersji rc 2.2 również można było z tego korzystać!

Pobierz dodatek Administration level account. Rozpakuj go i skopiuj wszystkie pliki na serwer. Jeśli jakiś plik już istnieje w Twoim sklepie nadpisz go.

W panelu zarządzania bazą danych (phpMyAdmin) wgraj zawartość pliku install.sql znajdującego się w paczce z plikami dodatku.

W następnych krokach musisz edytować następujące pliki:

  • admin/inlcudes/application_top.php
  • admin/includes/column_left.php
  • admin/includes/database_tables.php
  • admin/includes/filenames.php
  • admin/includes/header.php
  • admin/includes/languages/polish.php
  • admin/includes/functions/general.php
  • admin/includes/functions/html_output.php
  • admin/includes/boxes/ - wszystkie pliki

1. admin/includes/aplication_top.php

Po:

testKod: php
  1. require(DIR_WS_FUNCTIONS . 'html_output.php');

Dodajemy:

testKod: php
  1. require(DIR_WS_FUNCTIONS . 'password_funcs.php');

Po:

testKod: php
  1. if (function_exists('ini_get') && ((bool)ini_get('file_uploads') == false) ) {
  2. $messageStack->add(WARNING_FILE_UPLOADS_DISABLED, 'warning');
  3. }



dodajemy:

testKod: php
  1. if (basename($PHP_SELF) != FILENAME_LOGIN_ADMIN && basename($PHP_SELF) != FILENAME_PASSWORD_FORGOTTEN && basename($PHP_SELF) != FILENAME_FORBIDDEN) {
  2. tep_admin_check_login();
  3. }

Odszukujemy i usuwamy:

testKod: php
  1. // redirect to login page if administrator is not yet logged in
  2. if (!tep_session_is_registered('admin')) {
  3. $redirect = false;
  4.  
  5. $current_page = basename($PHP_SELF);
  6.  
  7. if ($current_page != FILENAME_LOGIN) {
  8. if (!tep_session_is_registered('redirect_origin')) {
  9. tep_session_register('redirect_origin');
  10.  
  11. $redirect_origin = array('page' => $current_page,
  12. 'get' => $HTTP_GET_VARS);
  13. }
  14.  
  15. $redirect = true;
  16. }
  17.  
  18. if ($redirect == true) {
  19. tep_redirect(tep_href_link(FILENAME_LOGIN));
  20. }
  21.  
  22. unset($redirect);
  23. }

2. admin/includes/column_left.php

Kod:

testKod: php
  1. require(DIR_WS_BOXES . 'configuration.php');
  2. require(DIR_WS_BOXES . 'catalog.php');
  3. require(DIR_WS_BOXES . 'modules.php');
  4. require(DIR_WS_BOXES . 'customers.php');
  5. require(DIR_WS_BOXES . 'taxes.php');
  6. require(DIR_WS_BOXES . 'localization.php');
  7. require(DIR_WS_BOXES . 'reports.php');
  8. require(DIR_WS_BOXES . 'tools.php');

Zamieniamy na:

testKod: php
  1. if (tep_admin_check_boxes('administrator.php') == true) {
  2. require(DIR_WS_BOXES . 'administrator.php');
  3. }
  4. if (tep_admin_check_boxes('configuration.php') == true) {
  5. require(DIR_WS_BOXES . 'configuration.php');
  6. }
  7. if (tep_admin_check_boxes('catalog.php') == true) {
  8. require(DIR_WS_BOXES . 'catalog.php');
  9. }
  10. if (tep_admin_check_boxes('modules.php') == true) {
  11. require(DIR_WS_BOXES . 'modules.php');
  12. }
  13. if (tep_admin_check_boxes('customers.php') == true) {
  14. require(DIR_WS_BOXES . 'customers.php');
  15. }
  16. if (tep_admin_check_boxes('taxes.php') == true) {
  17. require(DIR_WS_BOXES . 'taxes.php');
  18. }
  19. if (tep_admin_check_boxes('localization.php') == true) {
  20. require(DIR_WS_BOXES . 'localization.php');
  21. }
  22. if (tep_admin_check_boxes('reports.php') == true) {
  23. require(DIR_WS_BOXES . 'reports.php');
  24. }
  25. if (tep_admin_check_boxes('tools.php') == true) {
  26. require(DIR_WS_BOXES . 'tools.php');
  27. }

3. admin/includes/database_tables.php

Przed ?> na dole pliku dodajemy:

testKod: php
  1. define('TABLE_ADMIN', 'admin');
  2. define('TABLE_ADMIN_FILES', 'admin_files');
  3. define('TABLE_ADMIN_GROUPS', 'admin_groups');

4. admin/includes/filenames.php

Przed ?> na dole pliku dodajemy:

testKod: php
  1. define('FILENAME_ADMIN_ACCOUNT', 'admin_account.php');
  2. define('FILENAME_ADMIN_FILES', 'admin_files.php');
  3. define('FILENAME_ADMIN_MEMBERS', 'admin_members.php');
  4. define('FILENAME_FORBIDDEN', 'forbidden.php');
  5. define('FILENAME_LOGIN_ADMIN', 'login_admin.php');
  6. define('FILENAME_LOGOFF_ADMIN', 'logoff_admin.php');
  7. define('FILENAME_PASSWORD_FORGOTTEN', 'password_forgotten.php');

5. admin/includes/functions/general.php

Na początku pliku dodajemy:

testKod: php
  1. function tep_admin_check_login() {
  2. global $PHP_SELF, $login_groups_id;
  3. if (!tep_session_is_registered('login_id')) {
  4. $redirect = false;
  5. $current_page = basename($PHP_SELF);
  6. if ($current_page != FILENAME_LOGIN) {
  7. if (!tep_session_is_registered('redirect_origin')) {
  8. tep_session_register('redirect_origin');
  9. $redirect_origin = array('page' => $current_page,
  10. 'get' => $HTTP_GET_VARS);
  11. }
  12. $redirect = true;
  13. }
  14. if ($redirect == true) {
  15. tep_redirect(tep_href_link(FILENAME_LOGIN_ADMIN));
  16. }
  17. unset($redirect);
  18. } else {
  19. $filename = basename( $PHP_SELF );
  20. if ($filename != FILENAME_DEFAULT && $filename != FILENAME_FORBIDDEN && $filename != FILENAME_LOGOFF_ADMIN && $filename != FILENAME_ADMIN_ACCOUNT && $filename != FILENAME_POPUP_IMAGE && $filename != 'packingslip.php' && $filename != 'invoice.php') {
  21. $db_file_query = tep_db_query("select admin_files_name from " . TABLE_ADMIN_FILES . " where FIND_IN_SET( '" . $login_groups_id . "', admin_groups_id) and admin_files_name = '" . $filename . "'");
  22. if (!tep_db_num_rows($db_file_query)) {
  23. tep_redirect(tep_href_link(FILENAME_FORBIDDEN));
  24. }
  25. }
  26. }
  27. }
  28.  
  29. function tep_admin_check_boxes($filename, $boxes='') {
  30. global $login_groups_id;
  31.  
  32. $is_boxes = 1;
  33. if ($boxes == 'sub_boxes') {
  34. $is_boxes = 0;
  35. }
  36. $dbquery = tep_db_query("select admin_files_id from " . TABLE_ADMIN_FILES . " where FIND_IN_SET( '" . $login_groups_id . "', admin_groups_id) and admin_files_is_boxes = '" . $is_boxes . "' and admin_files_name = '" . $filename . "'");
  37.  
  38. $return_value = false;
  39. if (tep_db_num_rows($dbquery)) {
  40. $return_value = true;
  41. }
  42. return $return_value;
  43. }
  44.  
  45. function tep_admin_files_boxes($filename, $sub_box_name) {
  46. global $login_groups_id;
  47. $sub_boxes = '';
  48.  
  49. $dbquery = tep_db_query("select admin_files_name from " . TABLE_ADMIN_FILES . " where FIND_IN_SET( '" . $login_groups_id . "', admin_groups_id) and admin_files_is_boxes = '0' and admin_files_name = '" . $filename . "'");
  50. if (tep_db_num_rows($dbquery)) {
  51. $sub_boxes = '<a href="' . tep_href_link($filename) . '">' . $sub_box_name . '</a><br>';
  52. }
  53. return $sub_boxes;
  54. }
  55.  
  56. function tep_selected_file($filename) {
  57. global $login_groups_id;
  58. $randomize = FILENAME_ADMIN_ACCOUNT;
  59.  
  60. $dbquery = tep_db_query("select admin_files_id as boxes_id from " . TABLE_ADMIN_FILES . " where FIND_IN_SET( '" . $login_groups_id . "', admin_groups_id) and admin_files_is_boxes = '1' and admin_files_name = '" . $filename . "'");
  61. if (tep_db_num_rows($dbquery)) {
  62. $boxes_id = tep_db_fetch_array($dbquery);
  63. $randomize_query = tep_db_query("select admin_files_name from " . TABLE_ADMIN_FILES . " where FIND_IN_SET( '" . $login_groups_id . "', admin_groups_id) and admin_files_is_boxes = '0' and admin_files_to_boxes = '" . $boxes_id['boxes_id'] . "'");
  64. if (tep_db_num_rows($randomize_query)) {
  65. $file_selected = tep_db_fetch_array($randomize_query);
  66. $randomize = $file_selected['admin_files_name'];
  67. }
  68. }
  69. return $randomize;
  70. }

6. admin/includes/functions/html_output.php

Odszukujemy funkcję tep_draw_pull_down_menu i zamieniamy w niej:

testKod: php
  1. $field = '<select name="' . tep_output_string($name) . '"';

na:

testKod: php
  1. $field = '<select OnMouseWheel="return false;" name="' . tep_output_string($name) . '"';

7. admin/includes/languages/polish.php

Na dole pliku przed ?> dodajemy:

testKod: php
  1. define('HEADER_TITLE_ACCOUNT', 'My Account');
  2. define('HEADER_TITLE_LOGOFF_ADMIN', 'Logoff');
  3. define('BOX_HEADING_MY_ACCOUNT', 'My Account');
  4. define('BOX_HEADING_ADMINISTRATOR', 'Administrator');
  5. define('BOX_ADMINISTRATOR_MEMBERS', 'Member Groups');
  6. define('BOX_ADMINISTRATOR_MEMBER', 'Members');
  7. define('BOX_ADMINISTRATOR_BOXES', 'File Access');
  8. define('IMAGE_FILE_PERMISSION', 'File Permissions');
  9. define('IMAGE_GROUPS', 'Groups List');
  10. define('IMAGE_INSERT_FILE', 'Insert File');
  11. define('IMAGE_MEMBERS', 'Members List');
  12. define('IMAGE_NEW_GROUP', 'New Group');
  13. define('IMAGE_NEW_MEMBER', 'New Member');
  14. define('IMAGE_NEXT', 'Next');
  15. define('TEXT_DISPLAY_NUMBER_OF_FILENAMES', 'Displaying <b>%d</b> to <b>%d</b> (of <b>%d</b> filenames)');
  16. define('TEXT_DISPLAY_NUMBER_OF_MEMBERS', 'Displaying <b>%d</b> to <b>%d</b> (of <b>%d</b> members)');

8. admin/includes/header.php

Kod:

testKod: php
  1. <td align="right"><?php echo (tep_session_is_registered('admin') ? 'Logged in as: ' . $admin['username']  . ' (<a href="' . tep_href_link(FILENAME_LOGIN, 'action=logoff') . '">Logoff</a>)' : ''); ?>  </td>

zamieniamy na:

testKod: php
  1. <td align="right"><?php
  2. if (tep_session_is_registered('login_id')) {
  3. echo '<a href="' . tep_href_link(FILENAME_ADMIN_ACCOUNT, '', 'SSL') . '">' . HEADER_TITLE_ACCOUNT . '</a> | <a href="' . tep_href_link(FILENAME_LOGOFF_ADMIN, '', 'NONSSL') . '">' . HEADER_TITLE_LOGOFF_ADMIN . '</a>';
  4. }
  5. ?></td>

Dodatkowe informacje

  • Wersja skepu osCommerce Merchant rc2.2, Proffesional 1.0.3
  • Dostępne wersje językowe Polska, Angielska
Opublikowane w Moduły i dodatki

Logowanie

Nasze sondy

Czy podoba ci się nowa odsłona strony?
 
Money.pl - wiadomości, notowania, giełda, kursy walut
NBP 2012-05-22
USD 3,3811 -0,34%
EUR 4,3205 -0,27%
CHF 3,5973 -0,27%
GBP 5,3419 -0,44%
Money.pl - Kliknij po więcej
22 maja 2012
Źródło: MeteoGroup