[PHP] change request for function highlight_string

2002-02-20 Thread Rein Velt
At this moment (php4.1.1) the function highlight_string has the following syntax: [quote] bool highlight_string ( string str) This function prints out a syntax highlighted version of str using the colors defined in the built-in syntax highlighter for PHP. Returns TRUE or FALSE. [/quote] The

Re: [PHP] using sendtohost on a secure site

2002-02-20 Thread bvr
The answer to this and many related questions is: Use CURL. See manual. bvr. Is great for posting results to a regular http site. But what I need to do is post to a secure site (https). I looked through some of the php documentation and couldn't find anything about manually encrypting the

Re: [PHP] Pulling Variables from URL

2002-02-20 Thread Steve Werby
Phillip S. Baker [EMAIL PROTECTED] wrote: Is there an easy way to pull all the variables after the URL? Let use say that the page I am looking at is this. www.somewhere.com/pages.php?id=27color=redbgcolor=green Now on the page I want a link to have the 3 variables from above. I know I can

RE: [PHP] how the ticks works?

2002-02-20 Thread Martin Towell
As the manual says - it executes the tick function every 'n' low-level statement - but what's counted as a low-level statement, I don't know... It appears that, in the example, the low-level statements are the for and the echo If anyone can shed light on this subject, I'd be interested too

[PHP] Re: using sendtohost on a secure site

2002-02-20 Thread Jim Winstead
In php.general Jeremy Reed [EMAIL PROTECTED] wrote: Is great for posting results to a regular http site. But what I need to do is post to a secure site (https). I looked through some of the php documentation and couldn't find anything about manually encrypting the data to send or anything

Re: [PHP] Removing every thing between ( )

2002-02-20 Thread bvr
what do you have so far ? at least you need to 'replace', and I recommend perl style preg_replace() which is very powerfull. then you need an expressions that matches the '(001 Test)' part, how to do this can be found in the manual, however here's a small tip: /[0-9]+/ matches a series of

[PHP] Which Portal System?

2002-02-20 Thread Curtis Strite
I'm looking for some recommendations on which portal system to use for my website. I have sifted through most of what I think will suite my needs at hotscripts.com. HOwever I wanted to get some feedback from somone who has used any of the ones I'm looking at before I take the time to set it up

Re: [PHP] change request for function highlight_string

2002-02-20 Thread Lars Torben Wilson
On Wed, 2002-02-20 at 14:13, Rein Velt wrote: At this moment (php4.1.1) the function highlight_string has the following syntax: [quote] bool highlight_string ( string str) This function prints out a syntax highlighted version of str using the colors defined in the built-in syntax

RE: [PHP] Removing every thing between ( )

2002-02-20 Thread Martin Towell
(not tested but...) something like: $string = ereg_replace(\([0-9]* Test\), , $string); if you want to keep the backets, then: $string = ereg_replace(\([0-9]* Test\), (), $string); HTH Martin -Original Message- From: bvr [mailto:[EMAIL PROTECTED]] Sent: Thursday, February 21, 2002

Re: [PHP] Pulling Variables from URL

2002-02-20 Thread Phillip S. Baker
phpinfo(); is your friend. Insert into a PHP script which has a query string (the part of the URL after the ?) and look at the environment variables available and listed in the output generated by phpinfo(). The variable you're looking for is $QUERY_STRING, but you really should get familiar

RE: [PHP] Help for passing variable to all pages

2002-02-20 Thread David Robley
In article [EMAIL PROTECTED], [EMAIL PROTECTED] says... That's not a lot of help - its a new installation, as far as I know everything has been done to default settings. What can I do to check the server setup Janet -Original Message- From: Martin Towell [mailto:[EMAIL

Re: [PHP] Which Portal System?

2002-02-20 Thread Erik Price
I'll probably get flamed for this, but I've heard wonderful things about Zope (Python-based). Though I admit that I have zero experience with it. I'm pretty sure it's an all-in-one package, you don't need a separate web server even (though if you have Apache already you can use that).

RE: [PHP] regexp on user supplied link

2002-02-20 Thread SpamSucks86
I absolutely hate regular expressions because I suck at writing them...but I can help you with the logic. I was thinking search for a pattern which matches HREF= + any number of characters + . Your match would be HREF=blahblahblah. Then, you could go and chop off the HREF= and the lagging , and

