From: <M.D...@ls...> - 2009-09-10 14:44:46
|
Hi All, Hopefully this is a trivial issue, but it's bugging us and our users! If you click on Advanced Search you get the following warning: Warning: urlencode() expects parameter 1 to be string, array given in /usr/local/vufind/web/sys/Solr.php on line 687 Which refers to the line: $additional = urlencode($additional); In the following process: /** * Submit REST Request * * @param string $method HTTP Method to use: GET, POST, * @param array $params An array of parameters for the request * @param book $raw Whether to return raw XML or processed * @return string The response from Solr * @access private */ function _call($method = HTTP_REQUEST_METHOD_GET, $action, $params = null, $raw = false) We are running r1194. I've tried to fix this, but keep breaking other parts of the system with my lack of programming skill! Is there a nice one line fix? Thanks Mike Please access the attached hyperlink for an important electronic communications disclaimer: http://www.lse.ac.uk/collections/secretariat/legal/disclaimer.htm |
From: Greg P. <Gre...@us...> - 2009-09-10 23:17:51
|
Hi Mike, The line numbers don't match up so presumably you're running slightly modified, but I think you're referring to lines 677-680 of this file: http://vufind.svn.sourceforge.net/viewvc/vufind/trunk/web/sys/Solr.php?view=markup&pathrev=1194 foreach ($value as $additional) { $additional = urlencode($additional); $query[] = "$function=$additional"; } Perhaps this will work: foreach ($value as $additional) { if (is_array($additional)) { foreach ($additional as $moreAdditional) { $moreAdditional = urlencode($moreAdditional); $query[] = "$function=$moreAdditional"; } } else { $additional = urlencode($additional); $query[] = "$function=$additional"; } } If $additional is an array you just need to break up and put each piece in. It's odd that you reach that point however, because that code block is still in the trunk as well and not causing any problems. Perhaps a local modication upstream in your code is changing the data structure of the query being passed down? On a test system (of course), outside of all those loops you can do "print_r($params);" to spit the whole array to screen. If you are still having troubles post the output of that command for us to peek at. Greg Pendlebury Electronic Services Officer (Systems Team) Division of Academic Information Services University of Southern Queensland Phone: +61 7 4631 1501 Fax: +61 7 4631 1841 -----Original Message----- From: M.D...@ls... [mailto:M.D...@ls...] Sent: Friday, 11 September 2009 12:44 AM To: vuf...@li... Subject: [VuFind-General] Advanced Search warning Hi All, Hopefully this is a trivial issue, but it's bugging us and our users! If you click on Advanced Search you get the following warning: Warning: urlencode() expects parameter 1 to be string, array given in /usr/local/vufind/web/sys/Solr.php on line 687 Which refers to the line: $additional = urlencode($additional); In the following process: /** * Submit REST Request * * @param string $method HTTP Method to use: GET, POST, * @param array $params An array of parameters for the request * @param book $raw Whether to return raw XML or processed * @return string The response from Solr * @access private */ function _call($method = HTTP_REQUEST_METHOD_GET, $action, $params = null, $raw = false) We are running r1194. I've tried to fix this, but keep breaking other parts of the system with my lack of programming skill! Is there a nice one line fix? Thanks Mike Please access the attached hyperlink for an important electronic communications disclaimer: http://www.lse.ac.uk/collections/secretariat/legal/disclaimer.htm ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ VuFind-General mailing list VuF...@li... https://lists.sourceforge.net/lists/listinfo/vufind-general This email (including any attached files) is confidential and is for the intended recipient(s) only. If you received this email by mistake, please, as a courtesy, tell the sender, then delete this email. The views and opinions are the originator's and do not necessarily reflect those of the University of Southern Queensland. Although all reasonable precautions were taken to ensure that this email contained no viruses at the time it was sent we accept no liability for any losses arising from its receipt. The University of Southern Queensland is a registered provider of education with the Australian Government (CRICOS Institution Code No's. QLD 00244B / NSW 02225M) |
From: Michael M. <m.d...@ls...> - 2009-09-11 12:39:05
|
Hi Greg, Thanks for the help. It works like a charm. You're right the file is slightly modified (as are others which might be why no-one else seemed to have this problem!). Cheers Mike Greg Pendlebury wrote: > Hi Mike, > > The line numbers don't match up so presumably you're running slightly modified, but I think you're referring to lines 677-680 of this file: > http://vufind.svn.sourceforge.net/viewvc/vufind/trunk/web/sys/Solr.php?view=markup&pathrev=1194 > > foreach ($value as $additional) { > $additional = urlencode($additional); > $query[] = "$function=$additional"; > } > > > Perhaps this will work: > > foreach ($value as $additional) { > if (is_array($additional)) { > foreach ($additional as $moreAdditional) { > $moreAdditional = urlencode($moreAdditional); > $query[] = "$function=$moreAdditional"; > } > } else { > $additional = urlencode($additional); > $query[] = "$function=$additional"; > } > } > > If $additional is an array you just need to break up and put each piece in. > > It's odd that you reach that point however, because that code block is still in the trunk as well and not causing any problems. Perhaps a local modication upstream in your code is changing the data structure of the query being passed down? > > On a test system (of course), outside of all those loops you can do "print_r($params);" to spit the whole array to screen. If you are still having troubles post the output of that command for us to peek at. > > > > Greg Pendlebury > Electronic Services Officer (Systems Team) > Division of Academic Information Services > University of Southern Queensland > Phone: +61 7 4631 1501 > Fax: +61 7 4631 1841 > > -----Original Message----- > From: M.D...@ls... [mailto:M.D...@ls...] > Sent: Friday, 11 September 2009 12:44 AM > To: vuf...@li... > Subject: [VuFind-General] Advanced Search warning > > Hi All, > > Hopefully this is a trivial issue, but it's bugging us and our users! > > If you click on Advanced Search you get the following warning: > > Warning: urlencode() expects parameter 1 to be string, array given in /usr/local/vufind/web/sys/Solr.php on line 687 > > Which refers to the line: > > $additional = urlencode($additional); > > In the following process: > > /** > * Submit REST Request > * > * @param string $method HTTP Method to use: GET, POST, > * @param array $params An array of parameters for the > request > * @param book $raw Whether to return raw XML or > processed > * @return string The response from Solr > * @access private > */ > function _call($method = HTTP_REQUEST_METHOD_GET, $action, $params = null, $raw = false) > > We are running r1194. > > I've tried to fix this, but keep breaking other parts of the system with my lack of programming skill! > > Is there a nice one line fix? > > Thanks > > Mike > > Please access the attached hyperlink for an important electronic communications disclaimer: http://www.lse.ac.uk/collections/secretariat/legal/disclaimer.htm > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ > VuFind-General mailing list > VuF...@li... > https://lists.sourceforge.net/lists/listinfo/vufind-general > > This email (including any attached files) is confidential and is for the > intended recipient(s) only. If you received this email by mistake, > please, as a courtesy, tell the sender, then delete this email. > > The views and opinions are the originator's and do not necessarily > reflect those of the University of Southern Queensland. Although all > reasonable precautions were taken to ensure that this email contained no > viruses at the time it was sent we accept no liability for any losses > arising from its receipt. > > The University of Southern Queensland is a registered provider of > education with the Australian Government (CRICOS Institution Code No's. > QLD 00244B / NSW 02225M) > > > Please access the attached hyperlink for an important electronic communications disclaimer: http://www.lse.ac.uk/collections/secretariat/legal/disclaimer.htm |