[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>
|