nav33n 472 Purple hazed! Team Colleague Featured Poster

bbman, Why are you talking to yourself ?

Sulley's Boo commented: haaa i wonder O_o .. tu waapas aaja +8
nav33n 472 Purple hazed! Team Colleague Featured Poster

...
.....
You guys have a massive superiority complex which prevents you from ever achieving anything, as you think you don't have to achieve anything because of that inherent superiority you think to have.
I see this in a lot of Indians. Instead of trying to improve their own skills they try to get others to do their work for them, then claim the results as their own.

Jwenting, Why is it that whenever I see a racist remark, I see your name next to it ?

1) because the vast majority of Indians (at least the current crop, not talking about professionals who got their education in the UK and US up to about a decade ago) don't care about getting an education, all they care about is raking in the certificates without any actual effort on their part because that's what gets their resumes selected by bodyshops and sold to US firms so they can get fraudulent H1b work permits.

Fail. Do you even know that there are top class universities [read IIMs, IITs, Birla Institute of Technology, etc] in India ? You don't have to go to UK or the US to get education. Though I agree that UK or US have better education system than ours, the above mentioned universities aren't doing any bad job either.

Oh, FYI, Having only the certificates will not get you a job. You should be qualified and should have what it takes [knowledge] to clear …

maydhyam commented: Well said!!! +0
nav33n 472 Purple hazed! Team Colleague Featured Poster

If you hover over the popularity bar, You'll see the total number of views for that thread. I remember Dani mentioning this sometime ago.

nav33n 472 Purple hazed! Team Colleague Featured Poster

This is one of the case.

1. You get a mail saying you got a PM from a member. You click on the link in the mail, which is something like this.
http://www.daniweb.com/forums/private.php?utm_source=vBMail&utm_medium=email&utm_campaign=NewPM
If you are on a public computer and if you haven't saved a cookie, it will ask you to log in. When you enter your username and password, username and password is processed, http://www.daniweb.com/forums/login.php?do=login . You get a message, which says,

Thank you for logging in, nav33n.

Click here if your browser does not automatically redirect you.

This redirects you back to http://www.daniweb.com/forums/private.php?utm_source=vBMail&utm_medium=email&utm_campaign=NewPM . Clicking on Click here if your browser does not automatically redirect you. doesn't log me in either.

2. The same thing happens when somebody replies to a thread you have subscribed to. You get a mail. You click on the link to open the thread. Like this for example.
http://www.daniweb.com/forums/post1237554.html#post1237554 . Here too,
* If you type a reply and click on "Post reply to this thread", it will ask me to register [not log in]. url: http://www.daniweb.com/forums/newreply.php?do=newreply&t=238667
* If you just click on "Post reply to this thread" without entering anything, it will ask me to login. url: http://www.daniweb.com/forums/newreply.php?do=newreply&t=238667

if(!isset($_SESSION['userid'])) {
    if(!empty(quickeditor)) {
      show_registration_screen();
    } else {
        show_login_screen();
    }
}

I didn't try registering again. But login screen doesn't log me in, but redirects me back to the same url.

So, I am guessing, …

nav33n 472 Purple hazed! Team Colleague Featured Poster

Huh! You don't know about Spammy apple, spam sandwich and of course, the world famous spamified pasta? It used to be healthy, but not anymore. But, I guess, Ana12 can give you a list of the best, healthy spam! :icon_biggrin:

nav33n 472 Purple hazed! Team Colleague Featured Poster

This doesn't make any sense to me.

Question Answered? Mark this Thread as Unsolved

Why would someone mark a "solved thread" as "Unsolved" if they got their questions answered ? :-/

nav33n 472 Purple hazed! Team Colleague Featured Poster

Use array_multisort. Look at the examples to see the usage.

nav33n 472 Purple hazed! Team Colleague Featured Poster

