forked from science-ation/science-ation
Add a configuration option to specify the maximum number of words in the project summary (Default=100)
Add some fancy-smansy javascript/dhtml word-counter code to the project summary. Make project status be incomplete if word count is too high
This commit is contained in:
parent
06dae78992
commit
36bee33066
3
db/db.update.13.sql
Normal file
3
db/db.update.13.sql
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
INSERT INTO `config` ( `var` , `val` , `description` , `year` ) VALUES ( 'participant_project_summary_wordmax', '100', 'The maximum number of words acceptable in the project summary', '-1');
|
||||||
|
INSERT INTO `config` ( `var` , `val` , `description` , `year` ) VALUES ( 'participant_project_summary_wordmax', '100', 'The maximum number of words acceptable in the project summary', '2006');
|
||||||
|
ALTER TABLE `projects` ADD `summarycountok` TINYINT( 1 ) DEFAULT '1' NOT NULL AFTER `summary` ;
|
@ -111,7 +111,7 @@ function emergencycontactStatus($reg_id="")
|
|||||||
function projectStatus($reg_id="")
|
function projectStatus($reg_id="")
|
||||||
{
|
{
|
||||||
global $config;
|
global $config;
|
||||||
$required_fields=array("title","projectcategories_id","projectdivisions_id","summary","language","req_table","req_electricity");
|
$required_fields=array("title","projectcategories_id","projectdivisions_id","summary","language","req_table","req_electricity","summarycountok");
|
||||||
|
|
||||||
if($reg_id) $rid=$reg_id;
|
if($reg_id) $rid=$reg_id;
|
||||||
else $rid=$_SESSION['registration_id'];
|
else $rid=$_SESSION['registration_id'];
|
||||||
|
@ -85,6 +85,13 @@ echo mysql_error();
|
|||||||
$q=mysql_query("SELECT * FROM projects WHERE id='".$_POST['id']."' AND registrations_id='".$_SESSION['registration_id']."' AND year='".$config['FAIRYEAR']."'");
|
$q=mysql_query("SELECT * FROM projects WHERE id='".$_POST['id']."' AND registrations_id='".$_SESSION['registration_id']."' AND year='".$config['FAIRYEAR']."'");
|
||||||
if(mysql_num_rows($q)==1)
|
if(mysql_num_rows($q)==1)
|
||||||
{
|
{
|
||||||
|
$summarywords=preg_split("/[\s,]+/",$_POST['summary']);
|
||||||
|
$summarywordcount=count($summarywords);
|
||||||
|
if($summarywordcount>$config['participant_project_summary_wordmax'])
|
||||||
|
$summarycountok=0;
|
||||||
|
else
|
||||||
|
$summarycountok=1;
|
||||||
|
|
||||||
mysql_query("UPDATE projects SET ".
|
mysql_query("UPDATE projects SET ".
|
||||||
"title='".mysql_escape_string(stripslashes($_POST['title']))."', ".
|
"title='".mysql_escape_string(stripslashes($_POST['title']))."', ".
|
||||||
"projectdivisions_id='".$_POST['projectdivisions_id']."', ".
|
"projectdivisions_id='".$_POST['projectdivisions_id']."', ".
|
||||||
@ -92,7 +99,8 @@ echo mysql_error();
|
|||||||
"req_table='".mysql_escape_string(stripslashes($_POST['req_table']))."', ".
|
"req_table='".mysql_escape_string(stripslashes($_POST['req_table']))."', ".
|
||||||
"req_electricity='".mysql_escape_string(stripslashes($_POST['req_electricity']))."', ".
|
"req_electricity='".mysql_escape_string(stripslashes($_POST['req_electricity']))."', ".
|
||||||
"req_special='".mysql_escape_string(stripslashes($_POST['req_special']))."', ".
|
"req_special='".mysql_escape_string(stripslashes($_POST['req_special']))."', ".
|
||||||
"summary='".mysql_escape_string(stripslashes($_POST['summary']))."' ".
|
"summary='".mysql_escape_string(stripslashes($_POST['summary']))."', ".
|
||||||
|
"summarycountok='$summarycountok'".
|
||||||
"WHERE id='".$_POST['id']."'");
|
"WHERE id='".$_POST['id']."'");
|
||||||
echo mysql_error();
|
echo mysql_error();
|
||||||
echo notice(i18n("Project information successfully updated"));
|
echo notice(i18n("Project information successfully updated"));
|
||||||
@ -154,8 +162,28 @@ else if($newstatus=="complete")
|
|||||||
echo happy(i18n("Project Information Complete"));
|
echo happy(i18n("Project Information Complete"));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
?>
|
||||||
|
|
||||||
|
<script language="javascript" type="text/javascript">
|
||||||
|
function countwords()
|
||||||
|
{
|
||||||
|
var wordmax=<?=$config['participant_project_summary_wordmax'];?>;
|
||||||
|
var summaryobj=document.getElementById('summary');
|
||||||
|
var wordcountobj=document.getElementById('wordcount');
|
||||||
|
var wordcountmessageobj=document.getElementById('wordcountmessage');
|
||||||
|
|
||||||
|
var wordarray=summaryobj.value.replace(/\s+/g," ").split(" ");
|
||||||
|
var wordcount=wordarray.length;
|
||||||
|
|
||||||
|
if(wordcount>wordmax)
|
||||||
|
wordcountmessageobj.className="incomplete";
|
||||||
|
else
|
||||||
|
wordcountmessageobj.className="complete";
|
||||||
|
|
||||||
|
wordcountobj.innerHTML=wordcount;
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<?
|
||||||
|
|
||||||
echo "<form name=\"projectform\" method=\"post\" action=\"register_participants_project.php\">\n";
|
echo "<form name=\"projectform\" method=\"post\" action=\"register_participants_project.php\">\n";
|
||||||
echo "<input type=\"hidden\" name=\"action\" value=\"save\">\n";
|
echo "<input type=\"hidden\" name=\"action\" value=\"save\">\n";
|
||||||
@ -242,8 +270,19 @@ else if($newstatus=="complete")
|
|||||||
|
|
||||||
echo "</td></tr>";
|
echo "</td></tr>";
|
||||||
|
|
||||||
echo "<tr><td>".i18n("Summary").": </td><td><textarea cols=\"60\" rows=\"12\" name=\"summary\">".htmlspecialchars($projectinfo->summary)."</textarea>".REQUIREDFIELD."<br />";
|
echo "<tr><td>".i18n("Summary").": </td><td><textarea onchange='countwords()' onkeypress='countwords()' cols=\"60\" rows=\"12\" id=\"summary\" name=\"summary\">".htmlspecialchars($projectinfo->summary)."</textarea>".REQUIREDFIELD."<br />";
|
||||||
echo i18n("100 words maximum");
|
|
||||||
|
$summarywords=preg_split("/[\s,]+/",$projectinfo->summary);
|
||||||
|
$summarywordcount=count($summarywords);
|
||||||
|
if($summarywordcount>$config['participant_project_summary_wordmax'])
|
||||||
|
echo "<div id=\"wordcountmessage\" class=\"incomplete\">";
|
||||||
|
else
|
||||||
|
echo "<div id=\"wordcountmessage\" class=\"complete\">";
|
||||||
|
|
||||||
|
echo "<span id=\"wordcount\">$summarywordcount</span>/";
|
||||||
|
echo i18n("%1 words maximum",array($config['participant_project_summary_wordmax']));
|
||||||
|
echo "</div>";
|
||||||
|
|
||||||
echo "</td></tr>";
|
echo "</td></tr>";
|
||||||
|
|
||||||
echo "</table>";
|
echo "</table>";
|
||||||
|
Loading…
Reference in New Issue
Block a user