From: Dariush M. <dm...@us...> - 2005-08-30 23:10:57
|
Update of /cvsroot/gallery/integration/gallery2/phpBB2/admin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20407/gallery2/phpBB2/admin Modified Files: admin_gallery2.php gallery2_export.php Log Message: UPDATE: * Added group sync to admin control panel. New users are *not* added to their groups yet, that will be next. Index: gallery2_export.php =================================================================== RCS file: /cvsroot/gallery/integration/gallery2/phpBB2/admin/gallery2_export.php,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- gallery2_export.php 25 Aug 2005 22:27:18 -0000 1.1 +++ gallery2_export.php 30 Aug 2005 23:10:48 -0000 1.2 @@ -35,6 +35,8 @@ $failures = array(); +$sync_type = ($_GET['type'] == "user") ? "user" : "group"; +$sync_title = ($_GET['type'] == "user") ? "Users" : "Groups"; /*********************************************************/ /* True if init() was called, else false */ @@ -297,6 +299,50 @@ echo "<form><input type=\"button\" value=\"Close Window\" onclick=\"window.close()\"></form>"; } +function groupExport() +{ + global $db, $gallery, $failures; + + // init G2 transaction, load G2 API, if not already done so + if (!init()) { + return false; + } + + // Load all existing phpnuke <-> G2 mappings + list ($ret, $mapsbyentityid, $mapsbyexternalid) = g2getallexternalIdmappings(); + if (!$ret) { + return false; + } + + $sql = "SELECT group_id, group_name FROM " . GROUPS_TABLE . " WHERE group_single_user = 0"; + $result = $db->sql_query($sql); + while( $row = $db->sql_fetchrow($result) ) + { + $ret = GalleryEmbed :: createGroup($row['group_id'],$row['group_name']); + if (!$ret->isSuccess()) { + $failures[] = $row['group_name']; + } + $g_sql ="SELECT u.username, ug.user_id FROM " . USERS_TABLE . " u, " . USER_GROUP_TABLE . " ug WHERE ug.user_id = u.user_id AND ug.group_id = " .$row['group_id']; + $g_result = $db->sql_query($g_sql) or die(mysql_error()); + while( $g_row = $db->sql_fetchrow($g_result) ) + { + $ret = GalleryEmbed :: addUserToGroup($g_row['user_id'],$row['group_id']); + if (!$ret->isSuccess()) { + $failures[] = $row['group_name']; + } + } + } + if(count($failures) != 0) + { + echo "<br />The import of the following phpBB2 groups failed:<br />"; + foreach($failures as $bad_id) + { + echo $bad_id."<br />"; + } + } + echo "<form><input type=\"button\" value=\"Close Window\" onclick=\"window.close()\"></form>"; +} + ?> <html><head> <script type="text/javascript"> @@ -385,7 +431,7 @@ </div> <?php echo "<p>"; - userExport(); + $sync_type == "user" ? userExport() : groupExport(); echo "</p>"; ?> Index: admin_gallery2.php =================================================================== RCS file: /cvsroot/gallery/integration/gallery2/phpBB2/admin/admin_gallery2.php,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- admin_gallery2.php 25 Aug 2005 22:27:18 -0000 1.1 +++ admin_gallery2.php 30 Aug 2005 23:10:48 -0000 1.2 @@ -59,6 +59,10 @@ { $mode = "sync_intro"; } + else if( isset($HTTP_POST_VARS['gr_sync_intro']) ) + { + $mode = "gr_sync_intro"; + } else { $mode = ""; @@ -81,7 +85,8 @@ } $sql = "SELECT * FROM phpbb_gallery2"; - if(!$result = $db->sql_query($sql)) + $result = $db->sql_query($sql); + if(!$db->sql_numrows($result)) { $sql = "INSERT INTO phpbb_gallery2 (fullPath, embedPath, embedURI, relativePath, loginPath, cookiePath, activeUserID) VALUES ('" . $fullPath . "', '" . $embedPath ."', '" . $embedURI . "', '" . $relativePath . "','" . $loginPath . "','" . $cookiePath . "',$activeUserID)"; @@ -109,7 +114,8 @@ ); $sql = "SELECT * FROM phpbb_gallery2"; - if(!$result = $db->sql_query($sql)) + $result = $db->sql_query($sql); + if(!$db->sql_numrows($result)) { $sql = "SELECT * FROM " . CONFIG_TABLE . " WHERE config_name='cookie_path'"; @@ -180,7 +186,7 @@ ); $template->assign_vars(array( - 'S_G2_ACTION' => append_sid("gallery2_export.$phpEx"), + 'S_G2_ACTION' => append_sid("gallery2_export.$phpEx?type=user"), 'L_SYNC_TITLE' => 'Export phpBB Users to Gallery 2', 'L_SYNC_EXPLAIN' => 'This will export your current phpBB2 users to Gallery 2. Note that for large numbers of users, this may take some time. Once you click the button, a new window will pop up showing you the progress of the export.', 'L_SYNC' => 'Begin user export') @@ -190,6 +196,23 @@ include('./page_footer_admin.'.$phpEx); } +else if( $mode == "gr_sync_intro" ) +{ + $template->set_filenames(array( + "body" => "admin/gallery2_sync_intro_body.tpl") + ); + + $template->assign_vars(array( + 'S_G2_ACTION' => append_sid("gallery2_export.$phpEx?type=group"), + 'L_SYNC_TITLE' => 'Export phpBB Groups to Gallery 2', + 'L_SYNC_EXPLAIN' => 'This will export your current phpBB2 groups to Gallery 2. Note that for groups with large numbers of users, this may take some time. Once you click the button, a new window will pop up showing you the progress of the export.', + 'L_SYNC' => 'Begin group export') + ); + + $template->pparse("body"); + + include('./page_footer_admin.'.$phpEx); +} else { $template->set_filenames(array( @@ -200,6 +223,7 @@ 'S_G2_ACTION' => append_sid("admin_gallery2.$phpEx"), 'L_CONFIG' => 'Configure Gallery 2 Integration', 'L_SYNC' => 'Synchronize phpBB2 Users to Gallery 2', + 'L_GR_SYNC' => 'Synchronize phpBB2 Groups to Gallery 2', 'G2_TITLE' => 'Gallery 2 Administration', 'G2_ADMIN_TASK' => 'Choose your Gallery 2 Adminstration Task') ); |