I stopped eating spam when I realised its not healthy anymore :( [Too much bad cholestrol]

Spam nowadays are low on nutrition and taste. Sigh.

What is the world turning into ?
A place where people can dish out cheap, low level spam and get away with it ?
Noooo! :'(

nav33n 472 Purple hazed! Team Colleague Featured Poster

Now even Daniweb has the same color theme [purple] as my company's website :( .I see purple even in my dreams now! :icon_frown:

Anyways, The layout looks nice and is definitely faster than before. But I have a few complaints.

1. Mouseover quote. It really hurt my eyes to follow the dancing browser.
2. Laaarge "Post reply to this thread" and "Use advanced Editor" when compared to the buttons "Submit Reply" and "Preview Post" in Advanced editor. Even the font size is inconsistent throughout the website.
3. "Mark this forum read" redirects me to the main category! Not sure if it was made this way or a bug.
4. As it has been discussed numerous times already, "Click to hide/show forums" toggle is hard to find.
5. I can't right click on 1 Day Ago and open the thread in a new tab/window. I now have to open the thread, scroll to the end of the page [or press End key] and then click on the last number.
6. I didn't like the integration of voting sytem with the reputation system. If I downvoted someone, I could still give positive rep in the old layout. Now, If I make a mistake, I can't do anything about it!
7. My Favorite Forums, the text looks odd and out of place. No alignment, mixture of CAPS and small case. Eg.

Community Introductions 33 MINUTES AGO

But I like the static bottom menu though. It's …

nav33n 472 Purple hazed! Team Colleague Featured Poster

Ask customtshirts guy! I'm sure he's got a storehouse of funny quotes :P

How about,

"Warning and Infractions can't stop me from posting spam!"
"I am a sig spammer. Shoot me!"
"I <3 1337"
"I hate spammers."
"Favorite passtime: Reporting spammers!"
"I'm a n00b. plzzz help !!!!11"
"Homework kiddo"

:)

nav33n 472 Purple hazed! Team Colleague Featured Poster

Gawd! customtshirts, Do you even have a job ? Oh wait, you *do* have a job. Your job is to create stupid dumb threads like these ones and promote your signature links. Wow! I get it. It must be your dream job ? eh?

Please give us all a break, take all your t-shirts, yes, the custom-made ones and just disappear!

nav33n 472 Purple hazed! Team Colleague Featured Poster

Where is the "T shirt"? I didn't find anything like this in your post.

You have all the "T shirt" in your signature, why ask for more ? What's the point in bumping this thread ? I am sure you want to promote your website/signature. eh ? Did you know spammers go straight to hell when they die ? :icon_wink:

nav33n 472 Purple hazed! Team Colleague Featured Poster

Since you posted your question [?] in a thread with the same title, I am guessing you need help with the same.
I suggest you to read the sticky thread . :)

Btw, You don't have mysql_query in your code.

nav33n 472 Purple hazed! Team Colleague Featured Poster

I suggest you to go step by step. First make first form work, then 2nd and so on. It's easy to debug that way.

michelleradu commented: he gave some gd suggestions +1
nav33n 472 Purple hazed! Team Colleague Featured Poster

@Hitman Mania, The problem with your code is, the function array_search will return the key if it finds the needle in the array. Since "a" is the first element of the array, this will return 0 [the key].
0 which also corresponds to "false" is causing your script to fail.

@wrivera, Why use 2 loops when you can use one ? ie.,

<?php
if(isset($_POST['submit'])) {
	$vowels = array("a","e","i","o","u");
	$username = $_POST['fname'];
	$length = strlen($username);
	$count = 0;
	for($i=0;$i< $length; $i++) {
		$count = (in_array(strtolower($username{$i}),$vowels)) ? ($count + 1 ) : ($count + 0);
	}
	echo "There are {$count} vowels in $username<br />";
}
?>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
Enter your First Name:<br><br>
<form action="test2.php" method="post">
Name: <input type="text" name="fname" />
<input type="submit" name="submit" value="Submit" />
</form>
</body>
</html>

in_array checks if a character is in the vowel array. If yes, increment count, else, don't do anything.

strtolower will make sure that it counts the vowels even if the user has entered his username in uppercase.

Cheers!
Naveen

nav33n 472 Purple hazed! Team Colleague Featured Poster

$query = mysql_query("SELECT * FROM Employee WHERE $method = '$search'");
$result = mysql_query($query);

This is wrong. Try,

$query = "SELECT * FROM Employee WHERE $method = '$search'";
	$result = mysql_query($query);
nav33n 472 Purple hazed! Team Colleague Featured Poster

