Thanks for the various users for helping out with the test.
The source in C#, for anyone.
You must include these classes.
using System.Net; using System.Collections;
public void authMe()
{
/*
* Allowed User Groups to post, edit this yourself
* Remove the ones that you DONT want to use your program
* For this demo, all the groups are there
*
* The ones that are missing are Bots,
* Guests and some old usergroups that are hidden
*/
ArrayList aug = new ArrayList();
// aug.Add(1); //Validating
aug.Add(3); //Members
aug.Add(4); //Owner
// aug.Add(5); //Banned
aug.Add(7); //Sub Admins
aug.Add(8); //VIP
aug.Add(9); //Global Mods
aug.Add(10); //GFX Team
aug.Add(12); //Retired Staff
aug.Add(14); //Members+
aug.Add(15); //Donors
aug.Add(16); //Donors+
//These are the the levels of which you want for posts and REP
int minPosts = 0;
int minRep = 0;
//The client to download the string, which contains all login info
WebClient client = new WebClient();
string info = client.DownloadString("http://www.ibotmodz.net/index.php/prog/api");
client.Dispose();
//Check if website online or not
if (String.IsNullOrEmpty(info))
MessageBox.Show("iBotModz is offline");
//Gathering the 4 variables
String user = info.Substring((info.IndexOf("[user]") + 6), ((info.IndexOf("[/user]") - (info.IndexOf("[user]") + 6))));
//Check if guest
if (String.IsNullOrEmpty(user))
{
MessageBox.Show("Please become a member on iBotModz.net." + Environment.NewLine + Environment.NewLine + "If you are a member....Make a post" + Environment.NewLine + "Without using the quick reply :)");
Environment.Exit(0);
}
int posts = Convert.ToInt32(info.Substring((info.IndexOf("[posts]") + 7), ((info.IndexOf("[/posts]") - (info.IndexOf("[posts]") + 7)))));
int rep = Convert.ToInt32(info.Substring((info.IndexOf("[rep]") + 5), ((info.IndexOf("[/rep]") - (info.IndexOf("[rep]") + 5)))));
int groupID = Convert.ToInt32(info.Substring((info.IndexOf("[groupid]") + 9), ((info.IndexOf("[/groupid]") - (info.IndexOf("[groupid]") + 9)))));
//Check for posts
if (minPosts > posts)
{
MessageBox.Show("You need more posts to use this program.");
this.Close();
}
//Check for REP level
if (minRep > rep)
{
MessageBox.Show("You need more REP to use this program.");
this.Close();
}
//Check for memberID
if (groupID == 0)
MessageBox.Show("Sorry, you don't have a usergroup.");
int flag = 0; // ((0 = failed)) ((1 = passed))
//This will go through each allowed ID, so lets hope we are in here
foreach (int i in aug)
{
if (groupID == i)
{
//Yes we found it
//Debug.WriteLine(groupID + " passed because it was equal to " + i);
flag = 1;
break;
}
else
{
//so far theres nothing, keep going
flag = 0;
//Debug.WriteLine(groupID + " failed because it was equal to " + i);
}
}
switch (flag)
{
//Check the flag
case 1:
//Login passed
break;
case 0:
//Login Failed
this.Close();
break;
}
}
An example project is attached.
ibmAuth.rar 345.62K
5 downloads




This topic is locked








