templates.php
上传用户:gzy2002
上传日期:2010-02-11
资源大小:1785k
文件大小:24k
源码类别:

电子政务应用

开发平台:

Java

  1. <?php
  2. // +-------------------------------------------------------------+
  3. // | DeskPRO v [2.0.1 Production]
  4. // | Copyright (C) 2001 - 2004 Headstart Solutions Limited
  5. // | Supplied by WTN-WDYL
  6. // | Nullified by WTN-WDYL
  7. // | Distribution via WebForum, ForumRU and associated file dumps
  8. // +-------------------------------------------------------------+
  9. // | DESKPRO IS NOT FREE SOFTWARE
  10. // +-------------------------------------------------------------+
  11. // | License ID : Full Enterprise License =) ...
  12. // | License Owner : WTN-WDYL Team
  13. // +-------------------------------------------------------------+
  14. // | $RCSfile: templates.php,v $
  15. // | $Date: 2004/02/10 01:34:25 $
  16. // | $Revision: 1.75 $
  17. // +-------------------------------------------------------------+
  18. // | File Details:
  19. // | - User interface template maintenance, import, and export
  20. // |   (administration interface)
  21. // +-------------------------------------------------------------+
  22. error_reporting(E_ALL & ~E_NOTICE);
  23. include("./global.php");
  24. include "./../includes/functions/conditional_functions.php";
  25. include "./../includes/functions/devmode_functions.php";
  26. // default do
  27. $_REQUEST['do'] = trim($_REQUEST['do']);
  28. if (!isset($_REQUEST['do']) or $_REQUEST['do'] == "") {
  29. $_REQUEST['do'] = "view";
  30. }
  31. // globalise variables
  32. $global = array (
  33. array('category'),
  34. array('id')
  35. );
  36. rg($global);
  37. ########################################################################################
  38. ###############################     VIEW TEMPLATES     ###############################
  39. ########################################################################################
  40. if ($_REQUEST['do'] == "view") {
  41. admin_header('Styles', 'View User Templates');
  42. // get template categories
  43. $db->query("SELECT * FROM template_cat");
  44. while ($result = $db->row_array()) {
  45. $cats[$result['id']] = $result['name'];
  46. }
  47. /***************************************************
  48. DEFAULT TEMPLATES
  49. ***************************************************/
  50. // get default, non backup templates
  51. $db->query("
  52. SELECT * FROM template 
  53. WHERE custom = 0 
  54. AND backup = 0
  55. ORDER BY category, displayorder
  56. ");
  57. while ($template = $db->row_array()) {
  58. if ($lastcategory != $template[category]) {
  59. $table[] = table_midheader($cats[$template[category]]);
  60. }
  61. if ($template[upgraded] == "1") {
  62. $word = "<font color="red">CHANGED</font>";
  63. } elseif ($template[changed] == 1) {
  64. $word = "<font color="orange">EDITED</font>";
  65. } else {
  66. $word = '';
  67. }
  68. $bit = jprompt('Are you sure you want to restore this template to its original?\nAll your modifications will be lost', "templates.php?do=restore&id=$template[id]", 'Restore Default');
  69. // set if we have a restore to default link
  70. $table[] = array(
  71. "<b>$template[name]</b> $word",
  72. $template[description],
  73. iff($template[changed], $bit, ''),
  74. "<a href="templates.php?do=edit&id=$template[id]">Edit</a>"
  75. );
  76. $lastcategory = $template[category];
  77. }
  78. $width = array('20%', '40%', '15%', '15%');
  79. table_header("User Templates");
  80. table_content($columns, $table, '', '', '', '', $width, $bottomline);
  81. table_footer();
  82. unset($templates_temp, $table, $bottomline, $columns, $uncreated, $notemplate);
  83. /***************************************************
  84. CUSTOM TEMPLATES
  85. ***************************************************/
  86. // get custom templates
  87. $db->query("
  88. SELECT * FROM template 
  89. WHERE custom = 1
  90. AND backup = 0
  91. ");
  92. while ($template = $db->row_array()) {
  93. $templates_temp[] = $template[name];
  94. $bit = jprompt('Are you sure you want to delete this template?', "templates.php?do=restore&id=$template", 'Delete');
  95. $table[] = array(
  96. "<b>$template[name]</b>",
  97. $template[description],
  98. $bit,
  99. "<a href="templates.php?do=editcustom&id=$template[id]">Edit</a>"
  100. );
  101. }
  102. table_header("Custom Templates");
  103. table_content($cols, $table, '', '', '', '', $width, $bottomline);
  104. table_footer();
  105. echo "<b>KEY:</b><ul>
  106. <li><font color="red">CHANGED</font> : The template has been upgraded since you last changed it. You should find the changes made or revert the template.</li>
  107. <li><font color="orange">EDITED</font> : You have made changes to this template.</li>
  108. </ul>
  109. ";
  110. }
  111. ########################################################################################
  112. ############################### EDIT CUSTOM TEMPLATE   ###############################
  113. ########################################################################################
  114. /***************************************************
  115. QUERY TO UPDATE CUSTOM TEMPLATE
  116. ***************************************************/
  117. if ($_REQUEST['do'] == "editcustom2") {
  118. $temp = $db->query_return("SELECT name FROM template WHERE id = $id");
  119. $template = parse_conditionals($_REQUEST[template_unparsed]);
  120. // update descriptions and names
  121. $db->query("
  122. UPDATE template SET
  123. description = '" . mysql_escape_string($_REQUEST[description]) . "',
  124. category = $_REQUEST[category]
  125. WHERE name = '" . mysql_escape_string($temp[name]) . "'
  126. ");
  127. $db->query("
  128. UPDATE template SET
  129. template = '" . mysql_escape_string($template) . "',
  130. template_unparsed = '" . mysql_escape_string($_REQUEST[template_unparsed]) . "'
  131. WHERE id = $id
  132. ");
  133. jump("templates.php?do=view&category=$_REQUEST[category]", "Template Updated");
  134. }
  135. /***************************************************
  136. SHOW TO EDIT CUSTOM TEMPLATE
  137. ***************************************************/
  138. if ($_REQUEST['do'] == "editcustom") {
  139. admin_header('Styles', 'Edit User Templates');
  140. // get the category details
  141. $db->query("SELECT * FROM template_cat");
  142. while ($categories = $db->row_array()) {
  143. $cat[$categories[id]] = $categories[name];
  144. }
  145. $template = $db->query_return("SELECT *
  146. FROM template
  147. WHERE id = $id
  148. ");
  149. $table[] = array('<b>Name</b>', $template[name]);
  150. $bit = form_select('category', $cat, '', $template[category]);
  151. $table[] = array('<b>Category</b>', $bit);
  152. $bit = form_textarea('description', '120', '4', $template[description]);
  153. $table[] = array('<b>Description</b>', $bit);
  154. $bit = form_textarea('template_unparsed', '120', '40', $template[template_unparsed]);
  155. $table[] = array('<b>Template</b>', $bit);
  156. table_header("Edit Custom Template " . $template[name], 'templates.php', array('do' => 'editcustom2', 'id' => $id));
  157. table_content($columns, $table);
  158. table_footer('Edit Template');
  159. unset($table);
  160. }
  161. ########################################################################################
  162. ###############################     EDIT DEFAULT TEMPLATE     ###############################
  163. ########################################################################################
  164. /***************************************************
  165. QUERY TO UPDATE DEFAULT TEMPLATE
  166. ***************************************************/
  167. if ($_REQUEST['do'] == "edit2") {
  168. $temp = $db->query_return("SELECT category FROM template WHERE id = $id");
  169. $template = parse_conditionals($_REQUEST['template_unparsed']);
  170. $db->query("UPDATE template SET 
  171. template = '" . mysql_escape_string($template) . "',
  172. template_unparsed = '" . mysql_escape_string($_REQUEST['template_unparsed']) . "',
  173. " . iff(developer_check(1), "
  174. description = '" . mysql_escape_string($_REQUEST[description]) . "',
  175. category = '" . mysql_escape_string($_REQUEST[category]) . "',
  176. ") . "
  177. changed = 1 
  178. WHERE id = '$id'
  179. ");
  180. jump("templates.php?do=view&category=$temp[category]", "Template Updated");
  181. }
  182. /***************************************************
  183. SHOW TO EDIT DEFAULT TEMPLATE
  184. ***************************************************/
  185. if ($_REQUEST['do'] == "edit") {
  186. admin_header('Styles', 'Edit User Templates');
  187. // get the category details
  188. $db->query("SELECT * FROM template_cat");
  189. while ($categories = $db->row_array()) {
  190. $cat[$categories[id]] = $categories[name];
  191. }
  192. $template = $db->query_return("SELECT *
  193. FROM template
  194. WHERE id = $id
  195. ");
  196. $table[] = array('<b>Name</b>', $template[name]);
  197. if (developer_check(1)) {
  198. $table[] = array('<b>Category</b>', form_select('category', $cat, '', $template[category]));
  199. } else {
  200. $table[] = array('<b>Category</b>', $cat[$template[category]]);
  201. }
  202. if (developer_check(1)) {
  203. $table[] = array('<b>Description</b>', form_textarea('description', '70', '4', $template[description]));
  204. } else {
  205. $table[] = array('<b>Description</b>', $template[description]);
  206. }
  207. $backup = $db->query_return("SELECT * FROM template WHERE name = '$template[name]' AND backup = 1");
  208. $table[] = array('<b>Edit Template</b>', form_textarea('template_unparsed', '120', '15', $template[template_unparsed]));
  209. $table[] = array('<b>Backup Template</b>' , '<br /><b>Template shown for reference. Editing it will have no affect</b><br /><br />' .form_textarea('backup', '120', '10', $backup[template_unparsed])); 
  210. table_header("Edit Template " . $template[name], 'templates.php', array('do' => 'edit2', 'id' => $id));
  211. table_content($columns, $table);
  212. table_footer('Edit Template');
  213. unset($table);
  214. }
  215. ########################################################################################
  216. ###############################     CREATE TEMPLATES     ###############################
  217. ########################################################################################
  218. /***************************************************
  219. QUERY TO CREATE TEMPLATE
  220. ***************************************************/
  221. if ($_REQUEST['do'] == "add2") {
  222. $template = parse_conditionals($_REQUEST[template_unparsed]);
  223. // check template does not exist
  224. $db->query("SELECT id FROM template 
  225. WHERE name = '" . mysql_escape_string($_REQUEST[name]) . "'
  226. ");
  227. if ($db->num_rows() > 0) {
  228. alert('There is already a template with this name');
  229. $_REQUEST['do'] = 'add';
  230. } else {
  231. $db->query("
  232. INSERT into template SET
  233. name = '" . mysql_escape_string($_REQUEST['name']) . "',
  234. description = '" . mysql_escape_string($_REQUEST['description']) . "',
  235. template = '" . mysql_escape_string($template) . "',
  236. template_unparsed = '" . mysql_escape_string($_REQUEST['template_unparsed']) . "',
  237. custom = 1
  238. ");
  239. jump("templates.php?do=view&category=$_REQUEST[category]", "Template Created");
  240. }
  241. }
  242. /***************************************************
  243. SHOW TO CREATE NEW TEMPLATE
  244. ***************************************************/
  245. if ($_REQUEST['do'] == "add") {
  246. admin_header('Styles', 'Create Template');
  247. $bit = form_input('name', iff($_REQUEST[name], $_REQUEST[name], $template[name]));
  248. $table[] = array('<b>Name</b>', $bit);
  249. $bit = form_textarea('description', '60', '4', iff($_REQUEST[description], $_REQUEST[description], $template[description]));
  250. $table[] = array('<b>Description</b>', $bit);
  251. $bit = form_textarea('template_unparsed', '120', '40', iff($_REQUEST[template_unparsed], $_REQUEST[template_unparsed], $template[template_unparsed]));
  252. $table[] = array('<b>Template</b>', $bit);
  253. $extra = form_hidden('do', 'edit2');
  254. table_header("Create New Template", 'templates.php', array('do' => 'add2'));
  255. table_content($columns, $table);
  256. table_footer('Create Template');
  257. unset($table);
  258. }
  259. ########################################################################################
  260. ############################### RESTORE / DELETE TEMPLATES #############################
  261. ########################################################################################
  262. /***************************************************
  263. DELETE CUSTOM TEMPLATE
  264. ***************************************************/
  265. if ($_REQUEST['do'] == "delete") {
  266. $db->query("DELETE FROM template WHERE id = $id");
  267. jump("templates.php?do=view&category=$_REQUEST[category]", 'Custom template deleted');
  268. }
  269. /***************************************************
  270. RESTORE DEFAULT TEMPLATE FROM BACKUP
  271. ***************************************************/
  272. if ($_REQUEST['do'] == "restore") {
  273. $template = $db->query_return("SELECT * FROM template WHERE id = $id");
  274. if (!$db->num_rows()) {
  275. mistake('Template to restore not found.');
  276. }
  277. $template_backup = $db->query_return("
  278. SELECT * FROM template 
  279. WHERE name = '$template[name]'
  280. AND backup = 1
  281. ");
  282. if ($db->num_rows()) {
  283. $db->query("
  284. UPDATE template SET 
  285. template = '" . mysql_escape_string($template_backup[template]) . "',
  286. template_unparsed = '" . mysql_escape_string($template_backup[template_unparsed]) . "',
  287. upgraded = 0,
  288. changed = 0,
  289. backup = 0
  290. WHERE id = '$id'
  291. ");
  292. jump("templates.php?do=view&category=$_REQUEST[category]", "Template restored from backup");
  293. } else {
  294. mistake('Backup template not found');
  295. }
  296. }
  297. ########################################################################################
  298. ############################### SEARCH / REPLACE  ######################################
  299. ########################################################################################
  300. ############################### PREG REPLACE (!) ###############################
  301. if ($_REQUEST['do'] == "preg_replace") {
  302. admin_header('Styles', 'Template Search Results');
  303. $table[] = array('<b>Search For</b><br />Enter your search keyword', form_input('keyword'));
  304. $table[] = array('<b>Replace With</b><br />Text to replace with', form_input('replace'));
  305. $table[] = array('<b>Treat replace as PHP code</b>', '<input type="checkbox" name="phpcode" value="1">');
  306. table_header("Search for templates", 'templates.php', array('do' => 'preg_replace2'));
  307. table_content($columns, $table);
  308. table_footer('Search');
  309. }
  310. ############################### PREG REPLACE (2) ###############################
  311. if ($_REQUEST['do'] == "preg_replace2") {
  312. $db2 = new DB_Sql;
  313. $db2->User=constant('DATABASE_USER');
  314. $db2->Password=constant('DATABASE_PASSWORD');
  315. $db2->Host=constant('DATABASE_HOST');
  316. $db2->Database=constant('DATABASE_NAME');
  317. $db->query("SELECT id, name, template_unparsed FROM template");
  318. while ($result = $db->row_array()) {
  319. if ($_REQUEST[phpcode] == "1") {
  320. $newtemplate = preg_replace("/$_REQUEST[keyword]/siUe", $_REQUEST['replace'], $result['template_unparsed']);
  321. } else {
  322. $newtemplate = preg_replace("/$_REQUEST[keyword]/siU", $_REQUEST['replace'], $result['template_unparsed']);
  323. echo $newtemplate;
  324. }
  325. if ($newtemplate != $result[template_unparsed]) { 
  326. echo $result['template_unparsed'];
  327. echo $newtemplate;
  328. exit();
  329. }
  330. if ($newtemplate != $result[template_unparsed]) { 
  331. $parsed = parse_conditionals($newtemplate);
  332. /*
  333. $db2->query("UPDATE template 
  334. SET template_unparsed = '" . mysql_escape_string($newtemplate) . "',
  335. template = '" . mysql_escape_string($parsed) . "'
  336. WHERE id = '$result[id]'
  337. ");
  338. */
  339. echo $result[name] . '<br />';
  340. }
  341. }
  342. }
  343. ############################### FIND TEMPLATES ###############################
  344. if ($_REQUEST['do'] == "find") {
  345. admin_header('Styles', 'Find In Templates');
  346. $table[] = array('<b>Search For</b><br />Enter your search keyword', form_input('keyword'));
  347. $table[] = table_midheader('Replace');
  348. $table[] = array('<b>Run replacements</b>', '<input type="checkbox" name="doreplace" value="1">');
  349. $table[] = array('<b>Replace With</b><br />Text to replace with', form_input('replace'));
  350. table_header("Search for templates", 'templates.php', array('do' => 'find2'));
  351. table_content($columns, $table);
  352. table_footer('Search');
  353. unset($table);
  354. }
  355. ############################### FIND TEMPLATES ###############################
  356. if ($_REQUEST['do'] == "find2") {
  357. admin_header('Styles', 'Search Results');
  358. $db->query("SELECT * FROM template WHERE template_unparsed LIKE '%" . mysql_escape_string($_REQUEST[keyword]) . "%' $where");
  359. while ($template = $db->row_array()) {
  360. $template[template_unparsed] = str_replace($_REQUEST['keyword'], $_REQUEST['replace'], $template[template_unparsed]);
  361. $template[template] = parse_conditionals($template[template_unparsed]);
  362. $update_templates[] = array($template[id], $template[name], $template[template], $template[category], $template[description], $template[upgraded], $template[changed], $template[custom], $template[version_upgrade], $template[template_unparsed], $template[displayorder]);
  363. $table[] = array($template[name], $template[category]);
  364. $secondrow[] = "<textarea cols="100" rows="15">" . htmlspecialchars($template[template_unparsed]) . "</textarea>";
  365. }
  366. // echo multi_array2sql($update_templates);
  367. if ($_REQUEST['doreplace']) {
  368. $db->query("
  369. REPLACE INTO template (id, name, template, category, description, upgraded, changed, custom, version_upgrade, template_unparsed, displayorder) 
  370. VALUES " . multi_array2sql($update_templates) . "");
  371. } else {
  372. table_header("Search for templates", 'templates.php', array('do' => 'find2'));
  373. table_content($columns, $table, '', '', '', $secondrow);
  374. table_footer('Search');
  375. unset($table);
  376. }
  377. }
  378. ########################################################################################
  379. ###############################   DEVELOPER ONLY SECTION    ###############################
  380. ########################################################################################
  381. ############################### EXPORT TEMPLATES TO FILES ###############################
  382. if ($_REQUEST['do'] == "dev_export") {
  383. developer_check();
  384. admin_header('Styles', 'Export To Files');
  385. $location = dirname(__FILE__);
  386. $location .= '/templates/';
  387. dev_export_templates($location);
  388. echo "<P>Export completed.</P>n";
  389. }
  390. ############################# EXPORT MAIL TEMPLATES TO FILES #############################
  391. if ($_REQUEST['do'] == 'dev_export_mail') {
  392. developer_check();
  393. admin_header('Styles, Export Mail To Files');
  394. $languages = $db->query_return_array_id("SELECT id, name FROM languages", 'name');
  395. echo "<FORM METHOD="POST" ACTION="templates.php">";
  396. echo form_hidden('do', 'do_dev_export_mail');
  397. $languages['tech'] = "Tech Mails";
  398. $rows[] = array('<B>Languages to Export</B>', form_select('languages', $languages, NULL, array_keys($languages), NULL, NULL, 6));
  399. table_header("Select Languages to Export to /admin/templates/email/*");
  400. table_content(NULL, $rows);
  401. table_footer('Export Languages');
  402. exit;
  403. }
  404. if ($_REQUEST['do'] == 'do_dev_export_mail') {
  405. developer_check();
  406. admin_header('Styles', 'Export Mail To Files');
  407. if (ini_set('track_errors', 1) === FALSE) {
  408. $errors[] = "[WARNING] track_errors is not enabled and could not be enabled; detailed errors will not be available.";
  409. $php_errormsg = 'Unknown error.';
  410. }
  411. $location = dirname(__FILE__) . '/templates/email';
  412. dev_export_mail_templates($location);
  413. }
  414. ############################### IMPORT TEMPLATES FROM FILES ###############################
  415. if ($_REQUEST['do'] == 'dev_import') {
  416. admin_header('Styles', 'Import From Files');
  417. $location = dirname(__FILE__);
  418. $location .= '/templates/';
  419. dev_import_templates($location);
  420. echo "Import completed.<BR />";
  421. }
  422. ############################### IMPORT MAIL TEMPLATES FROM FILES ###############################
  423. if ($_REQUEST['do'] == 'dev_import_mail') {
  424. developer_check();
  425. admin_header('Styles', 'Import Mail From Files');
  426. $languages = $db->query_return_array_id("SELECT id, name FROM languages", 'name');
  427. $languages['tech'] = "Tech Mails";
  428. echo "<FORM METHOD="POST" ACTION="templates.php">";
  429. echo form_hidden('do', 'do_dev_import_mail');
  430. $rows[] = array('<B>Languages to Import</B>', form_select('languages', $languages, NULL, array_keys($languages), NULL, NULL, 6));
  431. table_header("Select Languages to Import to /admin/templates/email/*");
  432. table_content(NULL, $rows);
  433. table_footer('Import Languages');
  434. exit;
  435. }
  436. if ($_REQUEST['do'] == 'do_dev_import_mail') {
  437. developer_check();
  438. admin_header('Styles', 'Import Mail From Files');
  439. if (ini_set('track_errors', 1) === FALSE) {
  440. $errors[] = "[WARNING] track_errors is not enabled and could not be enabled; detailed errors will not be available.";
  441. $php_errormsg = 'Unknown error.';
  442. }
  443. $location = dirname(__FILE__) . '/templates/email';
  444. dev_import_mail_templates($location);
  445. }
  446. ############################### TEMPLATE MAINTENANCE ###############################
  447. if ($_REQUEST['do'] == "search_images") {
  448. developer_check();
  449. admin_header('Styles', 'Image Usage');
  450. if (is_win()) {
  451. echo "<B>Error:</B> This function is not currently supported on Windows platforms.";
  452. admin_footer();
  453. exit;
  454. }
  455. if (!chdir('../images')) {
  456. echo "<B>Error:</B> Couldn't chdir() to ../images/";
  457. admin_footer();
  458. exit;
  459. }
  460. $images = exec("find . -type f -name '*gif'", $output, $retval);
  461. if (!chdir('../')) {
  462. echo "<B>Error:</B> Couldn't chdir() to base of installation";
  463. admin_footer();
  464. exit;
  465. }
  466. if ($retval) {
  467. echo "<B>Error:</B> Find failed.";
  468. print_rr($output);
  469. admin_footer();
  470. exit;
  471. }
  472. if (is_array($output)) {
  473. $not_used = array();
  474. foreach ($output AS $image) {
  475. $image = substr($image, 2);
  476. unset($messages);
  477. exec('grep -onri "' . $image . '" *', $messages, $return);
  478. if (count($messages)) {
  479. foreach ($messages AS $message) {
  480. if (stristr($message, 'js') or stristr($message, 'php')) {
  481. $message = split(':', $message);
  482. $used[$image]['files'][$message[0]][] = array($message[1], $message[2]);
  483. $used[$image]['count']++;
  484. } elseif (stristr($message, 'html')) {
  485. $message = split(':', $message);
  486. $used[$image]['templates'][$message[0]][] = array($message[1], $message[2]);
  487. $used[$image]['count']++;
  488. }
  489. }
  490. }
  491. if (!$used[$image]['count']) {
  492. $not_used[] = $image;
  493. unset ($used[$image]);
  494. }
  495. }
  496. }
  497. if (is_array($used)) {
  498. print "<TABLE CELLPADDING="2" CELLSPACING="0">";
  499. $rowscount = 0;
  500. foreach($used AS $image => $use) {
  501. if ($rowscount % 2) {
  502. $bgcolor="#EEEEFF";
  503. } else {
  504. $bgcolor="white";
  505. }
  506. echo "<TR VALIGN="top" BGCOLOR="$bgcolor"><TD WIDTH="33%">$image (use count: $use[count])</TD>n";
  507. echo "<TD ROWSPAN="2" WIDTH="33%">";
  508. if (is_array($use['templates'])) {
  509. foreach ($use['templates'] AS $filename => $file) {
  510. echo "<TABLE><TR><TD COLSPAN="2">$filename</TD></TR>n";
  511. $lines = array();
  512. foreach ($file AS $linenum) {
  513. $lines[] = $linenum[0];
  514. }
  515. $lines = join(', ', $lines);
  516. echo "<TD>&nbsp;</TD><TD>Line number(s): $lines</TD></TR>n";
  517. echo "</TABLE>n";
  518. }
  519. } else {
  520. echo "Not used in any template.n";
  521. }
  522. echo "</TD>n";
  523. echo "<TD ROWSPAN="2" WIDTH="34%">";
  524. if (is_array($use['files'])) {
  525. foreach ($use['files'] AS $filename => $file) {
  526. echo "<TABLE><TR><TD COLSPAN="2">$filename</TD></TR>n";
  527. $lines = array();
  528. foreach ($file AS $linenum) {
  529. $lines[] = $linenum[0];
  530. }
  531. $lines = join(', ', $lines);
  532. echo "<TD>&nbsp;</TD><TD>Line number(s): $lines</TD></TR>n";
  533. echo "</TABLE>n";
  534. }
  535. } else {
  536. echo "Not used in any files.n";
  537. }
  538. echo "</TD>n";
  539. echo "</TR><TR VALIGN="top" BGCOLOR="$bgcolor"><TD>";
  540. $tmpimage = html_image($image);
  541. echo "<TABLE CELLPADDING="4"><TR VALIGN="top"><TD BGCOLOR="white">$tmpimage</TD><TD BGCOLOR="black">$tmpimage</TD></TR></TABLE>";
  542. echo "</TD></TR>n";
  543. $rowscount++;
  544. }
  545. echo "</TABLE>n";
  546. }
  547. print "<P><B>Unused Images:</B><BR>";
  548. if (is_array($not_used)) {
  549. if (count($not_used)) {
  550. print "<TABLE>";
  551. foreach($not_used AS $image) {
  552. $tmpimage = html_image($image);
  553. echo "<TR VALIGN="top"><TD VALIGN="top" ALIGN="right">$image</TD><TD><TABLE CELLPADDING="4"><TR><TD BGCOLOR="white">$tmpimage</TD><TD BGCOLOR="black">$tmpimage</TD></TR></TABLE></TD></TR>";
  554. }
  555. print "</TABLE>";
  556. } else {
  557. print "None";
  558. }
  559. } else {
  560. print "None";
  561. }
  562. print "</P>";
  563. exit;
  564. }