You can do it in 2 simple ways (maybe there are even more, but I am not aware of it).
You can either save the data of the first form in session after it is posted, and then, when the second form is posted, get all the data (session data and the 2nd form's posted data) and insert a record to the table.
The second method is to have hidden fields in the 2nd form, which will save all the values of the first form and when the 2nd form is submitted, you will have the data of 1st and 2nd form :)

nav33n 472 Purple hazed! Team Colleague Featured Poster

Technically, it doesn't matter if you have only 1 line statement after a condition. ie.,

<?php
$x = 1;
if($x == 1) 
    echo "$x is valid.";
else 
    echo "$x is invalid";
?>

This will not work if you have more than 2 statements in your condition.
Btw, its not a good practice to miss { } for your conditions.

nav33n 472 Purple hazed! Team Colleague Featured Poster

Not only echo, you will get this warning if you have session_start along with header function. Use

ob_start();

as the first line of your script to turn on output buffering and

ob_end_flush();

as the last line to flush the output to the buffer.

nav33n 472 Purple hazed! Team Colleague Featured Poster

Very simple.

<html>
<head>
<script type="text/javascript">
function checkCheckbox() {
 var countselection = 0;
 var maximumselection = 2;
 var ch = document.getElementsByName('choice');
 for(i=0;i< ch.length;i++) {
  if (ch[i].checked) {
   countselection++;
  }
 }
 for(i=0; i < ch.length;i++) {
  if (!ch[i].checked) {
	if(countselection == maximumselection) {
  		ch[i].disabled=true;
	} else {
		ch[i].disabled=false;
	}
  }
 }
}
</script>
</head>
<body>
<form name="form">
1 <input type="checkbox" name="choice" value="1" onclick="checkCheckbox();" /><br />
2 <input type="checkbox" name="choice" value="2" onclick="checkCheckbox();" /><br />
3 <input type="checkbox" name="choice" value="3" onclick="checkCheckbox();" /><br />
4 <input type="checkbox" name="choice" value="4" onclick="checkCheckbox();" /><br />
5 <input type="checkbox" name="choice" value="5" onclick="checkCheckbox();" /><br />
6 <input type="checkbox" name="choice" value="6" onclick="checkCheckbox();" /><br />
</form>
</body>
</html>

Cheers! :)

nav33n 472 Purple hazed! Team Colleague Featured Poster

To get a new line, you should add a <br /> to your echo.
ie.,

<?php
echo $abbr['US']['MI']."<br />";  
?>
//or simply
<?php
echo $abbr['US']['MI'];  
echo "<br />";
?>

Also, can you use the php include function in arrays like I used the HTML image function in my japanesemotors example above?

That's a good one. I never did this (or even thought of having an include in an array).
But It doesn't work. Whenever you call the construct "include", it will start processing the 'included' file, ie., it will print if there is any print statement, or make the variables in the included file accessible to the 'base' file (the file where you are using include).
Here is a small example I tried out.

<?php
//include1.php
echo "From Include 1<br>";
?>
<?php
//include2.php
echo "From Include 2<br>";
?>
<?php
//include_in_array.php
$arr = array("a"=>include "include1.php", "b"=>include "include2.php" );
?>

There are 3 files, include1.php, include2.php and include_in_array.php . When you execute the file include_in_array.php , you will see 2 lines (From Include1 and From Include2) printed in the browser.
If you try printing $arr , it will print 1, which simply indicates that the file include1.php was included successfully.
So, the bottomline is, you can't include a file in an array.

network18 commented: include in a array..! really good one!! +1
nav33n 472 Purple hazed! Team Colleague Featured Poster

ob_start, as it indicates, will start output buffering. If you are using ob_start, then you should also use ob_end_flush, ie., flushing the output buffer.
I have used ob_start at places when I had already echo-ed something [which was unavoidable at that time] before starting the session or calling the header function [to get rid of the headers already sent... warning].
Here is an example of what I am talking about.

<?php
echo "hi<br>";
session_start();
echo "Bye<br>";
?>

This will throw an error, saying,

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent

But this will not throw any error.

<?php
ob_start();
echo "hi<br>";
session_start();
echo "Bye<br>";
ob_end_flush();
?>

I have also seen/heard some people saying that using ob_start will cause overhead for the server as it has to keep the output in the buffer, until its flushed, but I am not sure how far it is true.
That's my 2 cents :)

