我有一个用php / xml编写的旧密码保护网站,我想更新一些功能。目前,管理员可以创建多个合同工具(CV),然后创建链接到特定合同工具的任务订单(TO)。然后,管理员可以创建TO文件附件记录并链接/上载链接到mysql数据库中的TO文件附件记录的文档(即PDF,doc,excel等)。我想进行一项增强,网站管理员可以在创建TO文件附件记录时上传文件(即PDF,文本,doc,jpeg,tiff等),也可以稍后通过编辑功能添加到特定的TO文件附件记录。在这两种情况下,将显示特定TO文件附件记录的文件(文件链接路径)。 TO文件附件记录信息通过三(3)个不同的xml页面显示:
[list.xml /显示文件附件记录代码列表 - 开始]
(这是特定TO文件附件记录的详细信息以及与所述TO文件附件记录相关联的文件附件列表。此处管理员可以“添加”新的TO文件附件记录(通过选择ADD按钮,查看现有的TO文件附件记录(通过选择DETAILS按钮),或“删除”和现有的TO文件附件记录(通过选择DELETE按钮)。
<form>
<subtitle>Task Order - File Attachments</subtitle>
<fields>
<_count header="No" suffix="." width="30" align="center" />
<tofiles_title header="Title" align="left" />
<tofiles_post_date header="Date" type="date" params="M j, Y" align="center" width="100" />
</fields>
<header>
<titles>true</titles>
<buttons>
<delete onclick="" button="addnew" >
<location>index.php?sub=tofiles&action=add&tofiles_relation={RELATION}&tofiles_type={TYPE}&returnurl={CURRENT_PAGE}</location>
</delete>
</buttons>
</header>
<vars>
<relation import="$_GET['sup_id'] ? $_GET['sup_id'] : $_GET['product_id']" type="eval" />
<type import="$_GET['sup_id'] ? '1' : '2'" type="eval" />
</vars>
<buttons>
<delete onclick="" button="delete" >
<location>javascript:if(confirm('Are you sure you want to delete this record ?')) window.location='index.php?sub=tofiles&action=delete&tofiles_id={NOTE_ID}&returnURL={CURRENT_PAGE}'</location>
</delete>
<details onclick="" button="details" >
<location>index.php?sub=tofiles&action=det&tofiles_id={TOFILES_ID}&returnurl={CURRENT_PAGE}</location>
</details>
</buttons>
<SQL>
<vars>
<sql_table import="$this->tables['tofiles']" type="eval"/>
<relation import="$_GET['sup_id'] ? $_GET['sup_id'] : $_GET['product_id']" type="eval" />
<type import="$_GET['sup_id'] ? '1' : '2'" type="eval" />
<sql_condition import="WHERE tofiles_type='{TYPE}' AND tofiles_relation='{RELATION}' " type="var"/>
</vars>
<query>SELECT * FROM `{SQL_TABLE}` {SQL_CONDITION} ORDER BY tofiles_post_date DESC</query>
</SQL>
<items>100</items>
</form>
[list.xml /显示文件附件记录代码列表 - 结束]
[details.xml /显示文件附件记录详细信息代码 - 开始]
(这是管理员/用户可以选择下载附件的链接。)
<form>
<title>T/O Attachment Details</title>
<action>#</action>
<name>edit</name>
<width>580</width>
<formtag>true</formtag>
<border>true</border>
<buttons>
<set>
<footer>true</footer>
<header>true</header>
</set>
<return onclick="" button="return" >
<location>{PRIVATE.FORM_PREVIOUS_PAGE}</location>
</return>
<save onclick="" button="edit">
<location>index.php?sub=tofiles&action=edit&tofiles_id={TOFILES_ID}&returnurl={CURRENT_PAGE}</location>
</save>
</buttons>
<redirect>index.php?sub=users</redirect>
<vars>
<returnurl import="urldecode($_GET[returnURL])" type="eval" />
</vars>
<fields>
<user_id type="hidden" hidden="true"/>
<tofiles_title type="text">
<title>Title</title>
</tofiles_title>
<tofiles_body type="text" valign="top" font="normal">
<title>Description</title>
</tofiles_body>
<subtitle_log type="subtitle" title="Log Data" />
<tofiles_post_date type="text" action="date" params="F j, Y, g:i a">
<title>Post Date</title>
</tofiles_post_date>
<tofiles_post_ip type="text">
<title>Post Ip</title>
</tofiles_post_ip>
<tofiles_post_user type="relation">
<title>Post User</title>
<relation table="users" id="user_id" text="user_login" />
</tofiles_post_user>
</fields>
</form>
[details.xml /显示文件附件记录详细信息代码 - 结束]
[屏幕打印 - details.xml - 抱歉,您的系统不允许我发布屏幕打印]
[add.xml / Add / Edit TO TO File Attachment Record Information - BEGIN]
(这是管理员将文件“上传”到Web服务器的位置以及数据库的文件路径。)
<form>
<title>{PRIVATE.FORM_ACTION_TITLE} T/O - FFFile Attachments</title>
<action>index.php?sub=tofiles&action=store</action>
<name>edit</name>
<width>580</width>
<formtag>true</formtag>
<border>true</border>
<buttons>
<set>
<footer>true</footer>
<header>true</header>
</set>
<return onclick="" button="return">
<location>{PRIVATE.FORM_PREVIOUS_PAGE}</location>
</return>
<save onclick="" button="saveall">
<location>javascript:document.forms[0].submit();</location>
</save>
</buttons>
<redirect>index.php?sub=accounts</redirect>
<fields>
<tofiles_id type="hidden" hidden="true"/>
<tofiles_post_date type="hidden" default="time()" action="eval"/>
<tofiles_post_user type="hidden" default="$_SESSION[minibase][raw][user_id]" action="eval"/>
<tofiles_post_ip type="hidden" default="$_SERVER[REMOTE_ADDR]" action="eval"/>
<tofiles_relation type="hidden" default="$_GET[tofiles_relation]" action="eval"/>
<tofiles_type type="hidden" default="$_GET[tofiles_type]" action="eval"/>
<tofiles_title type="textbox" size="35" required="true" validate="A:2:200">
<title>Title</title>
</tofiles_title>
<tofiles_body type="textarea" size="60:5" required="true" validate="A:1:100000">
<title>Body</title>
</tofiles_body>
</fields>
</form>
[添加/编辑到文件附件记录信息 - 结束]
[屏幕打印 - add.xml - 抱歉,您的系统不允许我发布屏幕打印]
上传后,管理员和其他用户将能够查看TO文件附件记录信息并选择文件链接以下载与该特定TO相关联的上述文档。
所以,就像我说的,这是一个遗留网站,我在编写XML代码方面没有很多经验,所以我很感激能够提供一点见解的人。 THX!
增强评论:
增强请求非常简单:当创建与任务订单(TO)相关的TO文件附件记录时,或者在编辑所述TO文件附件记录期间,我希望能够附加/上传在mysql数据库(上面的add.xml网页)中的TO文件附件记录(即PDF,doc等)的文档。这将允许所述TO的观看者能够查看TO记录信息以及选择附件链接以下载和查看相关联的(链接的)文档(上面的details.xml网页)。我可以在以后提供更详细的信息(即db表架构等),但这是增强功能的基本要点。