[dw-free] interest search needs warning/explanation if interest is too long
[commit: http://hg.dwscoalition.org/dw-free/rev/0de105ba5389]
http://bugs.dwscoalition.org/show_bug.cgi?id=2744
Have a warning when searching for an interest that's too long.
Patch by
yvi.
Files modified:
http://bugs.dwscoalition.org/show_bug.cgi?id=2744
Have a warning when searching for an interest that's too long.
Patch by
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Files modified:
- htdocs/interests.bml
- htdocs/interests.bml.text
-------------------------------------------------------------------------------- diff -r 0277a739daa7 -r 0de105ba5389 htdocs/interests.bml --- a/htdocs/interests.bml Tue Jul 06 19:00:40 2010 +0800 +++ b/htdocs/interests.bml Tue Jul 06 20:19:14 2010 +0800 @@ -392,6 +392,16 @@ body<= my $ret = ''; + # determine whether the interest is too long: if the interest already exists, a long interest will result in $e_int and the return value of LJ::get_interest not matching + # if it didn't already exist, we fall back on just checking the length of $e_int + my $exists = $interest; + if ( ( $exists && $e_int ne $interest ) || length( $e_int ) > LJ::CMAX_SITEKEYWORD ) { + + # if the searched-for interest is too long, we use the short version from here on + $interest = $exists ? $interest : substr ( $e_int, 0, LJ::CMAX_SITEKEYWORD ); + $ret .= "<?p " . BML::ml( '.error.longinterest', { sitename => $LJ::SITENAMESHORT, old_int => $e_int, new_int => $interest, maxlen => LJ::CMAX_SITEKEYWORD } ) . " p?>"; + } + $ret .= "<table>"; $ret .= "<tr valign='middle'><td class='findandmodify'>$ML{'.interested.in'}</td>"; $ret .= "<td class='findandmodify'><form method='get' action='interests'>"; @@ -407,11 +417,11 @@ body<= $ret .= "</table>"; # no results - unless ( $interest ) { + unless ( $exists ) { $ret .= "<?h1 $ML{'.nocomms.header'} h1?><?p "; - $ret .= BML::ml( '.nocomms.text', { 'int' => $e_int, 'aopts' => qq(href="$LJ::SITEROOT/community/create") } ); + $ret .= BML::ml( '.nocomms.text', { 'int' => $interest, 'aopts' => qq(href="$LJ::SITEROOT/community/create") } ); $ret .= " p?><?h1 $ML{'.nousers.header'} h1?><?p "; - $ret .= BML::ml( '.nousers.text', { 'int' => $e_int, 'aopts_manage' => "href='$LJ::SITEROOT/manage/profile/'", 'aopts_int' => "href='$LJ::SITEROOT/interests'" } ); + $ret .= BML::ml( '.nousers.text', { 'int' => $interest, 'aopts_manage' => "href='$LJ::SITEROOT/manage/profile/'", 'aopts_int' => "href='$LJ::SITEROOT/interests'" } ); $ret .= " p?>"; return $ret; } diff -r 0277a739daa7 -r 0de105ba5389 htdocs/interests.bml.text --- a/htdocs/interests.bml.text Tue Jul 06 19:00:40 2010 +0800 +++ b/htdocs/interests.bml.text Tue Jul 06 20:19:14 2010 +0800 @@ -51,6 +51,8 @@ When you're done, click "Save Changes". .error.findsim_do.intnotfound=Interest wasn't found. .error.ignored=Sorry, we're unable to help you find users matching the interests you've provided. + +.error.longinterest=As [[sitename]] does not support interests longer than [[maxlen]] characters, your search for <b>[[old_int]]</b> was converted into a search for <b>[[new_int]]</b> instead. .error.nodata=Sorry, interest data currently unavailable. --------------------------------------------------------------------------------