PageRenderTime 46ms CodeModel.GetById 19ms RepoModel.GetById 1ms app.codeStats 0ms

/adm/admin_album_personal.php

https://github.com/igorw-forks/icy_phoenix
PHP | 149 lines | 108 code | 20 blank | 21 comment | 7 complexity | 756e918d7cdd7080dddf4a3fc8dbdb31 MD5 | raw file
Possible License(s): AGPL-1.0
  1. <?php
  2. /**
  3. *
  4. * @package Icy Phoenix
  5. * @version $Id$
  6. * @copyright (c) 2008 Icy Phoenix
  7. * @license http://opensource.org/licenses/gpl-license.php GNU Public License
  8. *
  9. */
  10. /**
  11. *
  12. * @Extra credits for this file
  13. * Smartor (smartor_xp@hotmail.com)
  14. *
  15. */
  16. define('IN_ICYPHOENIX', true);
  17. if(!empty($setmodules))
  18. {
  19. $filename = basename(__FILE__);
  20. $module['2200_Photo_Album']['140_Personal_Galleries'] = $filename;
  21. return;
  22. }
  23. // Load default Header
  24. if (!defined('IP_ROOT_PATH')) define('IP_ROOT_PATH', './../');
  25. if (!defined('PHP_EXT')) define('PHP_EXT', substr(strrchr(__FILE__, '.'), 1));
  26. require('pagestart.' . PHP_EXT);
  27. require_once(IP_ROOT_PATH . 'language/lang_' . $config['default_lang'] . '/lang_album_main.' . PHP_EXT);
  28. require_once(IP_ROOT_PATH . 'language/lang_' . $config['default_lang'] . '/lang_album_admin.' . PHP_EXT);
  29. if(!isset($_POST['submit']))
  30. {
  31. $template->set_filenames(array('body' => ADM_TPL . 'album_personal_body.tpl'));
  32. // Get the list of phpBB usergroups
  33. $sql = "SELECT group_id, group_name
  34. FROM " . GROUPS_TABLE . "
  35. WHERE group_single_user <> " . TRUE ."
  36. ORDER BY group_name ASC";
  37. $result = $db->sql_query($sql);
  38. while($row = $db->sql_fetchrow($result))
  39. {
  40. $groupdata[] = $row;
  41. }
  42. // Get the current album settings for non created personal galleries
  43. $sql = "SELECT *
  44. FROM ". ALBUM_CONFIG_TABLE ."
  45. WHERE config_name = 'personal_gallery_private'";
  46. $result = $db->sql_query($sql);
  47. $row = $db->sql_fetchrow($result);
  48. $private_groups = explode(',', $row['config_value']);
  49. // Since all personal galleries have the same private/moderator settings we fetch the first personal gallery and not all.
  50. $sql = "SELECT cat_id, cat_title, cat_view_groups, cat_upload_groups, cat_rate_groups, cat_comment_groups, cat_edit_groups, cat_delete_groups, cat_moderator_groups
  51. FROM ". ALBUM_CAT_TABLE ."
  52. WHERE cat_parent = 0 and cat_user_id != 0
  53. LIMIT 1";
  54. $result = $db->sql_query($sql);
  55. $thiscat = $db->sql_fetchrow($result);
  56. $view_groups = @explode(',', $thiscat['cat_view_groups']);
  57. $upload_groups = @explode(',', $thiscat['cat_upload_groups']);
  58. $rate_groups = @explode(',', $thiscat['cat_rate_groups']);
  59. $comment_groups = @explode(',', $thiscat['cat_comment_groups']);
  60. $edit_groups = @explode(',', $thiscat['cat_edit_groups']);
  61. $delete_groups = @explode(',', $thiscat['cat_delete_groups']);
  62. $moderator_groups = @explode(',', $thiscat['cat_moderator_groups']);
  63. for($i = 0; $i < sizeof($groupdata); $i++)
  64. {
  65. $template->assign_block_vars('creation_grouprow', array(
  66. 'GROUP_ID' => $groupdata[$i]['group_id'],
  67. 'GROUP_NAME' => $groupdata[$i]['group_name'],
  68. 'PRIVATE_CHECKED' => (in_array($groupdata[$i]['group_id'], $private_groups)) ? 'checked="checked"' : ''
  69. ) //end array
  70. );
  71. $template->assign_block_vars('grouprow', array(
  72. 'GROUP_ID' => $groupdata[$i]['group_id'],
  73. 'GROUP_NAME' => $groupdata[$i]['group_name'],
  74. 'VIEW_CHECKED' => (in_array($groupdata[$i]['group_id'], $view_groups)) ? 'checked="checked"' : '',
  75. 'UPLOAD_CHECKED' => (in_array($groupdata[$i]['group_id'], $upload_groups)) ? 'checked="checked"' : '',
  76. 'RATE_CHECKED' => (in_array($groupdata[$i]['group_id'], $rate_groups)) ? 'checked="checked"' : '',
  77. 'COMMENT_CHECKED' => (in_array($groupdata[$i]['group_id'], $comment_groups)) ? 'checked="checked"' : '',
  78. 'EDIT_CHECKED' => (in_array($groupdata[$i]['group_id'], $edit_groups)) ? 'checked="checked"' : '',
  79. 'DELETE_CHECKED' => (in_array($groupdata[$i]['group_id'], $delete_groups)) ? 'checked="checked"' : '',
  80. 'MODERATOR_CHECKED' => (in_array($groupdata[$i]['group_id'], $moderator_groups)) ? 'checked="checked"' : '')
  81. );
  82. }
  83. $template->assign_vars(array(
  84. 'L_ALBUM_PERSONAL_TITLE' => $lang['Album_personal_gallery_title'],
  85. 'L_ALBUM_PERSONAL_EXPLAIN' => $lang['Album_personal_gallery_explain'],
  86. 'L_ALBUM_AUTH_EXPLAIN' => $lang['Album_Personal_Auth_Explain'],
  87. 'L_SUBMIT' => $lang['Submit'],
  88. 'L_RESET' => $lang['Reset'],
  89. 'L_GROUP_CONTROL' => $lang['Auth_Control_Group'],
  90. 'L_GROUPS' => $lang['Usergroups'],
  91. 'L_VIEW' => $lang['View'],
  92. 'L_UPLOAD' => $lang['Upload'],
  93. 'L_RATE' => $lang['Rate'],
  94. 'L_COMMENT' => $lang['Comment'],
  95. 'L_EDIT' => $lang['Edit'],
  96. 'L_DELETE' => $lang['Delete'],
  97. 'L_IS_MODERATOR' => $lang['Is_Moderator'],
  98. 'L_PRIVATE_ACCESS' => $lang['Private_access'],
  99. 'S_ALBUM_ACTION' => append_sid('admin_album_personal.' . PHP_EXT)
  100. )
  101. );
  102. $template->pparse('body');
  103. include('./page_footer_admin.' . PHP_EXT);
  104. }
  105. else
  106. {
  107. // Now we update the datatabase
  108. $private_groups = @implode(',', $_POST['private']);
  109. $view_groups = @implode(',', $_POST['view']);
  110. $upload_groups = @implode(',', $_POST['upload']);
  111. $rate_groups = @implode(',', $_POST['rate']);
  112. $comment_groups = @implode(',', $_POST['comment']);
  113. $edit_groups = @implode(',', $_POST['edit']);
  114. $delete_groups = @implode(',', $_POST['delete']);
  115. $moderator_groups = @implode(',', $_POST['moderator']);
  116. // album config for non created personal galleries
  117. $sql = "UPDATE ". ALBUM_CONFIG_TABLE ."
  118. SET config_value = '$private_groups'
  119. WHERE config_name = 'personal_gallery_private'";
  120. $result = $db->sql_query($sql);
  121. $sql = "UPDATE ". ALBUM_CAT_TABLE ."
  122. SET cat_view_groups = '$view_groups', cat_upload_groups = '$upload_groups', cat_rate_groups = '$rate_groups', cat_comment_groups = '$comment_groups', cat_edit_groups = '$edit_groups', cat_delete_groups = '$delete_groups', cat_moderator_groups = '$moderator_groups'
  123. WHERE cat_user_id != 0";
  124. $result = $db->sql_query($sql);
  125. // okay, return a message...
  126. $message = $lang['Album_personal_successfully'] . '<br /><br />' . sprintf($lang['Click_return_album_personal'], '<a href="' . append_sid("admin_album_personal." . PHP_EXT) . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid('index.' . PHP_EXT . '?pane=right') . '">', '</a>');
  127. message_die(GENERAL_MESSAGE, $message);
  128. }
  129. ?>