Re: [PHP] Hyperlinks vs Buttons

2002-02-20 Thread Steven Walker
Thanks for the replies.. one of these methods should work. I'm not targeting the general public, so it's ok my site requires a modern browser. Web development sure would a lot more fun without all the compatibility issues!!! ;P Steven J. Walker Walker Effects www.walkereffects.com [EMAIL

Re: [PHP] Pulling Variables from URL

2002-02-20 Thread Steve Werby
Phillip S. Baker [EMAIL PROTECTED] wrote: Thanks that is what I needed. I am starting to learn more about phpinfo. Is there a really good place that documents all the options and variables and such? You can find info about the environment variables and PHP variables in the PHP manual and

RE: [PHP] Removing every thing between ( )

2002-02-20 Thread Brian Paulson
Ok help me out here, isn't the point of this list to get help? How long is too long to work on a solution before ask for help? Brian -Original Message- From: bvr [mailto:[EMAIL PROTECTED]] Sent: Wednesday, February 20, 2002 2:33 PM To: [EMAIL PROTECTED] Subject: Re: [PHP] Removing

RE: [PHP] Help for passing variable to all pages

2002-02-20 Thread WG4- Cook, Janet
Thanks for the suggestion but it made no difference! I am still getting nothing through I think its something to do with the test link bit - what actually should go in here - how does it relate this to all links? Janet -Original Message- From: Rick Emery [mailto:[EMAIL PROTECTED]]

RE: [PHP] Removing every thing between ( )

2002-02-20 Thread bvr
I believe I *am* helping you! bvr. On Wed, 20 Feb 2002 16:06:24 -0800, Brian Paulson wrote: Ok help me out here, isn't the point of this list to get help? How long is too long to work on a solution before ask for help? Brian -Original Message- From: bvr [mailto:[EMAIL PROTECTED]]

RE: [PHP] Help for passing variable to all pages

2002-02-20 Thread WG4- Cook, Janet
Well I tried setting the variable to a constant value and it still didn't work. What I eventually want to pass is an ID retrieved from the DB that will be needed by every page Janet -Original Message- From: Simon Willison [mailto:[EMAIL PROTECTED]] Sent: Thursday, 21 February 2002

RE: [PHP] Removing every thing between ( )

2002-02-20 Thread Martin Towell
I agree - I think that if you've worked at something and feel that you're getting nowhere - then by all means ask. But I do feel that there have been some people that have posted to this list in past who have posted just to get someone else to do their code for them, without trying themselves.

[PHP] Using 'Location' and variables

2002-02-20 Thread Jim Koutoumis
I'm sure that this is possible, but I haven't found any info/examples on it yet,.. What I have is a php script that processes data that been submitted by a FORM. That's OK,... At the end of my script, depending upon the processing, I want to GOTO another php script, that's also OK, I can

[PHP] NULL value for variable

2002-02-20 Thread Narvaez, Teresa
Hello, I am runnig php 4.1.1. In the configuration, register_globals is ON. I have two programs and I want to pass the value from fileId from one.php to downloadfile.php. However, in downloadfile.php $fileId is NULL. What am I missing? Thanks, -Teresa one.php td width=33%

RE: [PHP] Hyperlinks vs Buttons

2002-02-20 Thread Johnson, Kirk
Another way would be to create an image of the text, then use the input type=image form element as a submit button. Kirk -Original Message- Is there a way to regular hyperlinked text to submit a form? For example, rather than having a button that says [Login], I just want

RE: [PHP] array session variable problem (register_global=off)

2002-02-20 Thread Harry Yu
Thanks for your reply, I have no problem assigning variable. I just can't retrieve them. If I use $_SESSION[foo['bar']], I got this error in Apache log. [Wed Feb 20 16:44:50 2002] [error] PHP Parse error: parse error, expecting `']''. Any other idea? Thanks, Harry The code in the first

RE: [PHP] array session variable problem (register_global=off)

2002-02-20 Thread Johnson, Kirk
Doh! I meant this: $_SESSION['name']['first'] = 'First Name'; -Original Message- From: Harry Yu [mailto:[EMAIL PROTECTED]] Sent: Wednesday, February 20, 2002 4:52 PM To: [EMAIL PROTECTED] Subject: RE: [PHP] array session variable problem (register_global=off) Thanks for your

