Browse Source

Switch group permissions to use xmlrpc

Nathaniel van Diepen 10 years ago
parent
commit
f0d32d21a3
2 changed files with 11 additions and 17 deletions
  1. 7 7
      lib/irc.php
  2. 4 10
      site/api/index.php

+ 7 - 7
lib/irc.php

@@ -11,9 +11,9 @@
 			$session = explode("<string>", $response->serialize());
 			$session = explode("</string", $session[1]);
 			$session = $session[0];
-			return Array(true,$session);
+			return array(true,$session);
 		}else{
-			return Array(
+			return array(
 				false,
 				'['.$response->faultCode().'] '.$response->faultString()
 			);
@@ -48,7 +48,7 @@
 				default:
 					$m = __("Could not log in");
 			}
-			return Array(false,$m,$response->faultCode());
+			return array(false,$m,$response->faultCode());
 		}
 		$message = new xmlrpcmsg("atheme.command");
 		$message->addParam(new xmlrpcval($session, "string"));
@@ -66,9 +66,9 @@
 			$response = explode("<string>", $response->serialize());
 			$response = explode("</string", $response[1]);
 			$response = $response[0];
-			return Array(true,$response,0);
+			return array(true,$response,0);
 		}else{
-			return Array(false,"Command failed: " . $response->faultString(),$response->faultCode());
+			return array(false,"Command failed: " . $response->faultString(),$response->faultCode());
 		}
 	}
 	$ircret = "";
@@ -105,7 +105,7 @@
 		if($ret_type == 'string'){
 			$ircret = '{"code":'.$code.',"message":"'.$message.'","log":'.json_encode($msg).'}';
 		}else{
-			$ircret = Array(
+			$ircret = array(
 				'code'=>$code,
 				'message'=>$message,
 				'log'=>$msg
@@ -207,7 +207,7 @@
 		global $ircret;
 		global $u;
 		global $user;
-		$ircret = Array(
+		$ircret = array(
 			'code'=>1
 		);
 		if(!isset($u)){

+ 4 - 10
site/api/index.php

@@ -358,7 +358,6 @@
 			",array(
 				'id_member'=>$user_info['id']
 			));
-			$log = '';
 			while($row = $smcFunc['db_fetch_assoc']($res)){
 				$groups = explode(',',$row['additional_groups']);
 				if(!is_null($row['id_group'])){
@@ -368,19 +367,14 @@
 					$res2 = query("SELECT irc_name FROM smf_groups WHERE id_group = %d",array($group));
 					if($res2 && $res2->num_rows > 0){
 						$res2 = $res2->fetch_assoc();
-						$ret3 = irccommands(array(
-							'grs fflags !'.$res2['irc_name'].' '.$_COOKIE['user'].' +cvi'
-						));
-						$log .= isset($ret3['log'])?$ret3['log']:'';
-						if($ret3['code'] !== 0){
-							die('{"code":'.$ret3['code'].',"message":"'.__('Unable to sync groups').'","log":'.json_encode($log).'}');
+						$res3 = atheme_command(get_conf('xmlrpc-server'),get_conf('xmlrpc-port'),get_conf('xmlrpc-path'),USER_IP,'RehashServ',get_conf('rehash-pass'),'GroupServ','flags',array('!'.$res2['irc_name'],$_COOKIE['user'],'+cvi'));
+						if(!$res3[0]){
+							die('{"code":'.$res3[2].',"message":"'.__('Unable to sync groups').': '.$res3[1].'"}');
 						}
-					}else{
-						$log .= "No group match for {$group}\n";
 					}
 				}
 			}
-			die('{"code":0,"message":"'.__('Groups synced with SMF').'","log":'.json_encode($log).'}');
+			die('{"code":0,"message":"'.__('Groups synced with SMF').'"}');
 		break;
 		case 'role':
 			$u && isset($_GET['type']) or die('{"code":2,"message":"'.__('Not logged in').'"}');