nav33n 472 Purple hazed! Team Colleague Featured Poster

you could also make a function out of it

<?php
   function arrayToString($array) {
      $string = '';
      foreach($array as $value) {
         $string .= "{$string}, {$value} ";
      }
      return $string;
   }

   echo arrayToString($_POST['Prefered_Engineers']);
?>

Or simply,

$string = implode(",",$_POST['Prefered_Engineers']);
leviathan185 commented: Turned many lines of ordinary code into 1 line of magic +1
nav33n 472 Purple hazed! Team Colleague Featured Poster

Wow what a nice funny video. I really like this video. I have saved this link in my book marks. Thanks a lot for sharing such a nice and funny video.

Are you a bot ? Or do you/your team copy paste the same thing in all the threads you bump once in a while ?

nav33n 472 Purple hazed! Team Colleague Featured Poster

What I am trying to do is view a post whilst not logged in then clicking on reply to post, it used to work why has it stopped recently.

Yep. There is a bug. This is what I did.
I logged out, came back to this thread and tried to 'reply with quote'. It asked me to log in.
Url : http://www.daniweb.com/forums/newreply.php?do=newreply&p=1048814 which said,

You're trying to access something for members only! Please register or login to continue ...

Fair enough. Then, when I tried to log in, I got this url ( http://www.daniweb.com/forums/login.php?do=login ), which redirected me back to http://www.daniweb.com/forums/newreply.php?do=newreply&p=1048814 , asking me to log in again.
The Go back button, as well as, Click here if your browser does not automatically redirect you. will take me back to the same url: http://www.daniweb.com/forums/newreply.php?do=newreply&p=1048814 .
Tested in IE7, FF 3.5.5 and my computer is a cookie monster :P Seems like there is some problem with the session.

jasimp commented: Nice work +0
jephthah commented: check out the big brain on Brad! ;) +0
nav33n 472 Purple hazed! Team Colleague Featured Poster

There are still some typos. $GET_ instead of $_GET. One simple suggestion though. You don't need a switch/if-elseif-else condition to find out the day. A simple array will do it. This is what I am talking about.

<?php
//nodag = Norwegian day
//endag = English Day
// dag = day
if(!isset($_GET['ok'])) { //start if
?>
<form action="" method="get">
<select name="lan">
	<option value="eng">English</option>
	<option value="no">Norsk</option>
	</select>
<input type="submit" name="ok" value="Ok">
</form>
<?php
}// end if
elseif($_GET["lan"] = "no") { //start elseif
$norwegian_days = array("Monday"=>"Mandag","Tuesday"=>"Tirsdag","Wednesday"=>"Onsdag","Thursday"=>"Torsdag","Friday"=>"Fredag","Saturday"=>"Lordag","Sunday"=>"Sondag");
$endag = date("l");
$nodag = $norwegian_days[$endag];
echo $nodag;
} // end elseif
else { // start else
$endag = date("l");
echo $endag;
}// end else
?>

Cheers!

nav33n 472 Purple hazed! Team Colleague Featured Poster

Maybe the root cause for all this confusion is the word dehasher. ;) Its not exactly a dehasher, but a hash-matcher ! :icon_cool:

nav33n 472 Purple hazed! Team Colleague Featured Poster

i looked at your message you didn't show me any direction

Okay! Here is the direction. From this point >> * << Go straight up and stop when you see the text "Software Development". Since you have already traveled this far, you might be tired and maybe you need a break. Take a break and hover over it (the text "Software development"). You will see a drop down list. The first option you see is C++ forum. Come down a little and click on it. This will take you to C++ forum. When you are there, you can start a new thread and post your question (follow Grn Xtrm's guidelines while posting your question).
Clear enough ? :icon_rolleyes:

Grn Xtrm commented: Very clear, indeed. :) +0
Ancient Dragon commented: nice :) +0
Will Gresham commented: Haha :) +0
kvprajapati commented: nice. +0
nav33n 472 Purple hazed! Team Colleague Featured Poster

Hmm.. Right.. This link is missing!

nav33n 472 Purple hazed! Team Colleague Featured Poster

Hi all,

I have a suggestion (not sure if it has already been discussed).

In the profile, at the community tab, we have, for example,

Code Snippets: 10

