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(<img src='http://www.ibotmodz.net/forum/public/style_emoticons/<#EMO_DIR#>/dirol.gif' class='bbc_emoticon' alt='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 <img src='http://www.ibotmodz.net/forum/public/style_emoticons/<#EMO_DIR#>/smile.gif' class='bbc_emoticon' alt=':)' />"); 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.62KB 145 downloads