[phpwebapp-commits] CVS: top10/templates/edit_project edit_project.php,1.1,1.2 edit_project.js,1.1,1
Brought to you by:
dashohoxha
From: Dashamir H. <das...@us...> - 2003-09-30 09:41:11
|
Update of /cvsroot/phpwebapp/top10/templates/edit_project In directory sc8-pr-cvs1:/tmp/cvs-serv15337/templates/edit_project Modified Files: edit_project.php edit_project.js edit_project.html edit_project.db Log Message: 'edit_project' finished Index: edit_project.php =================================================================== RCS file: /cvsroot/phpwebapp/top10/templates/edit_project/edit_project.php,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** edit_project.php 30 Sep 2003 07:06:02 -0000 1.1 --- edit_project.php 30 Sep 2003 09:41:07 -0000 1.2 *************** *** 27,31 **** function init() { ! $this->addSVar("mode", "add"); //it can be 'add' or 'edit' $this->addSVar("proj_id", UNDEFINED); } --- 27,31 ---- function init() { ! $this->addSVar("mode", "add"); //it can be 'add', 'edit' or 'done' $this->addSVar("proj_id", UNDEFINED); } *************** *** 47,53 **** } ! //insert the project and change the mode of the webbox WebApp::execDBCmd("insert_project", $event_args); ! //ToDo: insert also the project members $this->setSVar("proj_id", $proj_id); $this->setSVar("mode", "edit"); --- 47,56 ---- } ! //insert the project and save the members WebApp::execDBCmd("insert_project", $event_args); ! $members = $event_args["members"]; ! $this->save_proj_members($proj_id, $members); ! ! //change the mode of the webbox $this->setSVar("proj_id", $proj_id); $this->setSVar("mode", "edit"); *************** *** 56,72 **** function on_save($event_args) { $proj_id = $this->getSVar("proj_id"); ! if ($proj_id != $event_args["proj_id"]) ! { ! $msg = "You cannot change the project unix name"; ! WebApp::message($msg); ! return; ! } ! //... } function on_done($event_args) { ! } --- 59,104 ---- function on_save($event_args) { + WebApp::execDBCmd("update_project", $event_args); + + //save also the members $proj_id = $this->getSVar("proj_id"); ! $members = $event_args["members"]; ! $this->save_proj_members($proj_id, $members); } function on_done($event_args) { ! //save any latest changes ! $this->on_save($event_args); ! ! //notify admin by e-mail ! extract($event_args); ! $proj_id = $this->getSVar("proj_id"); ! $ip = $_SERVER["REMOTE_ADDR"]; ! $date = date("Y-m-d"); ! $subject = "Top10: New project: '$proj_id'"; ! $message = " ! date = '$date' ! ip = '$ip' ! proj_id = '$proj_id' ! proj_name = '$proj_name' ! group_id = '$group_id' ! category = '$category' ! license = '$license' ! prog_lang = '$prog_lang' ! register_date = '$register_date' ! proj_descr = '$proj_descr'"; ! mail(ADMIN_EMAIL, $subject, $message); ! ! //set the mode of edit_project to 'done' ! $this->setSVar("mode", "done"); ! ! //notification mesage to the user ! $msg = "Thank you for your submittion.\n" ! . "This project will be added in the list\n" ! . "after it is approved by the admin.\n" ! . "From now on it can be deleted or modified\n" ! . "only by admin: '".ADMIN_EMAIL."'."; ! WebApp::message($msg); } *************** *** 89,97 **** WebApp::addVars($tpl_vars); } ! else if ($mode=="edit") { $rs = WebApp::openRS("get_project"); WebApp::addVars($rs->Fields()); } } } --- 121,153 ---- WebApp::addVars($tpl_vars); } ! else { $rs = WebApp::openRS("get_project"); WebApp::addVars($rs->Fields()); + $rs = WebApp::openRS("get_proj_members"); + $arr_members = $rs->getColumn("username"); + WebApp::addVar("members", implode(",", $arr_members)); + } + } + + /** Saves the members of a project in the proj_members table. */ + function save_proj_members($proj_id, $members) + { + //first delete any existing members + WebApp::execDBCmd("del_proj_members", compact("proj_id")); + + if (trim($members)=='') return; //empty, nothing to save + + //insert the new members + $arr_insert_values = array(); + $arr_members = explode(",", $members); + for ($i=0; $i < sizeof($arr_members); $i++) + { + $username = trim($arr_members[$i]); + if ($username=='') continue; + $arr_insert_values[] = "('$proj_id', '$username')"; } + $insert_values = implode(",\n", $arr_insert_values); + WebApp::execDBCmd("save_proj_members", compact("insert_values")); } } Index: edit_project.js =================================================================== RCS file: /cvsroot/phpwebapp/top10/templates/edit_project/edit_project.js,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** edit_project.js 30 Sep 2003 07:06:02 -0000 1.1 --- edit_project.js 30 Sep 2003 09:41:07 -0000 1.2 *************** *** 3,7 **** function add_project() { ! save_project('add'); } --- 3,16 ---- function add_project() { ! var form = document.edit_project; ! ! //collect all the input in the form ! var event_args = getEventArgs(form); ! ! //save the input entered in the form, even if it is not ! //inserted in DB (e.g. because of any error) ! saveFormData(form); ! ! SendEvent("edit_project", "add", event_args); } *************** *** 11,28 **** } ! function save_project(event_name) { - if (event_name==null) event_name = "save"; - var form = document.edit_project; - - //collect all the input in the form var event_args = getEventArgs(form); ! ! //save the input entered in the form, even if it is not ! //inserted in DB (e.g. because of any error) ! saveFormData(form); ! ! SendEvent("edit_project", event_name, event_args); } --- 20,28 ---- } ! function save_project() { var form = document.edit_project; var event_args = getEventArgs(form); ! SendEvent("edit_project", "save", event_args); } *************** *** 34,38 **** if (!confirm(msg)) return; ! if (!no_empty_fields()) save_project('done'); } --- 34,43 ---- if (!confirm(msg)) return; ! if (no_empty_fields()) ! { ! var form = document.edit_project; ! var event_args = getEventArgs(form); ! SendEvent("edit_project", "done", event_args); ! } } Index: edit_project.html =================================================================== RCS file: /cvsroot/phpwebapp/top10/templates/edit_project/edit_project.html,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** edit_project.html 30 Sep 2003 07:06:02 -0000 1.1 --- edit_project.html 30 Sep 2003 09:41:07 -0000 1.2 *************** *** 4,8 **** </If> ! <If condition="'{{mode}}'=='edit'"> <h2>Project: <a href="http://sourceforge.net/projects/{{proj_id}}" target="_blank">{{proj_name}} ({{proj_id}})</a></h2> --- 4,8 ---- </If> ! <If condition="'{{mode}}'!='add'"> <h2>Project: <a href="http://sourceforge.net/projects/{{proj_id}}" target="_blank">{{proj_name}} ({{proj_id}})</a></h2> *************** *** 14,19 **** <td bgcolor="eeeeee">Project Unix Name:</td> <td bgcolor="#ffffff"> ! <input type="text" size="30" name="proj_id" value="{{proj_id}}" ! onfocus="select()"> </td> </tr> --- 14,24 ---- <td bgcolor="eeeeee">Project Unix Name:</td> <td bgcolor="#ffffff"> ! <If condition="'{{mode}}'=='add'"> ! <input type="text" size="30" name="proj_id" value="{{proj_id}}" ! onfocus="select()"> ! </If> ! <If condition="'{{mode}}'!='add'"> ! {{edit_project->proj_id}} ! </If> </td> </tr> *************** *** 84,87 **** --- 89,97 ---- <a class="button" href="javascript:save_project()">Save</a> <a class="button" href="javascript:done_editing()">Done</a> + </If> + <If condition="'{{mode}}'=='done'"> + <a class="button" href="javascript:SendEvent('module','add_new_project')"> + Add Another Project + </a> </If> Index: edit_project.db =================================================================== RCS file: /cvsroot/phpwebapp/top10/templates/edit_project/edit_project.db,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** edit_project.db 30 Sep 2003 07:06:02 -0000 1.1 --- edit_project.db 30 Sep 2003 09:41:07 -0000 1.2 *************** *** 8,11 **** --- 8,18 ---- </Recordset> + <Recordset ID="get_proj_members"> + <Query> + SELECT username FROM proj_members + WHERE proj_id = '{{edit_project->proj_id}}' + </Query> + </Recordset> + <Recordset ID="check_proj_id"> <Query> *************** *** 33,43 **** </dbCommand> ! <!--# --------------------------------- #--> ! <!--# members of the project #--> ! <Recordset ID="members"> <Query> ! SELECT username FROM proj_members WHERE proj_id = '{{proj_id}}' </Query> ! </Recordset> --- 40,69 ---- </dbCommand> ! <dbCommand ID="update_project"> ! <Query> ! UPDATE proj_list ! SET ! proj_name = '{{proj_name}}', ! proj_descr = '{{proj_descr}}', ! category = '{{category}}', ! license = '{{license}}', ! prog_lang = '{{prog_lang}}', ! register_date = '{{register_date}}', ! group_id = '{{group_id}}' ! WHERE proj_id = '{{edit_project->proj_id}}' ! </Query> ! </dbCommand> ! <dbCommand ID="del_proj_members"> <Query> ! DELETE FROM proj_members WHERE proj_id = '{{proj_id}}' </Query> ! </dbCommand> ! ! <dbCommand ID="save_proj_members"> ! <Query> ! INSERT INTO proj_members (proj_id, username) ! VALUES {{insert_values}} ! </Query> ! </dbCommand> |