If this number 10 is made a href linking to all the code snippets posted by that particular user, it would be great.
At present, to find a code snippet posted by a user, we have to go to statistics tab, click on Find all threads started by xyz , then look for "code snippet".
This is like searching for a needle in the haystack if the user has created a lot of threads (okay, I'm exaggerating ;)).

Cheers,
Naveen

nav33n 472 Purple hazed! Team Colleague Featured Poster

Instead of storing the password just like a normal string, save it as an encrypted string, using SHA1 or something. This will provide you more security as well as solves your issue.
Here is an example to clarify any further doubt.

<?php
echo SHA1("ABC");
echo "<br />";
echo SHA1("abc");
?>
nav33n 472 Purple hazed! Team Colleague Featured Poster

Hi! Welcome to Daniweb.. Is this what you want ?

<html>
<head>
<script type="text/javascript">
function enableButton() {
	if(document.getElementById('option').checked){
		document.getElementById('b1').disabled='';
	} else {
		document.getElementById('b1').disabled='true';
	}
}
</script>
</head>
<body onload="enableButton();">
<form method="post">
<input type="checkbox" name="option"  id="option" onclick="javascript:enableButton();">Enable<br>
<input type="button" name="b1" value="Click" id="b1" onclick=location.replace('http://www.google.com') />
</form>
</body>
</html>
darkagn commented: Excellent suggestion. +6
nav33n 472 Purple hazed! Team Colleague Featured Poster

What is the big deal about these badges anyway ? It isn't a real badge that you can show off to the kids playing monopoly and say, "Take a good look at my featured poster badge. I am a famous personality. k. bai!!! :twisted: " .

:icon_rolleyes:

Stop whining Serkan. Every programmer/poster has his day. Patience is the key. Right ?

jephthah commented: w3rd +12
nav33n 472 Purple hazed! Team Colleague Featured Poster

mysql_query() sends a unique query (multiple queries are not supported) to the currently active database on the server that's associated with the specified link_identifier .

Source: http://in2.php.net/function.mysql-query

veledrom commented: Thanks +2
nav33n 472 Purple hazed! Team Colleague Featured Poster

no :) i didnt read the url i posted, i just post it not to make any typos for an indian name. mhm i read it it means :
"one who has found meaning (of existence)" or "he who has attained his goals". And what do you call just the opposite in that sanksrit language, by the way is this language like root of your current hindi language?

Sanskrit is the root of many languages (including English). The word Mother comes from the sanskrit word "Mathru". There are so many word that I can't recall at the moment. I didn't opt for sanskrit when I was in school, so, I am not that fluent in that language.
Hmm.. This thread has taken a 360 degree turn from Unix to Sanskrit ? Eh ?

nav33n 472 Purple hazed! Team Colleague Featured Poster

i have PM enabled, i want to be able to see those referrals by clicking some links in my profile, better to referrals text it self.

You can. Go to your Member Certificate . You will see

Members You've Referred
When users find DaniWeb through your member certificate, they are added to your list of member referrals when they join our community.

at the bottom of the page.

serkan sendur commented: useful info +3
Ancient Dragon commented: I didn't know that -- thanks :) +36
nav33n 472 Purple hazed! Team Colleague Featured Poster

I don't get it ! If you have the entire address in the table, why not simply use, echo "<img src='".$row['image']."'>"; ?

csharplearner commented: i appreciate ut time. +1
nav33n 472 Purple hazed! Team Colleague Featured Poster

Instead of having different names for your checkboxes, use a checkbox array and on submit, loop through all the selected checkbox and insert a record to the table.
For eg.,

<form name="addcode" action="<?php $_SERVER['PHP_SELF'];?>" method="POST">
 <br />
 <input name="code" type="text" value="Enter Code">
 <br />
 1:<input type="checkbox" name="checkbox" value="table1">
 2:<input type="checkbox"  name="checkbox" value="table2">
 3:<input type="checkbox" name="checkbox" value="table3">
 4:<input type="checkbox" name="checkbox" value="table4">
 <br />
 <input type="submit" name="submit" value="Add Code">
 </form>

Then, On submit,

<?php
require('FC_DB_connection.php');