Re: [PHP] regexp on user supplied link

2002-02-20 Thread DL Neil
I'll offer the following code to get you started on the task - and invite critiques/improvements! (cribbed from various sources and 'tuned' - note that either apostrophes or double quotes can be used to delimit the URL) $bValidity = $iFound = preg_match_all( /(href *=

Re: [PHP] Using 'Location' and variables

2002-02-20 Thread John Steele
Hi Jim, There are several ways to accomplish this such as flat files, database records, sessions, and the like. But I prefer to simply include a file (or have the one file do both form display and processing) and then you get all your variables: if ($REQUEST_METHOD == 'POST') { // either

Re: [PHP] Using 'Location' and variables

2002-02-20 Thread Jim Koutoumis
Thanks for your reply John. In fact I'm using the method you describe where the same script is used to both display and process the form. However, in the area where I'm doing the processing, I want to redirect at the end of it and still be able to use some of the variables in the location I'm

[PHP] Zend debug server trouble

2002-02-20 Thread bvr
Hi, I'm trying to install the debug server for linux, but having trouble to make it work for remote clients through Apache. I installed the debug server and compiled php with --enable-debug The debug server works when I use the 'gdbclient -c' command. The Zend studio windows client debugs

Re: [PHP] dealing with MSWord curly quotes in text

2002-02-20 Thread Analysis and Solutions
Hey Austin: text has been edited in MSWord and the quotes that it uses get turned into question marks. does anyone know a way to convert these MSWord quotes to normal marks? Replace the nasties with preg... $Data = preg_replace('/[\x93\x94]/', '', $Data); I figured out the Hex

[PHP] INT function?

2002-02-20 Thread James Taylor
Just curious what the function is to convert x into an integer if it's a float Say for example I have something like this $x = 7; $y = 3; $z = $x / $y; I want $z to equal 2. In perl it would be $z = int($x / $y); I'm just not sure how to do this in PHP, as int apparently doesn't work

RE: [PHP] INT function?

2002-02-20 Thread Martin Towell
$z = (int)($x / $y); // should work or $z = $x / $y; settype($z, integer); -Original Message- From: James Taylor [mailto:[EMAIL PROTECTED]] Sent: Thursday, February 21, 2002 12:07 PM To: [EMAIL PROTECTED] Subject: [PHP] INT function? Just curious what the function is to convert x

Re: [PHP] INT function?

2002-02-20 Thread Michael Sims
At 05:06 PM 2/20/2002 -0800, James Taylor wrote: $x = 7; $y = 3; $z = $x / $y; I want $z to equal 2. In perl it would be $z = int($x / $y); This is untested, but: $z = (int) ($x / $y); Should work. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit:

Re: [PHP] INT function?

2002-02-20 Thread Bas Jobsen
$z = intval($x / $y); Op donderdag 21 februari 2002 02:06, schreef James Taylor: Just curious what the function is to convert x into an integer if it's a float Say for example I have something like this $x = 7; $y = 3; $z = $x / $y; I want $z to equal 2. In perl it would be $z =

RE: [PHP] INT function?

2002-02-20 Thread bvr
On Thu, 21 Feb 2002 12:10:53 +1100, Martin Towell wrote: $z = (int)($x / $y); // should work or $z = $x / $y; settype($z, integer); or $z = intval($x / $y); bvr. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php

Re: [PHP] INT function?

2002-02-20 Thread James Taylor
Heh, that's interesting.. Only difference is you have to put parenthesis around int. Weird On Wednesday 20 February 2002 05:10 pm, you wrote: $z = (int)($x / $y); // should work or $z = $x / $y; settype($z, integer); -Original Message- From: James Taylor [mailto:[EMAIL

[PHP] using sendtohost on a secure site

2002-02-20 Thread Jeremy Reed
The function sendtohost: -BEGIN CODE function sendToHost($host,$method,$path,$data,$useragent=0) { // Supply a default method of GET if the one passed was empty if (empty($method)) $method = 'GET'; $method = strtoupper($method); $fp = fsockopen($host,443); echo(open); if ($method

RE: [PHP] using sendtohost on a secure site

2002-02-20 Thread Jason Murray
The function sendtohost: [snip] Is great for posting results to a regular http site. But what I need to do is post to a secure site (https). At that point, you'll want to look into using CURL extensions to PHP. http://www.php.net/manual/en/ref.curl.php Jason -- PHP General Mailing

[PHP] Bizarre problem.

2002-02-20 Thread Andres Plaza R.
Hi everybody! Some days ago, I asked about a problem making configure in PHP 4.1.1. When I try to configure PHP + Oracle: ./configure --with-mysql --with-apxs=/usr/local/apache/bin/apxs --with-openssl=/usr/local/ssl --with-zlib=/usr --with-curl=/usr/local

Re: [PHP] Using 'Location' and variables

2002-02-20 Thread John Steele
Hi Jim, The header() function call you use below IS doing a GET. Maybe if you told us why you need to redirect to this new page might help. Simply doing the processing then including the new page should work fine, as long as the processing part doesn't do any output. A simple example:

[PHP] Need help

2002-02-20 Thread jtjohnston
Yeeesch! I neet help. I need a method to flush out lists of authors in a MySQL field called KW. The field looks a bit like this: 1; Caribbean and West Indies; Guyana;4;

[PHP] text box truncate

2002-02-20 Thread Michael P. Carel
Hi there, I have here a problem regarding how to truncate the data that was written in the text box form? I want the data to be displayed in the html collumn in standard length and format. Setting the text box in WRAP will not solve the problem it will not add a new line. I want that instead of

RE: [PHP] array session variable problem (register_global=off)

2002-02-20 Thread Harry Yu
Thanks Kirk, That works. Harry __ Do You Yahoo!? Yahoo! Sports - Coverage of the 2002 Olympic Games http://sports.yahoo.com -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php

Re: [PHP] Using 'Location' and variables

2002-02-20 Thread Jim Koutoumis
John, I never even thought of just including the page I was wanting to redirect/switch to. I was always ending my processing portion with a header(Location : ) thingy in all of my scripts. As no output comes out during the processing stage it should all work. It seems so straight forward

[PHP] Where to look for developers?

2002-02-20 Thread Francisco Reyes
Suggestions where to place an ad for a part time/per project developer? I looked at several sites and none of them seemed heavily trafficed or like a good place. Also the major places likes monster.com probably charge a fee to list. The links I found were from the Developers and Job

Re: [PHP] Need help

2002-02-20 Thread Steven Walker
John, You could create a function to do this. Just think of it in small steps. You can use the string replace function to replace certain parts with other characters, or nothing at all. For example: $data = Wilson; Hope,(i) Alec Derwent; King,(i) Bruce; James,(i) Henry;; $new_data =

Re: [PHP] text box truncate

2002-02-20 Thread Steven Walker
How about wordwrap()? http://www.php.net/manual/en/function.wordwrap.php Steven J. Walker Walker Effects www.walkereffects.com [EMAIL PROTECTED] On Wednesday, February 20, 2002, at 06:02 PM, Michael P. Carel wrote: Hi there, I have here a problem regarding how to truncate the data that was

RE: [PHP] Need help

2002-02-20 Thread Martin Towell
or maybe explode using ; as your delimiter first then loop through the returned array depending on what the current item is, and the previous item(s) are (maybe using flags to know where you are, and what has happened), act on the current one in a certain way dunno if i've written it in an

[PHP] timestamp confusion

2002-02-20 Thread Justin French
hi, when people add something to a table, i'm logging the time()... later, when I pull it out, i'm doing something like date('d M Y',$stamp), which all works fine, printing something like 21 Jan 2002. problem is, i'm on a server in canada, but 99% of my users will be in Australia. to get an

Re: [PHP] Using 'Location' and variables

2002-02-20 Thread John Steele
Hi Jim, Glad that it makes sense now. In fact, the other page may not even need to exist. Instead of including a seperate page, you could simply display the output from within this same form script. I find this extremely useful in combination with a templating system. Happy coding,

Re: [PHP] timestamp confusion

2002-02-20 Thread Billy S Halsey
Justin, Take a look at the gettimeofday() function, which returns the timezone and daylight-savings-time values for the system. -bsh Justin French wrote: hi, when people add something to a table, i'm logging the time()... later, when I pull it out, i'm doing something like date('d M

[PHP] wordwrap not working

2002-02-20 Thread Michael P. Carel
Hi, Im testing the example in the http://www.php.net/manual/en/function.wordwrap.php and it seems not working it still printing the whole word and not wrapping. Im using php4.05 in my redhat 6.2 using an apache. Here's the sample: ? $text = The quick brown fox jumped over the lazy dog.;

RE: [PHP] wordwrap not working

2002-02-20 Thread Martin Towell
Are you looking at the output in a web browser? Martin -Original Message- From: Michael P. Carel [mailto:[EMAIL PROTECTED]] Sent: Thursday, February 21, 2002 2:25 PM To: php Subject: [PHP] wordwrap not working Hi, Im testing the example in the

RE: [PHP] wordwrap not working

2002-02-20 Thread David Redmond
If your viewing the output through a browser, try this; ? $text = The quick brown fox jumped over the lazy dog.; $newtext = wordwrap( $text, 20, br); echo $newtext\n; ? -Original Message- From: Michael P. Carel [mailto:[EMAIL PROTECTED]] Sent: Thursday, 21 February 2002 1:25 PM To: php

Re: [PHP] wordwrap not working

2002-02-20 Thread Joel Boonstra
snip it should print like this: The quick brown fox jumped over the lazy dog. but it still printing like this: The quick brown fox jumped over the lazy dog. HTML treats bunches of whitespace as one space. Look at the source of the page; you'll see that it's doing what it should. If you

[PHP] Trouble with Sessions

2002-02-20 Thread Phillip S. Baker
Hey All, I just converted my login process to sessions. It works great. However I am having one annoying issue come up. The site is a secure site. So each page has an include to check to see if a validated session is there. If not a login forma appears and so on. It all works just fine.

RE: [PHP] wordwrap not working

2002-02-20 Thread Joel Boonstra
If your viewing the output through a browser, try this; ? $text = The quick brown fox jumped over the lazy dog.; $newtext = wordwrap( $text, 20, br); echo $newtext\n; ? Ah, this is a better solution than mine -- I didn't know wordwrap had the 3rd (and 4th) parameters till now. Joel --

Re: [PHP] wordwrap not working

2002-02-20 Thread Steven Walker
This may be a nl2br() problem. If you are setting \n as your newline character, it probably needs to be br if your just echoing it. Depending on where it ultimately gets displayed, you'll want one or the other. For example, sending an email message you want \n. Steven J. Walker Walker Effects

[PHP] Re: Hyperlinks vs Buttons

2002-02-20 Thread Gary
Steven Walker wrote: Is there a way to regular hyperlinked text to submit a form? For example, rather than having a button that says [Login], I just want underlined text: Login Steven J. Walker Walker Effects www.walkereffects.com [EMAIL PROTECTED] a

Re: [PHP] Trouble with Sessions

2002-02-20 Thread Steven Walker
Phillip, I had the same problem. It's even worse in IE5 since no error was displayed, just an empty form. To circumvent this, I put PHP controls for navigating. To go back, a button called 'modify' resubmits the data to the form page. On my site, if the user clicks the back button, they get

[PHP] Re: Which Portal System?

2002-02-20 Thread Gary
Curtis Strite wrote: I'm looking for some recommendations on which portal system to use for my website. I have sifted through most of what I think will suite my needs at hotscripts.com. HOwever I wanted to get some feedback from somone who has used any of the ones I'm looking at before I

Re: [PHP] Q on php://stdin

2002-02-20 Thread Billy S Halsey
Hi all, I still have been completely unable to get this to work like it should. I have a simple script: #!/usr/local/bin/php -q ?php $fp = fopen(php://stdin, r); while (($buf = fgets($fp, 512)) != false) { $input .= $buf; } echo $input; ? So if I call this echo.php,

Re: [PHP] Trouble with Sessions

2002-02-20 Thread Richard Baskett
Well actually I believe if you do a header pragma cache or another way of caching the page it should work. If I am wrong someone please correct me.. I don¹t want to give out bad advice :) Rick The old law about an eye for an eye leaves everybody blind. - Dr. Martin Luther King, Jr. From:

Re: [PHP] timestamp confusion

2002-02-20 Thread Justin French
It doesn't seem to me like this is an issue... isn't the timestamp just the local unix time? It is on my LAN server. The issue I have is that echo date('d M Y H:m:s','1014261839'); produces 21 Feb 2002 14:02:59 on my LOCAL machine echo date('d M Y H:m:s','1014260440'); produces 20 Feb 2002

Re: [PHP] timestamp confusion

2002-02-20 Thread Jeff Sheltren
Well, what you are missing is that those are the number of seconds *on that machine* since 1970... so actually, if both of your clocks were set correctly, you should be getting the *same* number returned by time(). Hope that clears it up a little. Jeff At 03:18 PM 2/21/2002 +1100, Justin

[PHP] getting the right REMOTE_ADDR

2002-02-20 Thread sean
Hi all, I need to know the exact ip of who is entering a site and I'm worried about proxies and spoofing. From php.net: http://www.php.net/manual/en/function.getenv.php This was listed: This gives you the right ip: if (getenv(HTTP_CLIENT_IP)){

Re: [PHP] timestamp confusion

2002-02-20 Thread Justin French
Jeff Sheltren wrote: Well, what you are missing is that those are the number of seconds *on that machine* since 1970... so actually, if both of your clocks were set correctly, you should be getting the *same* number returned by time(). Hope that clears it up a little. A geez *slaps

Re: [PHP] timestamp confusion

2002-02-20 Thread Justin French
Okay, that's what I needed to hear... so I'll just add 61200seconds onto the timestamp, and i'll be in the ball park. thanks to everyone, justin Scott Brown wrote: Seems to me that those functions expect GMT based time. Here in Ontario Canada, I'm GMT-5 (or -4 at some points in the

Re: [PHP] getting the right REMOTE_ADDR

2002-02-20 Thread Steven Walker
I don't know too much about this, but IP checking is not a reliable way of identification anyway. Depending on how people connect to the internet, some people will have different IPs every time. Since I use a cable modem, my IP address rarely changes (if ever) so I use it as a safety net to

Re: [PHP] Difference between two dates

2002-02-20 Thread Uma Shankari T.
Hello, I got the solution for the date difference problem..,, Thankyou very much. -Uma Uma Shankari T. [EMAIL PROTECTED] wrote: If i gave the str date as 31-01-2001; and $str1=04-02-2001; then it is displaying the wrong result Plz tell me how can i rectify this problem...

RE: [PHP] Re: Hyperlinks vs Buttons

2002-02-20 Thread Nick Richardson
Actually, i have seen problems with this under Oprah and Netscape (dont ask me why... it just seems kinda flaky. So instead, use this: a href=javascript:document.formname.submit()Login/a //Nick -Original Message- From: Gary [mailto:[EMAIL PROTECTED]] Sent: Wednesday, February 20, 2002

Re: [PHP] getting the right REMOTE_ADDR

2002-02-20 Thread sean
My problem is a touch different, I know the IP's of the visitors who can visit the site, but I need to make sure that it's *really* them. Cookies are a potential solution, but don't quite fit the bill due to some variables on the users sides - and what I'm really keeping out are bots (that

[PHP] fopen and UNC filename

2002-02-20 Thread Johannes Müller
I tried to fopen(\\machine\share\file.txt,w) on w2k iis 5.0 with PHP 4.1.0 and I got fopen invalid argument error. I know, that UNC filenames are supported since PHP 4.0.6. I tried variants with machine\\share\\file.txt, ... but the error was the same. TIA Jo -- PHP General Mailing

Re: [PHP] getting the right REMOTE_ADDR

2002-02-20 Thread Steven Walker
You lost me... but it sounds like fun! :) BTW, can anything fake $HTTP_REFERER? I'm sure one of the pros on the list can answer your original question: Is this really a fool-proof method of knowing exactly what the ip is if (getenv(HTTP_CLIENT_IP)){

[PHP] Re: NULL value for variable

2002-02-20 Thread Sanduhr
that global $fileId; shouldn't be there in downloadfile.php Teresa Narvaez [EMAIL PROTECTED] schreef in bericht [EMAIL PROTECTED]">news:[EMAIL PROTECTED]... : Hello, : I am runnig php 4.1.1. In the configuration, register_globals is : ON. : I have two programs and I want to pass the value from

<    1   2