PageRenderTime 54ms CodeModel.GetById 26ms RepoModel.GetById 1ms app.codeStats 0ms

/album/ip_root/plugins/album/adm/admin_album_personal.php

https://github.com/MightyGorgon/icy_phoenix_plugins
PHP | 145 lines | 104 code | 21 blank | 20 comment | 8 complexity | 27e9a94535cdddb41cff9ad82b8b29a5 MD5 | raw file
  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. if (empty($config['plugins']['album']))
  20. {
  21. return;
  22. }
  23. $filename = IP_ROOT_PATH . PLUGINS_PATH . $config['plugins']['album']['dir'] . ADM . '/' . basename(__FILE__);
  24. $module['3300_Photo_Album']['140_Personal_Galleries'] = $filename;
  25. return;
  26. }
  27. // Load default Header
  28. if (!defined('IP_ROOT_PATH')) define('IP_ROOT_PATH', './../../../');
  29. if (!defined('PHP_EXT')) define('PHP_EXT', substr(strrchr(__FILE__, '.'), 1));
  30. require(IP_ROOT_PATH . 'adm/pagestart.' . PHP_EXT);
  31. include(IP_ROOT_PATH . PLUGINS_PATH . $config['plugins']['album']['dir'] . 'common.' . PHP_EXT);
  32. setup_extra_lang(array('lang_admin'), ALBUM_ROOT_PATH . 'language/');
  33. if(!isset($_POST['submit']))
  34. {
  35. $template->set_filenames(array('body' => ALBUM_ADM_TPL_PATH . 'album_personal_body.tpl'));
  36. $groups_data = get_groups_data(false, false, array());
  37. // Get the current album settings for non created personal galleries
  38. $sql = "SELECT *
  39. FROM ". ALBUM_CONFIG_TABLE ."
  40. WHERE config_name = 'personal_gallery_private'";
  41. $result = $db->sql_query($sql);
  42. $row = $db->sql_fetchrow($result);
  43. $private_groups = explode(',', $row['config_value']);
  44. // Since all personal galleries have the same private/moderator settings we fetch the first personal gallery and not all.
  45. $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
  46. FROM ". ALBUM_CAT_TABLE ."
  47. WHERE cat_parent = 0 and cat_user_id != 0
  48. LIMIT 1";
  49. $result = $db->sql_query($sql);
  50. $thiscat = $db->sql_fetchrow($result);
  51. $view_groups = @explode(',', $thiscat['cat_view_groups']);
  52. $upload_groups = @explode(',', $thiscat['cat_upload_groups']);
  53. $rate_groups = @explode(',', $thiscat['cat_rate_groups']);
  54. $comment_groups = @explode(',', $thiscat['cat_comment_groups']);
  55. $edit_groups = @explode(',', $thiscat['cat_edit_groups']);
  56. $delete_groups = @explode(',', $thiscat['cat_delete_groups']);
  57. $moderator_groups = @explode(',', $thiscat['cat_moderator_groups']);
  58. for($i = 0; $i < sizeof($groups_data); $i++)
  59. {
  60. $template->assign_block_vars('creation_grouprow', array(
  61. 'GROUP_ID' => $groups_data[$i]['group_id'],
  62. 'GROUP_NAME' => $groups_data[$i]['group_name'],
  63. 'PRIVATE_CHECKED' => (in_array($groups_data[$i]['group_id'], $private_groups)) ? 'checked="checked"' : ''
  64. ) //end array
  65. );
  66. $template->assign_block_vars('grouprow', array(
  67. 'GROUP_ID' => $groups_data[$i]['group_id'],
  68. 'GROUP_NAME' => $groups_data[$i]['group_name'],
  69. 'VIEW_CHECKED' => (in_array($groups_data[$i]['group_id'], $view_groups)) ? 'checked="checked"' : '',
  70. 'UPLOAD_CHECKED' => (in_array($groups_data[$i]['group_id'], $upload_groups)) ? 'checked="checked"' : '',
  71. 'RATE_CHECKED' => (in_array($groups_data[$i]['group_id'], $rate_groups)) ? 'checked="checked"' : '',
  72. 'COMMENT_CHECKED' => (in_array($groups_data[$i]['group_id'], $comment_groups)) ? 'checked="checked"' : '',
  73. 'EDIT_CHECKED' => (in_array($groups_data[$i]['group_id'], $edit_groups)) ? 'checked="checked"' : '',
  74. 'DELETE_CHECKED' => (in_array($groups_data[$i]['group_id'], $delete_groups)) ? 'checked="checked"' : '',
  75. 'MODERATOR_CHECKED' => (in_array($groups_data[$i]['group_id'], $moderator_groups)) ? 'checked="checked"' : '')
  76. );
  77. }
  78. $template->assign_vars(array(
  79. 'L_ALBUM_PERSONAL_TITLE' => $lang['Album_personal_gallery_title'],
  80. 'L_ALBUM_PERSONAL_EXPLAIN' => $lang['Album_personal_gallery_explain'],
  81. 'L_ALBUM_AUTH_EXPLAIN' => $lang['Album_Personal_Auth_Explain'],
  82. 'L_SUBMIT' => $lang['Submit'],
  83. 'L_RESET' => $lang['Reset'],
  84. 'L_GROUP_CONTROL' => $lang['Auth_Control_Group'],
  85. 'L_GROUPS' => $lang['Usergroups'],
  86. 'L_VIEW' => $lang['View'],
  87. 'L_UPLOAD' => $lang['Upload'],
  88. 'L_RATE' => $lang['Rate'],
  89. 'L_COMMENT' => $lang['Comment'],
  90. 'L_EDIT' => $lang['Edit'],
  91. 'L_DELETE' => $lang['Delete'],
  92. 'L_IS_MODERATOR' => $lang['Is_Moderator'],
  93. 'L_PRIVATE_ACCESS' => $lang['Private_access'],
  94. 'S_ALBUM_ACTION' => append_sid('admin_album_personal.' . PHP_EXT)
  95. )
  96. );
  97. $template->pparse('body');
  98. include(IP_ROOT_PATH . ADM . '/page_footer_admin.' . PHP_EXT);
  99. }
  100. else
  101. {
  102. // Now we update the datatabase
  103. $private_groups = @implode(',', $_POST['private']);
  104. $view_groups = @implode(',', $_POST['view']);
  105. $upload_groups = @implode(',', $_POST['upload']);
  106. $rate_groups = @implode(',', $_POST['rate']);
  107. $comment_groups = @implode(',', $_POST['comment']);
  108. $edit_groups = @implode(',', $_POST['edit']);
  109. $delete_groups = @implode(',', $_POST['delete']);
  110. $moderator_groups = @implode(',', $_POST['moderator']);
  111. // album config for non created personal galleries
  112. $sql = "UPDATE ". ALBUM_CONFIG_TABLE ."
  113. SET config_value = '$private_groups'
  114. WHERE config_name = 'personal_gallery_private'";
  115. $result = $db->sql_query($sql);
  116. $sql = "UPDATE ". ALBUM_CAT_TABLE ."
  117. 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'
  118. WHERE cat_user_id != 0";
  119. $result = $db->sql_query($sql);
  120. // okay, return a message...
  121. $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>');
  122. message_die(GENERAL_MESSAGE, $message);
  123. }
  124. ?>