//check if form has been submited
if(isset($_POST['submit'])){
//new code sent from form
$textbox_value = mysql_real_escape_string($_POST['code']);
foreach($_POST['checkbox'] as $tablename_value) {
$query = "insert into $tablename_value (col1) values ('$textbox_value')";
mysql_query($query);
}
..... etc....
 ?>
nav33n 472 Purple hazed! Team Colleague Featured Poster

:icon_redface: After numerous attempts, I found out the solution. Here it is.

INSERT INTO a (name, age, postcode, city ) 
SELECT name, age, postcode, city 
FROM b where counter = 1
AND NOT 
EXISTS ( 
SELECT *
FROM c
WHERE counter = ( 
SELECT  c_id
FROM d
WHERE counter =  '3'))

Thanks for looking ;)

peter_budo commented: Thanx for sharing +17
nav33n 472 Purple hazed! Team Colleague Featured Poster

I remember years ago there was a guy downtown carrying a sign that read "The air is moving, it could be alive".

You aren't serious! Are you ? :D

Sulley's Boo commented: hum mote nahin hote -.- +6
nav33n 472 Purple hazed! Team Colleague Featured Poster

In all the queries, change my_db to user. :) Then I guess it should work fine!

nav33n 472 Purple hazed! Team Colleague Featured Poster

Thats strange. Because that same script showed scroll bar for me.

kevin wood commented: always helpfull +2
nav33n 472 Purple hazed! Team Colleague Featured Poster

Bingo! You are right. Check this link!
http://www.webmasterworld.com/forum88/9091.htm

peter_budo commented: Interesting info in that link +16
nav33n 472 Purple hazed! Team Colleague Featured Poster

Replace all occurance of " with ' in your message. :)

arvindikchari commented: good answer +1
nav33n 472 Purple hazed! Team Colleague Featured Poster

Return your girlfriend and install linux guys !

Okay..... Then what ? Cry out loud for being single ? :icon_rolleyes:

Ezzaral commented: !! :) +19
nav33n 472 Purple hazed! Team Colleague Featured Poster

I agree with AD, it's damn hard to quit, I've been smoking 10+ years, but eventually I'll succeed.

I can understand how you feel! I started smoking 6 years ago and finding it very difficult to quit! I had quit for a week, but I didn't have enough will power to overcome the urge. :(
Even the *Smoking is injurious to health* sign on the packs too don't make much of a difference.

Sulley's Boo commented: baakaaaaaa =D +6
nav33n 472 Purple hazed! Team Colleague Featured Poster

How about a forum for support for games?

Why ? Probably to solve this query ? Eh ?:icon_rolleyes:

verruckt24 commented: Good you caught him +3
nav33n 472 Purple hazed! Team Colleague Featured Poster

@Kevin wood, Your script seems fine.
Try this.

$query = "SELECT email FROM emails";
	$result = mysql_query($query) or die(mysql_error());

	while($row = mysql_fetch_array($result)) {
	
	$emailaddress[] = $row['email'];
	}


	// Contacts
	//$replyName = $merc_replyId;
	//$replyEmail = $merc_replyAddress;
	$i=0;
	foreach($emailaddress as $contactemail) {
	$replyName = "PiPonliine";
	$replyEmail = "info@piponline.info";

	$contactname = "";
	

	// Subject
	$subject = "Website Update";

	// Headers
	$headers = "MIME-Version: 1.0" . PHP_EOL;
	$headers .= "Content-type: text/html; charset=iso-8859-1" . PHP_EOL;
	$headers .= "From: ".$replyName." <".$replyEmail.">" . PHP_EOL;
	$headers .= "BCC: ".$contactname." <".$contactemail.">\r\n" . PHP_EOL;
	

	mail($contactemail, $subject, $message, $headers);
	$i++;
	}
  echo "$contactemail"; //this will print only 1 email address, which is the last one
  echo "<h2>Email notification sent</h2>";
  echo "<h2>".$i." mails sent</h2>";

This definitely works. (I tried with 3 email addresses)

kevin wood commented: very helpfull +2
nav33n 472 Purple hazed! Team Colleague Featured Poster
header("location: index.php?variable1=".$variable1."&variable2=".$variable2);

:)

OmniX commented: Thanks as always nav ;) +2
nav33n 472 Purple hazed! Team Colleague Featured Poster

table = mysql reserve keyword.

Use `table` instead.

kevin wood commented: always very helpfull and gives good answers +2