Jump to content


Corporate Sponsors


Latest News: (loading..)

* * * * - 8 votes

Article Manager v1.0


2085 replies to this topic

#121 kiefer_01

  • Community Member
  • 9 posts
  • Real Name:Martin Kiefer

Posted 16 March 2004, 17:15

Salvo, on Mar 15 2004, 09:28 AM, said:

Hi there,
I just realised it wasn't all the file.

I will post the remaing later.... "I am not at my computer now"..

Salvo
Hi

Did you forget?

/Martin

#122 Salvo

  • Community Member
  • 1,008 posts
  • Real Name:Salvo
  • Gender:Male

Posted 16 March 2004, 22:46

here you are.....
admin/article.php


<?php
/*
$Id: articles.php, v1.0 2003/12/04 12:00:00 ra Exp $

osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com

Copyright © 2003 osCommerce

Released under the GNU General Public License
*/

require('includes/application_top.php');

$action = (isset($HTTP_GET_VARS['action']) ? $HTTP_GET_VARS['action'] : '');

if (tep_not_null($action)) {
switch ($action) {
case 'setflag':
if ( ($HTTP_GET_VARS['flag'] == '0') || ($HTTP_GET_VARS['flag'] == '1') ) {
if (isset($HTTP_GET_VARS['aID'])) {
tep_set_article_status($HTTP_GET_VARS['aID'], $HTTP_GET_VARS['flag']);
}

if (USE_CACHE == 'true') {
tep_reset_cache_block('topics');
}
}

tep_redirect(tep_href_link(FILENAME_ARTICLES, 'tPath=' . $HTTP_GET_VARS['tPath'] . '&aID=' . $HTTP_GET_VARS['aID']));
break;
case 'new_topic':
case 'edit_topic':
$HTTP_GET_VARS['action']=$HTTP_GET_VARS['action'] . '_ACD';
break;
case 'insert_topic':
case 'update_topic':
if ( ($HTTP_POST_VARS['edit_x']) || ($HTTP_POST_VARS['edit_y']) ) {
$HTTP_GET_VARS['action'] = 'edit_topic_ACD';
} else {
if (isset($HTTP_POST_VARS['topics_id'])) $topics_id = tep_db_prepare_input($HTTP_POST_VARS['topics_id']);
if ($topics_id == '') {
$topics_id = tep_db_prepare_input($HTTP_GET_VARS['tID']);
}
$sort_order = tep_db_prepare_input($HTTP_POST_VARS['sort_order']);

$sql_data_array = array('sort_order' => $sort_order);

if ($action == 'insert_topic') {
$insert_sql_data = array('parent_id' => $current_topic_id,
'date_added' => 'now()');

$sql_data_array = array_merge($sql_data_array, $insert_sql_data);

tep_db_perform(TABLE_TOPICS, $sql_data_array);

$topics_id = tep_db_insert_id();
} elseif ($action == 'update_topic') {
$update_sql_data = array('last_modified' => 'now()');

$sql_data_array = array_merge($sql_data_array, $update_sql_data);

tep_db_perform(TABLE_TOPICS, $sql_data_array, 'update', "topics_id = '" . (int)$topics_id . "'");
}

$languages = tep_get_languages();
for ($i=0, $n=sizeof($languages); $i<$n; $i++) {

$language_id = $languages[$i]['id'];

$sql_data_array = array('topics_name' => tep_db_prepare_input($HTTP_POST_VARS['topics_name'][$language_id]),
'topics_heading_title' => tep_db_prepare_input($HTTP_POST_VARS['topics_heading_title'][$language_id]),
'topics_description' => tep_db_prepare_input($HTTP_POST_VARS['topics_description'][$language_id]));

if ($action == 'insert_topic') {
$insert_sql_data = array('topics_id' => $topics_id,
'language_id' => $languages[$i]['id']);

$sql_data_array = array_merge($sql_data_array, $insert_sql_data);

tep_db_perform(TABLE_TOPICS_DESCRIPTION, $sql_data_array);
} elseif ($action == 'update_topic') {
tep_db_perform(TABLE_TOPICS_DESCRIPTION, $sql_data_array, 'update', "topics_id = '" . (int)$topics_id . "' and language_id = '" . (int)$languages[$i]['id'] . "'");
}
}

if (USE_CACHE == 'true') {
tep_reset_cache_block('topics');
}

tep_redirect(tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&tID=' . $topics_id));
break;
}
case 'delete_topic_confirm':
if (isset($HTTP_POST_VARS['topics_id'])) {
$topics_id = tep_db_prepare_input($HTTP_POST_VARS['topics_id']);

$topics = tep_get_topic_tree($topics_id, '', '0', '', true);
$articles = array();
$articles_delete = array();

for ($i=0, $n=sizeof($topics); $i<$n; $i++) {
$article_ids_query = tep_db_query("select articles_id from " . TABLE_ARTICLES_TO_TOPICS . " where topics_id = '" . (int)$topics[$i]['id'] . "'");

while ($article_ids = tep_db_fetch_array($article_ids_query)) {
$articles[$article_ids['articles_id']]['topics'][] = $topics[$i]['id'];
}
}

reset($articles);
while (list($key, $value) = each($articles)) {
$topic_ids = '';

for ($i=0, $n=sizeof($value['topics']); $i<$n; $i++) {
$topic_ids .= "'" . (int)$value['topics'][$i] . "', ";
}
$topic_ids = substr($topic_ids, 0, -2);

$check_query = tep_db_query("select count(*) as total from " . TABLE_ARTICLES_TO_TOPICS . " where articles_id = '" . (int)$key . "' and topics_id not in (" . $topic_ids . ")");
$check = tep_db_fetch_array($check_query);
if ($check['total'] < '1') {
$articles_delete[$key] = $key;
}
}

// removing topics can be a lengthy process
tep_set_time_limit(0);
for ($i=0, $n=sizeof($topics); $i<$n; $i++) {
tep_remove_topic($topics[$i]['id']);
}

reset($articles_delete);
while (list($key) = each($articles_delete)) {
tep_remove_article($key);
}
}

if (USE_CACHE == 'true') {
tep_reset_cache_block('topics');
}

tep_redirect(tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath));
break;
case 'delete_article_confirm':
if (isset($HTTP_POST_VARS['articles_id']) && isset($HTTP_POST_VARS['article_topics']) && is_array($HTTP_POST_VARS['article_topics'])) {
$article_id = tep_db_prepare_input($HTTP_POST_VARS['articles_id']);
$article_topics = $HTTP_POST_VARS['article_topics'];

for ($i=0, $n=sizeof($article_topics); $i<$n; $i++) {
tep_db_query("delete from " . TABLE_ARTICLES_TO_TOPICS . " where articles_id = '" . (int)$article_id . "' and topics_id = '" . (int)$article_topics[$i] . "'");
}

$article_topics_query = tep_db_query("select count(*) as total from " . TABLE_ARTICLES_TO_TOPICS . " where articles_id = '" . (int)$article_id . "'");
$article_topics = tep_db_fetch_array($article_topics_query);

if ($article_topics['total'] == '0') {
tep_remove_article($article_id);
}
}

if (USE_CACHE == 'true') {
tep_reset_cache_block('topics');
}

tep_redirect(tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath));
break;
case 'move_topic_confirm':
if (isset($HTTP_POST_VARS['topics_id']) && ($HTTP_POST_VARS['topics_id'] != $HTTP_POST_VARS['move_to_topic_id'])) {
$topics_id = tep_db_prepare_input($HTTP_POST_VARS['topics_id']);
$new_parent_id = tep_db_prepare_input($HTTP_POST_VARS['move_to_topic_id']);

$path = explode('_', tep_get_generated_topic_path_ids($new_parent_id));

if (in_array($topics_id, $path)) {
$messageStack->add_session(ERROR_CANNOT_MOVE_TOPIC_TO_PARENT, 'error');

tep_redirect(tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&tID=' . $topics_id));
} else {
tep_db_query("update " . TABLE_TOPICS . " set parent_id = '" . (int)$new_parent_id . "', last_modified = now() where topics_id = '" . (int)$topics_id . "'");

if (USE_CACHE == 'true') {
tep_reset_cache_block('topics');
}

tep_redirect(tep_href_link(FILENAME_ARTICLES, 'tPath=' . $new_parent_id . '&tID=' . $topics_id));
}
}

break;
case 'move_article_confirm':
$articles_id = tep_db_prepare_input($HTTP_POST_VARS['articles_id']);
$new_parent_id = tep_db_prepare_input($HTTP_POST_VARS['move_to_topic_id']);

$duplicate_check_query = tep_db_query("select count(*) as total from " . TABLE_ARTICLES_TO_TOPICS . " where articles_id = '" . (int)$articles_id . "' and topics_id = '" . (int)$new_parent_id . "'");
$duplicate_check = tep_db_fetch_array($duplicate_check_query);
if ($duplicate_check['total'] < 1) tep_db_query("update " . TABLE_ARTICLES_TO_TOPICS . " set topics_id = '" . (int)$new_parent_id . "' where articles_id = '" . (int)$articles_id . "' and topics_id = '" . (int)$current_topic_id . "'");

if (USE_CACHE == 'true') {
tep_reset_cache_block('topics');
}

tep_redirect(tep_href_link(FILENAME_ARTICLES, 'tPath=' . $new_parent_id . '&aID=' . $articles_id));
break;
case 'insert_article':
case 'update_article':
if (isset($HTTP_POST_VARS['edit_x']) || isset($HTTP_POST_VARS['edit_y'])) {
$action = 'new_article';
} else {
if (isset($HTTP_GET_VARS['aID'])) $articles_id = tep_db_prepare_input($HTTP_GET_VARS['aID']);
$articles_date_available = tep_db_prepare_input($HTTP_POST_VARS['articles_date_available']);

$articles_date_available = (date('Y-m-d') < $articles_date_available) ? $articles_date_available : 'null';

$sql_data_array = array('articles_date_available' => $articles_date_available,
'articles_status' => tep_db_prepare_input($HTTP_POST_VARS['articles_status']),
'authors_id' => tep_db_prepare_input($HTTP_POST_VARS['authors_id']));
// Added Image Salvo
if (isset($HTTP_POST_VARS['articles_image']) && tep_not_null($HTTP_POST_VARS['articles_image']) && ($HTTP_POST_VARS['articles_image'] != 'none')) {
$sql_data_array['articles_image'] = tep_db_prepare_input($HTTP_POST_VARS['articles_image']);
}
// Added Image Salvo
if ($action == 'insert_article') {
// If expected article then articles_date _added becomes articles_date_available
if (isset($HTTP_POST_VARS['articles_date_available']) && tep_not_null($HTTP_POST_VARS['articles_date_available'])) {
$insert_sql_data = array('articles_date_added' => tep_db_prepare_input($HTTP_POST_VARS['articles_date_available']));
} else {
$insert_sql_data = array('articles_date_added' => 'now()');
}

$sql_data_array = array_merge($sql_data_array, $insert_sql_data);

tep_db_perform(TABLE_ARTICLES, $sql_data_array);
$articles_id = tep_db_insert_id();

tep_db_query("insert into " . TABLE_ARTICLES_TO_TOPICS . " (articles_id, topics_id) values ('" . (int)$articles_id . "', '" . (int)$current_topic_id . "')");
} elseif ($action == 'update_article') {
$update_sql_data = array('articles_last_modified' => 'now()');
// If expected article then articles_date _added becomes articles_date_available
if (isset($HTTP_POST_VARS['articles_date_available']) && tep_not_null($HTTP_POST_VARS['articles_date_available'])) {
$update_sql_data = array('articles_date_added' => tep_db_prepare_input($HTTP_POST_VARS['articles_date_available']));
}

$sql_data_array = array_merge($sql_data_array, $update_sql_data);

tep_db_perform(TABLE_ARTICLES, $sql_data_array, 'update', "articles_id = '" . (int)$articles_id . "'");
}

$languages = tep_get_languages();
for ($i=0, $n=sizeof($languages); $i<$n; $i++) {
$language_id = $languages[$i]['id'];

$sql_data_array = array('articles_name' => tep_db_prepare_input($HTTP_POST_VARS['articles_name'][$language_id]),
'articles_description' => tep_db_prepare_input($HTTP_POST_VARS['articles_description'][$language_id]),
'articles_url' => tep_db_prepare_input($HTTP_POST_VARS['articles_url'][$language_id]),
'articles_head_title_tag' => tep_db_prepare_input($HTTP_POST_VARS['articles_head_title_tag'][$language_id]),
'articles_head_desc_tag' => tep_db_prepare_input($HTTP_POST_VARS['articles_head_desc_tag'][$language_id]),
'articles_head_keywords_tag' => tep_db_prepare_input($HTTP_POST_VARS['articles_head_keywords_tag'][$language_id]));

if ($action == 'insert_article') {
$insert_sql_data = array('articles_id' => $articles_id,
'language_id' => $language_id);

$sql_data_array = array_merge($sql_data_array, $insert_sql_data);

tep_db_perform(TABLE_ARTICLES_DESCRIPTION, $sql_data_array);
} elseif ($action == 'update_article') {
tep_db_perform(TABLE_ARTICLES_DESCRIPTION, $sql_data_array, 'update', "articles_id = '" . (int)$articles_id . "' and language_id = '" . (int)$language_id . "'");
}
}

if (USE_CACHE == 'true') {
tep_reset_cache_block('topics');
}

tep_redirect(tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&aID=' . $articles_id));
}
break;
case 'copy_to_confirm':
if (isset($HTTP_POST_VARS['articles_id']) && isset($HTTP_POST_VARS['topics_id'])) {
$articles_id = tep_db_prepare_input($HTTP_POST_VARS['articles_id']);
$topics_id = tep_db_prepare_input($HTTP_POST_VARS['topics_id']);

if ($HTTP_POST_VARS['copy_as'] == 'link') {
if ($topics_id != $current_topic_id) {
$check_query = tep_db_query("select count(*) as total from " . TABLE_ARTICLES_TO_TOPICS . " where articles_id = '" . (int)$articles_id . "' and topics_id = '" . (int)$topics_id . "'");
$check = tep_db_fetch_array($check_query);
if ($check['total'] < '1') {
tep_db_query("insert into " . TABLE_ARTICLES_TO_TOPICS . " (articles_id, topics_id) values ('" . (int)$articles_id . "', '" . (int)$topics_id . "')");
}
} else {
$messageStack->add_session(ERROR_CANNOT_LINK_TO_SAME_TOPIC, 'error');
}
} elseif ($HTTP_POST_VARS['copy_as'] == 'duplicate') {
$article_query = tep_db_query("select articles_date_available, authors_id, articles_image from " . TABLE_ARTICLES . " where articles_id = '" . (int)$articles_id . "'");
$article = tep_db_fetch_array($article_query);

tep_db_query("insert into " . TABLE_ARTICLES . " (articles_date_added, articles_date_available, articles_status, authors_id, articles_image) values (now(), '" . tep_db_input($article['articles_date_available']) . "', '0', '" . (int)$article['authors_id'] . "','" . tep_db_input($articles['articles_image']) . "')");
$dup_articles_id = tep_db_insert_id();

$description_query = tep_db_query("select language_id, articles_name, articles_description, articles_url, articles_head_title_tag, articles_head_desc_tag, articles_head_keywords_tag from " . TABLE_ARTICLES_DESCRIPTION . " where articles_id = '" . (int)$articles_id . "'");
while ($description = tep_db_fetch_array($description_query)) {
tep_db_query("insert into " . TABLE_ARTICLES_DESCRIPTION . " (articles_id, language_id, articles_name, articles_description, articles_url, articles_head_title_tag, articles_head_desc_tag, articles_head_keywords_tag, articles_viewed) values ('" . (int)$dup_articles_id . "', '" . (int)$description['language_id'] . "', '" . tep_db_input($description['articles_name']) . "', '" . tep_db_input($description['articles_description']) . "', '" . tep_db_input($description['articles_url']) . "', '" . tep_db_input($description['articles_head_title_tag']) . "', '" . tep_db_input($description['articles_head_desc_tag']) . "', '" . tep_db_input($description['articles_head_keywords_tag']) . "', '0')");
}

tep_db_query("insert into " . TABLE_ARTICLES_TO_TOPICS . " (articles_id, topics_id) values ('" . (int)$dup_articles_id . "', '" . (int)$topics_id . "')");
$articles_id = $dup_articles_id;
}

if (USE_CACHE == 'true') {
tep_reset_cache_block('topics');
}
}

tep_redirect(tep_href_link(FILENAME_ARTICLES, 'tPath=' . $topics_id . '&aID=' . $articles_id));
break;
}
}

// check if the catalog image directory exists
if (is_dir(DIR_FS_CATALOG_IMAGES)) {
if (!is_writeable(DIR_FS_CATALOG_IMAGES)) $messageStack->add(ERROR_CATALOG_IMAGE_DIRECTORY_NOT_WRITEABLE, 'error');
} else {
$messageStack->add(ERROR_CATALOG_IMAGE_DIRECTORY_DOES_NOT_EXIST, 'error');
}
?>
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html <?php echo HTML_PARAMS; ?>>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
<?php
// BOF: WebMakers.com Changed: Header Tag Controller v1.0
// Replaced by header_tags.php
if ( file_exists(DIR_WS_INCLUDES . 'header_tags.php') ) {
require(DIR_WS_INCLUDES . 'header_tags.php');
} else {
?>
<title><?php echo TITLE ?></title>
<?php
}
// EOF: WebMakers.com Changed: Header Tag Controller v1.0
?>
<script language="Javascript1.2"><!-- // load htmlarea
// MaxiDVD Added WYSIWYG HTML Area Box + Admin Function v1.7 - 2.2 MS2 Articles Description HTML - Head
_editor_url = "<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_ADMIN; ?>htmlarea/"; // URL to htmlarea files
var win_ie_ver = parseFloat(navigator.appVersion.split("MSIE")[1]);
if (navigator.userAgent.indexOf('Mac') >= 0) { win_ie_ver = 0; }
if (navigator.userAgent.indexOf('Windows CE') >= 0) { win_ie_ver = 0; }
if (navigator.userAgent.indexOf('Opera') >= 0) { win_ie_ver = 0; }
<?php if (ARTICLE_MANAGER_WYSIWYG_BASIC == 'Basic'){ ?> if (win_ie_ver >= 5.5) {
document.write('<scr' + 'ipt src="' +_editor_url+ 'editor_basic.js"');
document.write(' language="Javascript1.2"></scr' + 'ipt>');
} else { document.write('<scr'+'ipt>function editor_generate() { return false; }</scr'+'ipt>'); }
<?php } else{ ?> if (win_ie_ver >= 5.5) {
document.write('<scr' + 'ipt src="' +_editor_url+ 'editor_advanced.js"');
document.write(' language="Javascript1.2"></scr' + 'ipt>');
} else { document.write('<scr'+'ipt>function editor_generate() { return false; }</scr'+'ipt>'); }
<?php }?>
// --></script>
<link rel="stylesheet" type="text/css" href="includes/stylesheet.css">
<script language="javascript" src="includes/general.js"></script>
</head>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#FFFFFF" onload="SetFocus();">
<div id="spiffycalendar" class="text"></div>
<!-- header //-->
<?php require(DIR_WS_INCLUDES . 'header.php'); ?>
<!-- header_eof //-->

<!-- body //-->
<table border="0" width="100%" cellspacing="2" cellpadding="2">
<tr>
<td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="1" cellpadding="1" class="columnLeft">
<!-- left_navigation //-->
<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>
<!-- left_navigation_eof //-->
</table></td>
<!-- body_text //-->
<td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">
<?php
//----- new_topic / edit_topic -----
if ($HTTP_GET_VARS['action'] == 'new_topic_ACD' || $HTTP_GET_VARS['action'] == 'edit_topic_ACD') {
if ( ($HTTP_GET_VARS['tID']) && (!$HTTP_POST_VARS) ) {
$topics_query = tep_db_query("select t.topics_id, td.topics_name, td.topics_heading_title, td.topics_description, t.parent_id, t.sort_order, t.date_added, t.last_modified from " . TABLE_TOPICS . " t, " . TABLE_TOPICS_DESCRIPTION . " td where t.topics_id = '" . $HTTP_GET_VARS['tID'] . "' and t.topics_id = td.topics_id and td.language_id = '" . $languages_id . "' order by t.sort_order, td.topics_name");
$topic = tep_db_fetch_array($topics_query);

$tInfo = new objectInfo($topic);
} elseif ($HTTP_POST_VARS) {
$tInfo = new objectInfo($HTTP_POST_VARS);
$topics_name = $HTTP_POST_VARS['topics_name'];
$topics_heading_title = $HTTP_POST_VARS['topics_heading_title'];
$topics_description = $HTTP_POST_VARS['topics_description'];
$topics_url = $HTTP_POST_VARS['topics_url'];
} else {
$tInfo = new objectInfo(array());
}

$languages = tep_get_languages();

$text_new_or_edit = ($HTTP_GET_VARS['action']=='new_topic_ACD') ? TEXT_INFO_HEADING_NEW_TOPIC : TEXT_INFO_HEADING_EDIT_TOPIC;
?>
<tr>
<td><table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td class="pageHeading"><?php echo sprintf($text_new_or_edit, tep_output_generated_topic_path($current_topic_id)); ?></td>
<td class="pageHeading" align="right"><?php echo tep_draw_separator('pixel_trans.gif', HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td>
</tr>
</table></td>
</tr>
<tr>
<td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
</tr>
<tr><?php echo tep_draw_form('new_topic', FILENAME_ARTICLES, 'tPath=' . $tPath . '&tID=' . $HTTP_GET_VARS['tID'] . '&action=new_topic_preview', 'post', 'enctype="multipart/form-data"'); ?>
<td><table border="0" cellspacing="0" cellpadding="2">
<?php
for ($i=0; $i<sizeof($languages); $i++) {
?>
<tr>
<td class="main"><?php if ($i == 0) echo TEXT_EDIT_TOPICS_NAME; ?></td>
<td class="main"><?php echo tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . '&nbsp;' . tep_draw_input_field('topics_name[' . $languages[$i]['id'] . ']', (($topics_name[$languages[$i]['id']]) ? stripslashes($topics_name[$languages[$i]['id']]) : tep_get_topic_name($tInfo->topics_id, $languages[$i]['id']))); ?></td>
</tr>
<?php
}
?>
<tr>
<td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
</tr>
<?php
for ($i=0; $i<sizeof($languages); $i++) {
?>
<tr>
<td class="main"><?php if ($i == 0) echo TEXT_EDIT_TOPICS_HEADING_TITLE; ?></td>
<td class="main"><?php echo tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . '&nbsp;' . tep_draw_input_field('topics_heading_title[' . $languages[$i]['id'] . ']', (($topics_name[$languages[$i]['id']]) ? stripslashes($topics_name[$languages[$i]['id']]) : tep_get_topic_heading_title($tInfo->topics_id, $languages[$i]['id']))); ?></td>
</tr>
<?php
}
?>
<tr>
<td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
</tr>
<?php
for ($i=0; $i<sizeof($languages); $i++) {
?>
<tr>
<td class="main" valign="top"><?php if ($i == 0) echo TEXT_EDIT_TOPICS_DESCRIPTION; ?></td>
<td><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="main" valign="top"><?php echo tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']); ?>&nbsp;</td>
<td class="main"><?php echo tep_draw_textarea_field('topics_description[' . $languages[$i]['id'] . ']', 'soft', '70', '15', (($topics_description[$languages[$i]['id']]) ? stripslashes($topics_description[$languages[$i]['id']]) : tep_get_topic_description($tInfo->topics_id, $languages[$i]['id']))); ?></td>
</tr>
</table></td>
</tr>
<?php
}
?>
<tr>
<td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
</tr>
<tr>
<td class="main"><?php echo TEXT_EDIT_SORT_ORDER; ?></td>
<td class="main"><?php echo tep_draw_separator('pixel_trans.gif', '24', '15') . '&nbsp;' . tep_draw_input_field('sort_order', $tInfo->sort_order, 'size="2"'); ?></td>
</tr>
<tr>
<td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
</tr>
</table></td>
</tr>
<tr>
<td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
</tr>
<tr>
<td class="main" align="right"><?php echo tep_draw_hidden_field('topics_date_added', (($tInfo->date_added) ? $tInfo->date_added : date('Y-m-d'))) . tep_draw_hidden_field('parent_id', $tInfo->parent_id) . tep_image_submit('button_preview.gif', IMAGE_PREVIEW) . '&nbsp;&nbsp;<a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&tID=' . $HTTP_GET_VARS['tID']) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>'; ?></td>
</form></tr>
<?php
//MaxiDVD Added WYSIWYG HTML Area Box + Admin Function v1.7 - 2.2 MS2 Articles Description HTML - </form>
if (ARTICLE_WYSIWYG_ENABLE == 'Enable') {
?>
<script language="JavaScript1.2" defer>
// MaxiDVD Added WYSIWYG HTML Area Box + Admin Function v1.7 Articles Description HTML - Head
var config = new Object();
config.width = "<?php echo ARTICLE_MANAGER_WYSIWYG_WIDTH; ?>px";
config.height = "<?php echo ARTICLE_MANAGER_WYSIWYG_HEIGHT; ?>px";
config.bodyStyle = 'background-color: <?php echo ARTICLE_MANAGER_WYSIWYG_BG_COLOUR; ?>; font-family: "<?php echo ARTICLE_MANAGER_WYSIWYG_FONT_TYPE; ?>"; color: <?php echo ARTICLE_MANAGER_WYSIWYG_FONT_COLOUR; ?>; font-size: <?php echo ARTICLE_MANAGER_WYSIWYG_FONT_SIZE; ?>pt;';
config.debug = <?php echo ARTICLE_MANAGER_WYSIWYG_DEBUG; ?>;
// More Configs can added here:
// Dreamscape added Dynamic Language Function
<?php for ($i = 0, $n = sizeof($languages); $i < $n; $i++) { ?>
editor_generate('topics_description[<?php echo $languages[$i]['id']; ?>]',config);
<?php } ?>
</script>
<?php
}
//----- new_topic_preview -----
} elseif ($HTTP_GET_VARS['action'] == 'new_topic_preview') {
if ($HTTP_POST_VARS) {
$tInfo = new objectInfo($HTTP_POST_VARS);
$topics_name = $HTTP_POST_VARS['topics_name'];
$topics_heading_title = $HTTP_POST_VARS['topics_heading_title'];
$topics_description = $HTTP_POST_VARS['topics_description'];
} else {
$topic_query = tep_db_query("select t.topics_id, td.language_id, td.topics_name, td.topics_heading_title, td.topics_description, t.sort_order, t.date_added, t.last_modified from " . TABLE_TOPICS . " t, " . TABLE_TOPICS_DESCRIPTION . " td where t.topics_id = td.topics_id and t.topics_id = '" . $HTTP_GET_VARS['tID'] . "'");
$topic = tep_db_fetch_array($topic_query);

$tInfo = new objectInfo($topic);
}

$form_action = ($HTTP_GET_VARS['tID']) ? 'update_topic' : 'insert_topic';

echo tep_draw_form($form_action, FILENAME_ARTICLES, 'tPath=' . $tPath . '&tID=' . $HTTP_GET_VARS['tID'] . '&action=' . $form_action, 'post', 'enctype="multipart/form-data"');

$languages = tep_get_languages();
for ($i=0; $i<sizeof($languages); $i++) {
if ($HTTP_GET_VARS['read'] == 'only') {
$tInfo->topics_name = tep_get_topic_name($tInfo->topics_id, $languages[$i]['id']);
$tInfo->topics_heading_title = tep_get_topic_heading_title($tInfo->topics_id, $languages[$i]['id']);
$tInfo->topics_description = tep_get_topic_description($tInfo->topics_id, $languages[$i]['id']);
} else {
$tInfo->topics_name = tep_db_prepare_input($topics_name[$languages[$i]['id']]);
$tInfo->topics_heading_title = tep_db_prepare_input($topics_heading_title[$languages[$i]['id']]);
$tInfo->topics_description = tep_db_prepare_input($topics_description[$languages[$i]['id']]);
}
?>
<tr>
<td><table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td class="pageHeading"><?php echo tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . '&nbsp;' . $tInfo->topics_heading_title; ?></td>
</tr>
</table></td>
</tr>
<tr>
<td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
</tr>
<tr>
<td class="main"><?php echo $tInfo->topics_description; ?></td>
</tr>

<?php
}
if ($HTTP_GET_VARS['read'] == 'only') {
if ($HTTP_GET_VARS['origin']) {
$pos_params = strpos($HTTP_GET_VARS['origin'], '?', 0);
if ($pos_params != false) {
$back_url = substr($HTTP_GET_VARS['origin'], 0, $pos_params);
$back_url_params = substr($HTTP_GET_VARS['origin'], $pos_params + 1);
} else {
$back_url = $HTTP_GET_VARS['origin'];
$back_url_params = '';
}
} else {
$back_url = FILENAME_ARTICLES;
$back_url_params = 'tPath=' . $tPath . '&tID=' . $tInfo->topics_id;
}
?>
<tr>
<td align="right"><?php echo '<a href="' . tep_href_link($back_url, $back_url_params, 'NONSSL') . '">' . tep_image_button('button_back.gif', IMAGE_BACK) . '</a>'; ?></td>
</tr>
<?php
} else {
?>
<tr>
<td align="right" class="smallText">
<?php
/* Re-Post all POST'ed variables */
reset($HTTP_POST_VARS);
while (list($key, $value) = each($HTTP_POST_VARS)) {
if (!is_array($HTTP_POST_VARS[$key])) {
echo tep_draw_hidden_field($key, htmlspecialchars(stripslashes($value)));
}
}
$languages = tep_get_languages();
for ($i=0; $i<sizeof($languages); $i++) {
echo tep_draw_hidden_field('topics_name[' . $languages[$i]['id'] . ']', htmlspecialchars(stripslashes($topics_name[$languages[$i]['id']])));
echo tep_draw_hidden_field('topics_heading_title[' . $languages[$i]['id'] . ']', htmlspecialchars(stripslashes($topics_heading_title[$languages[$i]['id']])));
echo tep_draw_hidden_field('topics_description[' . $languages[$i]['id'] . ']', htmlspecialchars(stripslashes($topics_description[$languages[$i]['id']])));
}

echo tep_image_submit('button_back.gif', IMAGE_BACK, 'name="edit"') . '&nbsp;&nbsp;';

if ($HTTP_GET_VARS['tID']) {
echo tep_image_submit('button_update.gif', IMAGE_UPDATE);
} else {
echo tep_image_submit('button_insert.gif', IMAGE_INSERT);
}
echo '&nbsp;&nbsp;<a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&tID=' . $HTTP_GET_VARS['tID']) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>';
?></td>
</form></tr>
<?php
}
} elseif ($action == 'new_article') {
$parameters = array('articles_name' => '',
'articles_description' => '',
'articles_url' => '',
'articles_head_title_tag' => '',
'articles_head_desc_tag' => '',
'articles_head_keywords' => '',
'articles_id' => '',
'articles_image' => '',
'articles_date_added' => '',
'articles_last_modified' => '',
'articles_date_available' => '',
'articles_status' => '',
'authors_id' => '');

$aInfo = new objectInfo($parameters);

if (isset($HTTP_GET_VARS['aID']) && empty($HTTP_POST_VARS)) {
$article_query = tep_db_query("select ad.articles_name, ad.articles_description, ad.articles_url, ad.articles_head_title_tag, ad.articles_head_desc_tag, ad.articles_head_keywords_tag, a.articles_id, a.articles_date_added, a.articles_last_modified, date_format(a.articles_date_available, '%Y-%m-%d') as articles_date_available, a.articles_status, a.authors_id, a.articles_image from " . TABLE_ARTICLES . " a, " . TABLE_ARTICLES_DESCRIPTION . " ad where a.articles_id = '" . (int)$HTTP_GET_VARS['aID'] . "' and a.articles_id = ad.articles_id and ad.language_id = '" . (int)$languages_id . "'");
$article = tep_db_fetch_array($article_query);

$aInfo->objectInfo($article);
} elseif (tep_not_null($HTTP_POST_VARS)) {
$aInfo->objectInfo($HTTP_POST_VARS);
$articles_name = $HTTP_POST_VARS['articles_name'];
$articles_description = $HTTP_POST_VARS['articles_description'];
$articles_url = $HTTP_POST_VARS['articles_url'];
$articles_head_title_tag = $HTTP_POST_VARS['articles_head_title_tag'];
$articles_head_desc_tag = $HTTP_POST_VARS['articles_head_desc_tag'];
$articles_head_keywords_tag = $HTTP_POST_VARS['articles_head_keywords_tag'];
}

$authors_array = array(array('id' => '', 'text' => TEXT_NONE));
$authors_query = tep_db_query("select authors_id, authors_name from " . TABLE_AUTHORS . " order by authors_name");
while ($authors = tep_db_fetch_array($authors_query)) {
$authors_array[] = array('id' => $authors['authors_id'],
'text' => $authors['authors_name']);
}

$languages = tep_get_languages();

if (!isset($aInfo->articles_status)) $aInfo->articles_status = '1';
switch ($aInfo->articles_status) {
case '0': $in_status = false; $out_status = true; break;
case '1':
default: $in_status = true; $out_status = false;
}
?>
<link rel="stylesheet" type="text/css" href="includes/javascript/spiffyCal/spiffyCal_v2_1.css">
<script language="JavaScript" src="includes/javascript/spiffyCal/spiffyCal_v2_1.js"></script>
<script language="javascript">
<!--
var dateAvailable = new ctlSpiffyCalendarBox("dateAvailable", "new_article", "articles_date_available","btnDate1","<?php echo $aInfo->articles_date_available; ?>",scBTNMODE_CUSTOMBLUE);
-->
</script>
<?php echo tep_draw_form('new_article', FILENAME_ARTICLES, 'tPath=' . $tPath . (isset($HTTP_GET_VARS['aID']) ? '&aID=' . $HTTP_GET_VARS['aID'] : '') . '&action=article_preview', 'post', 'enctype="multipart/form-data"'); ?>
<table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr>
<td><table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td class="pageHeading"><?php echo sprintf(TEXT_NEW_ARTICLE, tep_output_generated_topic_path($current_topic_id)); ?></td>
<td class="pageHeading" align="right"><?php echo tep_draw_separator('pixel_trans.gif', HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td>
</tr>
</table></td>
</tr>
<tr>
<td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
</tr>
<tr>
<td><table border="0" cellspacing="0" cellpadding="2">
<tr>
<td class="main"><?php echo TEXT_ARTICLES_STATUS; ?></td>
<td class="main"><?php echo tep_draw_separator('pixel_trans.gif', '24', '15') . '&nbsp;' . tep_draw_radio_field('articles_status', '0', $out_status) . '&nbsp;' . TEXT_ARTICLE_NOT_AVAILABLE . '&nbsp;' . tep_draw_radio_field('articles_status', '1', $in_status) . '&nbsp;' . TEXT_ARTICLE_AVAILABLE; ?></td>
</tr>
<tr>
<td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
</tr>
<tr>
<td class="main"><?php echo TEXT_ARTICLES_DATE_AVAILABLE; ?><br><small>(YYYY-MM-DD)</small></td>
<td class="main"><?php echo tep_draw_separator('pixel_trans.gif', '24', '15') . '&nbsp;'; ?><script language="javascript">dateAvailable.writeControl(); dateAvailable.dateFormat="yyyy-MM-dd";</script></td>
</tr>
<tr>
<td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
</tr>
<tr>
<tr>
<td class="main"><?php echo TEXT_ARTICLES_AUTHOR; ?></td>
<td class="main"><?php echo tep_draw_separator('pixel_trans.gif', '24', '15') . '&nbsp;' . tep_draw_pull_down_menu('authors_id', $authors_array, $aInfo->authors_id); ?></td>
</tr>
<tr>
<td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
</tr>
<?php
for ($i=0, $n=sizeof($languages); $i<$n; $i++) {
?>
<tr>
<td class="main"><?php if ($i == 0) echo TEXT_ARTICLES_NAME; ?></td>
<td class="main"><?php echo tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . '&nbsp;' . tep_draw_input_field('articles_name[' . $languages[$i]['id'] . ']', (isset($articles_name[$languages[$i]['id']]) ? $articles_name[$languages[$i]['id']] : tep_get_articles_name($aInfo->articles_id, $languages[$i]['id'])), 'size="35"'); ?></td>
</tr>
<?php
}
?>
<tr>
<td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
</tr>
<?php
for ($i=0, $n=sizeof($languages); $i<$n; $i++) {
?>
<tr bgcolor="#ffffcc">
<td class="main"><?php if ($i == 0) echo TEXT_ARTICLES_HEAD_TITLE_TAG; ?></td>
<td class="main"><?php echo tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . '&nbsp;' . tep_draw_input_field('articles_head_title_tag[' . $languages[$i]['id'] . ']', (isset($articles_head_title_tag[$languages[$i]['id']]) ? $articles_head_title_tag[$languages[$i]['id']] : tep_get_articles_head_title_tag($aInfo->articles_id, $languages[$i]['id'])), 'size="35"'); ?></td>
</tr>
<?php
}
?>
<tr bgcolor="#ffffcc">
<td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
</tr>
<?php
for ($i=0, $n=sizeof($languages); $i<$n; $i++) {
?>
<tr bgcolor="#ffffcc">
<td class="main" valign="top"><?php if ($i == 0) echo sprintf(TEXT_ARTICLES_HEAD_DESC_TAG, MAX_ARTICLE_ABSTRACT_LENGTH); ?></td>
<td><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="main" valign="top"><?php echo tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']); ?>&nbsp;</td>
<td class="main"><?php echo tep_draw_textarea_field('articles_head_desc_tag[' . $languages[$i]['id'] . ']', 'soft', '70', '5', (isset($articles_head_desc_tag[$languages[$i]['id']]) ? $articles_head_desc_tag[$languages[$i]['id']] : tep_get_articles_head_desc_tag($aInfo->articles_id, $languages[$i]['id']))); ?></td>
</tr>
</table></td>
</tr>
<?php
}
?>
<tr bgcolor="#ffffcc">
<td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
</tr>
<?php
for ($i=0, $n=sizeof($languages); $i<$n; $i++) {
?>
<tr bgcolor="#ffffcc">
<td class="main" valign="top"><?php if ($i == 0) echo TEXT_ARTICLES_HEAD_KEYWORDS_TAG; ?></td>
<td><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="main" valign="top"><?php echo tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']); ?>&nbsp;</td>
<td class="main"><?php echo tep_draw_textarea_field('articles_head_keywords_tag[' . $languages[$i]['id'] . ']', 'soft', '70', '5', (isset($articles_head_keywords_tag[$languages[$i]['id']]) ? $articles_head_keywords_tag[$languages[$i]['id']] : tep_get_articles_head_keywords_tag($aInfo->articles_id, $languages[$i]['id']))); ?></td>
</tr>
</table></td>
</tr>
<?php
}
?>
<tr>
<td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
</tr>

<?php
for ($i=0, $n=sizeof($languages); $i<$n; $i++) {
?>
<tr>
<td class="main" valign="top"><?php if ($i == 0) echo TEXT_ARTICLES_DESCRIPTION; ?></td>
<td><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="main" valign="top"><?php echo tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']); ?>&nbsp;</td>
<td class="main"><?php echo tep_draw_textarea_field('articles_description[' . $languages[$i]['id'] . ']', 'soft', '70', '15', (isset($articles_description[$languages[$i]['id']]) ? $articles_description[$languages[$i]['id']] : tep_get_articles_description($aInfo->articles_id, $languages[$i]['id']))); ?></td>
</tr>
</table></td>
</tr>
<?php
}
?>
<tr>
<td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
</tr>

<tr>
<td class="main"><?php echo TEXT_PRODUCTS_IMAGE; ?></td>
<td class="main"><?php echo tep_draw_separator('pixel_trans.gif', '24', '15') . '&nbsp;' . tep_draw_file_field('articles_image') . '<br>' . tep_draw_separator('pixel_trans.gif', '24', '15') . '&nbsp;' . $aInfo->articles_image . tep_draw_hidden_field('articles_previous_image', $aInfo->articles_image); ?></td>
</tr>

<?php
for ($i=0, $n=sizeof($languages); $i<$n; $i++) {
?>
<tr>
<td class="main"><?php if ($i == 0) echo TEXT_ARTICLES_URL . '<br><small>' . TEXT_ARTICLES_URL_WITHOUT_HTTP . '</small>'; ?></td>
<td class="main"><?php echo tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . '&nbsp;' . tep_draw_input_field('articles_url[' . $languages[$i]['id'] . ']', (isset($articles_url[$languages[$i]['id']]) ? $articles_url[$languages[$i]['id']] : tep_get_articles_url($aInfo->articles_id, $languages[$i]['id'])), 'size="35"'); ?></td>
</tr>
<?php
}
?>
</table></td>
</tr>
<tr>
<td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
</tr>
<tr>
<td class="main" align="right"><?php echo tep_draw_hidden_field('articles_date_added', (tep_not_null($aInfo->articles_date_added) ? $aInfo->articles_date_added : date('Y-m-d'))) . tep_image_submit('button_preview.gif', IMAGE_PREVIEW) . '&nbsp;&nbsp;<a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . (isset($HTTP_GET_VARS['aID']) ? '&aID=' . $HTTP_GET_VARS['aID'] : '')) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>'; ?></td>
</tr>
</table></form>
<?php
//MaxiDVD Added WYSIWYG HTML Area Box + Admin Function v1.7 - 2.2 MS2 Articles Description HTML - </form>
if (ARTICLE_WYSIWYG_ENABLE == 'Enable') {
?>
<script language="JavaScript1.2" defer>
var config = new Object(); // create new config object
config.width = "<?php echo ARTICLE_MANAGER_WYSIWYG_WIDTH; ?>px";
config.height = "<?php echo ARTICLE_MANAGER_WYSIWYG_HEIGHT; ?>px";
config.bodyStyle = 'background-color: <?php echo ARTICLE_MANAGER_WYSIWYG_BG_COLOUR; ?>; font-family: "<?php echo ARTICLE_MANAGER_WYSIWYG_FONT_TYPE; ?>"; color: <?php echo ARTICLE_MANAGER_WYSIWYG_FONT_COLOUR; ?>; font-size: <?php echo ARTICLE_MANAGER_WYSIWYG_FONT_SIZE; ?>pt;';
config.debug = <?php echo ARTICLE_MANAGER_WYSIWYG_DEBUG; ?>;
<?php for ($i = 0, $n = sizeof($languages); $i < $n; $i++) { ?>
editor_generate('articles_description[<?php echo $languages[$i]['id']; ?>]',config);
<?php } ?>
config.height = "35px";
config.bodyStyle = 'background-color: white; font-family: Arial; color: black; font-size: 12px;';
config.toolbar = [ ['InsertImageURL'] ];
config.OscImageRoot = '<?= trim(HTTP_SERVER . DIR_WS_CATALOG_IMAGES) ?>';
</script>
<?php
}
} elseif ($action == 'article_preview') {
if (tep_not_null($HTTP_POST_VARS)) {
$aInfo = new objectInfo($HTTP_POST_VARS);
$articles_name = $HTTP_POST_VARS['articles_name'];
$articles_description = $HTTP_POST_VARS['articles_description'];
$articles_url = $HTTP_POST_VARS['articles_url'];
$articles_head_title_tag = $HTTP_POST_VARS['articles_head_title_tag'];
$articles_head_desc_tag = $HTTP_POST_VARS['articles_head_desc_tag'];
$articles_head_keywords_tag = $HTTP_POST_VARS['articles_head_keywords_tag'];
} else {
$article_query = tep_db_query("select a.articles_id, a.articles_image, ad.language_id, ad.articles_name, ad.articles_description, ad.articles_url, ad.articles_head_title_tag, ad.articles_head_desc_tag, ad.articles_head_keywords_tag, a.articles_date_added, a.articles_last_modified, a.articles_date_available, a.articles_status, a.authors_id from " . TABLE_ARTICLES . " a, " . TABLE_ARTICLES_DESCRIPTION . " ad where a.articles_id = ad.articles_id and a.articles_id = '" . (int)$HTTP_GET_VARS['aID'] . "'");
$article = tep_db_fetch_array($article_query);

$aInfo = new objectInfo($article);
// Added Salvo Image
$articles_image_name = $aInfo->articles_image;
//
}

$form_action = (isset($HTTP_GET_VARS['aID'])) ? 'update_article' : 'insert_article';

echo tep_draw_form($form_action, FILENAME_ARTICLES, 'tPath=' . $tPath . (isset($HTTP_GET_VARS['aID']) ? '&aID=' . $HTTP_GET_VARS['aID'] : '') . '&action=' . $form_action, 'post', 'enctype="multipart/form-data"');

$languages = tep_get_languages();
for ($i=0, $n=sizeof($languages); $i<$n; $i++) {
if (isset($HTTP_GET_VARS['read']) && ($HTTP_GET_VARS['read'] == 'only')) {
$aInfo->articles_name = tep_get_articles_name($aInfo->articles_id, $languages[$i]['id']);
$aInfo->articles_description = tep_get_articles_description($aInfo->articles_id, $languages[$i]['id']);
$aInfo->articles_url = tep_get_articles_url($aInfo->articles_id, $languages[$i]['id']);
$aInfo->articles_head_title_tag = tep_get_articles_head_title_tag($aInfo->articles_id, $languages[$i]['id']);
$aInfo->articles_head_desc_tag = tep_get_articles_head_desc_tag($aInfo->articles_id, $languages[$i]['id']);
$aInfo->articles_head_keywords_tag = tep_get_articles_head_keywords_tag($aInfo->articles_id, $languages[$i]['id']);
} else {
$aInfo->articles_name = tep_db_prepare_input($articles_name[$languages[$i]['id']]);
$aInfo->articles_description = tep_db_prepare_input($articles_description[$languages[$i]['id']]);
$aInfo->articles_url = tep_db_prepare_input($articles_url[$languages[$i]['id']]);
$aInfo->articles_head_title_tag = tep_db_prepare_input($articles_head_title_tag[$languages[$i]['id']]);
$aInfo->articles_head_desc_tag = tep_db_prepare_input($articles_head_desc_tag[$languages[$i]['id']]);
$aInfo->articles_head_keywords_tag = tep_db_prepare_input($articles_head_keyw

#123 Salvo

  • Community Member
  • 1,008 posts
  • Real Name:Salvo
  • Gender:Male

Posted 16 March 2004, 22:47

I have tried, but it is too long. it cuts it..

so I will upload it tomorrow as a zip file in the contribution

Sorry

Edited by Salvo, 16 March 2004, 22:51.


#124 maz

  • Community Member
  • 161 posts
  • Real Name:mazhar

Posted 17 March 2004, 10:20

Hi

Articles Manager works fine, except that it does not display the WYSIWYG editor and at the bottom of the explorer window it shows a javascript error:

Line: 351 Char;29 Error: Syntax error Code:0
URL: http://mysite/catalog/admin/articles.php?t...ion=new_article

In my setup, Line 351 on articles.php is
} else { document.write('<scr'+'ipt>function editor_generate() { return false; }</scr'+'ipt>'); }

Any help would be appreciated

Thanks

#125 kiefer_01

  • Community Member
  • 9 posts
  • Real Name:Martin Kiefer

Posted 17 March 2004, 18:00

Salvo, on Mar 16 2004, 10:47 PM, said:

I have tried, but it is too long. it cuts it..

so I will upload it tomorrow as a zip file in the contribution

Sorry
Hi Salvo.

That is ok, I will look for in the contributions tomorrow :)

/Martin

#126 Salvo

  • Community Member
  • 1,008 posts
  • Real Name:Salvo
  • Gender:Male

Posted 18 March 2004, 15:34

here is the other bit.... the last line and the first line are the same. so take one out.
I hope it works
=====

$aInfo->articles_head_keywords_tag = tep_db_prepare_input($articles_head_keywords_tag[$languages[$i]['id']]);
}
?>
<table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr>
<td><table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td class="pageHeading" colspan="2"><?php echo tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . '&nbsp;' . $aInfo->articles_name; ?></td>
</tr>
</table></td>
</tr>
<?php
if ($aInfo->articles_description) {
?>
<tr>
<td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
</tr>
<!--Added Salvo Image -->
<tr>
<td class="main"><?php echo tep_image(DIR_WS_CATALOG_IMAGES . $articles_image_name, $aInfo->articles_name, SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, 'align="right" hspace="5" vspace="5"') . $aInfo->articles_description; ?></td>
</tr>
<!--Added Salvo Image -->
<tr>
<td class="main"><?php echo $aInfo->articles_description; ?></td>
</tr>
<?php
}
?>
<?php
if ($aInfo->articles_url) {
?>
<tr>
<td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
</tr>
<tr>
<td class="main"><?php echo sprintf(TEXT_ARTICLE_MORE_INFORMATION, $aInfo->articles_url); ?></td>
</tr>
<?php
}
?>
<tr>
<td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
</tr>
<?php
if ($aInfo->articles_date_available > date('Y-m-d')) {
?>
<tr>
<td align="center" class="smallText"><?php echo sprintf(TEXT_ARTICLE_DATE_AVAILABLE, tep_date_long($aInfo->articles_date_available)); ?></td>
</tr>
<?php
} else {
?>
<tr>
<td align="center" class="smallText"><?php echo sprintf(TEXT_ARTICLE_DATE_ADDED, tep_date_long($aInfo->articles_date_added)); ?></td>
</tr>
<?php
}
?>
<tr>
<td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
</tr>
<?php
}

if (isset($HTTP_GET_VARS['read']) && ($HTTP_GET_VARS['read'] == 'only')) {
if (isset($HTTP_GET_VARS['origin'])) {
$pos_params = strpos($HTTP_GET_VARS['origin'], '?', 0);
if ($pos_params != false) {
$back_url = substr($HTTP_GET_VARS['origin'], 0, $pos_params);
$back_url_params = substr($HTTP_GET_VARS['origin'], $pos_params + 1);
} else {
$back_url = $HTTP_GET_VARS['origin'];
$back_url_params = '';
}
} else {
$back_url = FILENAME_ARTICLES;
$back_url_params = 'tPath=' . $tPath . '&aID=' . $aInfo->articles_id;
}
?>
<tr>
<td align="right"><?php echo '<a href="' . tep_href_link($back_url, $back_url_params, 'NONSSL') . '">' . tep_image_button('button_back.gif', IMAGE_BACK) . '</a>'; ?></td>
</tr>
<?php
} else {
?>
<tr>
<td align="right" class="smallText">
<?php
/* Re-Post all POST'ed variables */
reset($HTTP_POST_VARS);
while (list($key, $value) = each($HTTP_POST_VARS)) {
if (!is_array($HTTP_POST_VARS[$key])) {
echo tep_draw_hidden_field($key, htmlspecialchars(stripslashes($value)));
}
}
$languages = tep_get_languages();
for ($i=0, $n=sizeof($languages); $i<$n; $i++) {
echo tep_draw_hidden_field('articles_name[' . $languages[$i]['id'] . ']', htmlspecialchars(stripslashes($articles_name[$languages[$i]['id']])));
echo tep_draw_hidden_field('articles_description[' . $languages[$i]['id'] . ']', htmlspecialchars(stripslashes($articles_description[$languages[$i]['id']])));
echo tep_draw_hidden_field('articles_url[' . $languages[$i]['id'] . ']', htmlspecialchars(stripslashes($articles_url[$languages[$i]['id']])));
echo tep_draw_hidden_field('articles_head_title_tag[' . $languages[$i]['id'] . ']', htmlspecialchars(stripslashes($articles_head_title_tag[$languages[$i]['id']])));
echo tep_draw_hidden_field('articles_head_desc_tag[' . $languages[$i]['id'] . ']', htmlspecialchars(stripslashes($articles_head_desc_tag[$languages[$i]['id']])));
echo tep_draw_hidden_field('articles_head_keywords_tag[' . $languages[$i]['id'] . ']', htmlspecialchars(stripslashes($articles_head_keywords_tag[$languages[$i]['id']])));
}
// Salvo Images Added
echo tep_draw_hidden_field('articles_image', stripslashes($articles_image_name));
// Salvo Images Added
echo tep_image_submit('button_back.gif', IMAGE_BACK, 'name="edit"') . '&nbsp;&nbsp;';

if (isset($HTTP_GET_VARS['aID'])) {
echo tep_image_submit('button_update.gif', IMAGE_UPDATE);
} else {
echo tep_image_submit('button_insert.gif', IMAGE_INSERT);
}
echo '&nbsp;&nbsp;<a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . (isset($HTTP_GET_VARS['aID']) ? '&aID=' . $HTTP_GET_VARS['aID'] : '')) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>';
?></td>
</tr>
</table></form>
<?php
}
} else {
?>
<table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr>
<td><table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td class="pageHeading"><?php echo HEADING_TITLE; ?></td>
<td class="pageHeading" align="right"><?php echo tep_draw_separator('pixel_trans.gif', 1, HEADING_IMAGE_HEIGHT); ?></td>
<td align="right"><table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td class="smallText" align="right">
<?php
echo tep_draw_form('search', FILENAME_ARTICLES, '', 'get');
echo HEADING_TITLE_SEARCH . ' ' . tep_draw_input_field('search');
echo '</form>';
?>
</td>
</tr>
<tr>
<td class="smallText" align="right">
<?php
echo tep_draw_form('goto', FILENAME_ARTICLES, '', 'get');
echo HEADING_TITLE_GOTO . ' ' . tep_draw_pull_down_menu('tPath', tep_get_topic_tree(), $current_topic_id, 'onChange="this.form.submit();"');
echo '</form>';
?>
</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td><table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr class="dataTableHeadingRow">
<td class="dataTableHeadingContent"><?php echo TABLE_HEADING_TOPICS_ARTICLES; ?></td>
<td class="dataTableHeadingContent" align="center"><?php echo TABLE_HEADING_STATUS; ?></td>
<td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ACTION; ?>&nbsp;</td>
</tr>
<?php
$topics_count = 0;
$rows = 0;
if (isset($HTTP_GET_VARS['search'])) {
$search = tep_db_prepare_input($HTTP_GET_VARS['search']);

$topics_query = tep_db_query("select t.topics_id, td.topics_name, t.parent_id, t.sort_order, t.date_added, t.last_modified from " . TABLE_TOPICS . " t, " . TABLE_TOPICS_DESCRIPTION . " td where t.topics_id = td.topics_id and td.language_id = '" . (int)$languages_id . "' and td.topics_name like '%" . tep_db_input($search) . "%' order by t.sort_order, td.topics_name");
} else {
$topics_query = tep_db_query("select t.topics_id, td.topics_name, t.parent_id, t.sort_order, t.date_added, t.last_modified from " . TABLE_TOPICS . " t, " . TABLE_TOPICS_DESCRIPTION . " td where t.parent_id = '" . (int)$current_topic_id . "' and t.topics_id = td.topics_id and td.language_id = '" . (int)$languages_id . "' order by t.sort_order, td.topics_name");
}
while ($topics = tep_db_fetch_array($topics_query)) {
$topics_count++;
$rows++;

// Get parent_id for subtopics if search
if (isset($HTTP_GET_VARS['search'])) $tPath= $topics['parent_id'];

if ((!isset($HTTP_GET_VARS['tID']) && !isset($HTTP_GET_VARS['aID']) || (isset($HTTP_GET_VARS['tID']) && ($HTTP_GET_VARS['tID'] == $topics['topics_id']))) && !isset($tInfo) && (substr($action, 0, 3) != 'new')) {
$topic_childs = array('childs_count' => tep_childs_in_topic_count($topics['topics_id']));
$topic_articles = array('articles_count' => tep_articles_in_topic_count($topics['topics_id']));

$tInfo_array = array_merge($topics, $topic_childs, $topic_articles);
$tInfo = new objectInfo($tInfo_array);
}

if (isset($tInfo) && is_object($tInfo) && ($topics['topics_id'] == $tInfo->topics_id) ) {
echo ' <tr id="defaultSelected" class="dataTableRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href='' . tep_href_link(FILENAME_ARTICLES, tep_get_topic_path($topics['topics_id'])) . ''">' . "n";
} else {
echo ' <tr class="dataTableRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href='' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&tID=' . $topics['topics_id']) . ''">' . "n";
}
?>
<td class="dataTableContent"><?php echo '<a href="' . tep_href_link(FILENAME_ARTICLES, tep_get_topic_path($topics['topics_id'])) . '">' . tep_image(DIR_WS_ICONS . 'folder.gif', ICON_FOLDER) . '</a>&nbsp;<b>' . $topics['topics_name'] . '</b>'; ?></td>
<td class="dataTableContent" align="center">&nbsp;</td>
<td class="dataTableContent" align="right"><?php if (isset($tInfo) && is_object($tInfo) && ($topics['topics_id'] == $tInfo->topics_id) ) { echo tep_image(DIR_WS_IMAGES . 'icon_arrow_right.gif', ''); } else { echo '<a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&tID=' . $topics['topics_id']) . '">' . tep_image(DIR_WS_IMAGES . 'icon_info.gif', IMAGE_ICON_INFO) . '</a>'; } ?>&nbsp;</td>
</tr>
<?php
}

$articles_count = 0;
if (isset($HTTP_GET_VARS['search'])) {
$articles_query = tep_db_query("select a.articles_id, a.articles_image, ad.articles_name, a.articles_date_added, a.articles_last_modified, a.articles_date_available, a.articles_status, a2t.topics_id from " . TABLE_ARTICLES . " a, " . TABLE_ARTICLES_DESCRIPTION . " ad, " . TABLE_ARTICLES_TO_TOPICS . " a2t where a.articles_id = ad.articles_id and ad.language_id = '" . (int)$languages_id . "' and a.articles_id = a2t.articles_id and ad.articles_name like '%" . tep_db_input($search) . "%' order by ad.articles_name");
} else {
$articles_query = tep_db_query("select a.articles_id, a.articles_image, ad.articles_name, a.articles_date_added, a.articles_last_modified, a.articles_date_available, a.articles_status from " . TABLE_ARTICLES . " a, " . TABLE_ARTICLES_DESCRIPTION . " ad, " . TABLE_ARTICLES_TO_TOPICS . " a2t where a.articles_id = ad.articles_id and ad.language_id = '" . (int)$languages_id . "' and a.articles_id = a2t.articles_id and a2t.topics_id = '" . (int)$current_topic_id . "' order by ad.articles_name");
}
while ($articles = tep_db_fetch_array($articles_query)) {
$articles_count++;
$rows++;

// Get topics_id for article if search
if (isset($HTTP_GET_VARS['search'])) $tPath = $articles['topics_id'];

if ( (!isset($HTTP_GET_VARS['aID']) && !isset($HTTP_GET_VARS['tID']) || (isset($HTTP_GET_VARS['aID']) && ($HTTP_GET_VARS['aID'] == $articles['articles_id']))) && !isset($aInfo) && !isset($tInfo) && (substr($action, 0, 3) != 'new')) {
// find out the rating average from customer reviews
$reviews_query = tep_db_query("select (avg(reviews_rating) / 5 * 100) as average_rating from " . TABLE_ARTICLE_REVIEWS . " where articles_id = '" . (int)$articles['articles_id'] . "'");
$reviews = tep_db_fetch_array($reviews_query);
$aInfo_array = array_merge($articles, $reviews);
$aInfo = new objectInfo($aInfo_array);
}

if (isset($aInfo) && is_object($aInfo) && ($articles['articles_id'] == $aInfo->articles_id) ) {
echo ' <tr id="defaultSelected" class="dataTableRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href='' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&aID=' . $articles['articles_id'] . '&action=article_preview&read=only') . ''">' . "n";
} else {
echo ' <tr class="dataTableRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href='' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&aID=' . $articles['articles_id']) . ''">' . "n";
}
?>
<td class="dataTableContent"><?php echo '<a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&aID=' . $articles['articles_id'] . '&action=article_preview&read=only') . '">' . tep_image(DIR_WS_ICONS . 'preview.gif', ICON_PREVIEW) . '</a>&nbsp;' . $articles['articles_name']; ?></td>
<td class="dataTableContent" align="center">
<?php
if ($articles['articles_status'] == '1') {
echo tep_image(DIR_WS_IMAGES . 'icon_status_green.gif', IMAGE_ICON_STATUS_GREEN, 10, 10) . '&nbsp;&nbsp;<a href="' . tep_href_link(FILENAME_ARTICLES, 'action=setflag&flag=0&aID=' . $articles['articles_id'] . '&tPath=' . $tPath) . '">' . tep_image(DIR_WS_IMAGES . 'icon_status_red_light.gif', IMAGE_ICON_STATUS_RED_LIGHT, 10, 10) . '</a>';
} else {
echo '<a href="' . tep_href_link(FILENAME_ARTICLES, 'action=setflag&flag=1&aID=' . $articles['articles_id'] . '&tPath=' . $tPath) . '">' . tep_image(DIR_WS_IMAGES . 'icon_status_green_light.gif', IMAGE_ICON_STATUS_GREEN_LIGHT, 10, 10) . '</a>&nbsp;&nbsp;' . tep_image(DIR_WS_IMAGES . 'icon_status_red.gif', IMAGE_ICON_STATUS_RED, 10, 10);
}
?></td>
<td class="dataTableContent" align="right"><?php if (isset($aInfo) && is_object($aInfo) && ($articles['articles_id'] == $aInfo->articles_id)) { echo tep_image(DIR_WS_IMAGES . 'icon_arrow_right.gif', ''); } else { echo '<a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&aID=' . $articles['articles_id']) . '">' . tep_image(DIR_WS_IMAGES . 'icon_info.gif', IMAGE_ICON_INFO) . '</a>'; } ?>&nbsp;</td>
</tr>
<?php
}

$tPath_back = '';
if (sizeof($tPath_array) > 0) {
for ($i=0, $n=sizeof($tPath_array)-1; $i<$n; $i++) {
if (empty($tPath_back)) {
$tPath_back .= $tPath_array[$i];
} else {
$tPath_back .= '_' . $tPath_array[$i];
}
}
}

$tPath_back = (tep_not_null($tPath_back)) ? 'tPath=' . $tPath_back . '&' : '';
?>
<tr>
<td colspan="3"><table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr>
<td class="smallText"><?php echo TEXT_TOPICS . '&nbsp;' . $topics_count . '<br>' . TEXT_ARTICLES . '&nbsp;' . $articles_count; ?></td>
<td align="right" class="smallText"><?php if (sizeof($tPath_array) > 0) echo '<a href="' . tep_href_link(FILENAME_ARTICLES, $tPath_back . 'tID=' . $current_topic_id) . '">' . tep_image_button('button_back.gif', IMAGE_BACK) . '</a>&nbsp;'; if (!isset($HTTP_GET_VARS['search'])) echo '<a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&action=new_topic') . '">' . tep_image_button('button_new_topic.gif', IMAGE_NEW_TOPIC) . '</a>&nbsp;<a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&action=new_article') . '">' . tep_image_button('button_new_article.gif', IMAGE_NEW_ARTICLE) . '</a>'; ?>&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
<?php
$heading = array();
$contents = array();
switch ($action) {
case 'new_topic':
$heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_NEW_TOPIC . '</b>');

$contents = array('form' => tep_draw_form('newtopic', FILENAME_ARTICLES, 'action=insert_topic&tPath=' . $tPath, 'post', 'enctype="multipart/form-data"'));
$contents[] = array('text' => TEXT_NEW_TOPIC_INTRO);

$topic_inputs_string = '';
$languages = tep_get_languages();
for ($i = 0, $n = sizeof($languages); $i < $n; $i++) {
$topic_inputs_string .= '<br>' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . '&nbsp;' . tep_draw_input_field('topics_name[' . $languages[$i]['id'] . ']');
}

$contents[] = array('text' => '<br>' . TEXT_TOPICS_NAME . $topic_inputs_string);
$contents[] = array('text' => '<br>' . TEXT_SORT_ORDER . '<br>' . tep_draw_input_field('sort_order', '', 'size="2"'));
$contents[] = array('align' => 'center', 'text' => '<br>' . tep_image_submit('button_save.gif', IMAGE_SAVE) . ' <a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>');
break;
case 'edit_topic':
$heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_EDIT_TOPIC . '</b>');

$contents = array('form' => tep_draw_form('topics', FILENAME_ARTICLES, 'action=update_topic&tPath=' . $tPath, 'post', 'enctype="multipart/form-data"') . tep_draw_hidden_field('topics_id', $tInfo->topics_id));
$contents[] = array('text' => TEXT_EDIT_INTRO);

$topic_inputs_string = '';
$languages = tep_get_languages();
for ($i = 0, $n = sizeof($languages); $i < $n; $i++) {
$topic_inputs_string .= '<br>' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . '&nbsp;' . tep_draw_input_field('topics_name[' . $languages[$i]['id'] . ']', tep_get_topic_name($tInfo->topics_id, $languages[$i]['id']));
}

$contents[] = array('text' => '<br>' . TEXT_EDIT_TOPICS_NAME . $topic_inputs_string);
$contents[] = array('text' => '<br>' . TEXT_EDIT_SORT_ORDER . '<br>' . tep_draw_input_field('sort_order', $tInfo->sort_order, 'size="2"'));
$contents[] = array('align' => 'center', 'text' => '<br>' . tep_image_submit('button_save.gif', IMAGE_SAVE) . ' <a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&tID=' . $tInfo->topics_id) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>');
break;
case 'delete_topic':
$heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_DELETE_TOPIC . '</b>');

$contents = array('form' => tep_draw_form('topics', FILENAME_ARTICLES, 'action=delete_topic_confirm&tPath=' . $tPath) . tep_draw_hidden_field('topics_id', $tInfo->topics_id));
$contents[] = array('text' => TEXT_DELETE_TOPIC_INTRO);
$contents[] = array('text' => '<br><b>' . $tInfo->topics_name . '</b>');
if ($tInfo->childs_count > 0) $contents[] = array('text' => '<br>' . sprintf(TEXT_DELETE_WARNING_CHILDS, $tInfo->childs_count));
if ($tInfo->articles_count > 0) $contents[] = array('text' => '<br>' . sprintf(TEXT_DELETE_WARNING_ARTICLES, $tInfo->articles_count));
$contents[] = array('align' => 'center', 'text' => '<br>' . tep_image_submit('button_delete.gif', IMAGE_DELETE) . ' <a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&tID=' . $tInfo->topics_id) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>');
break;
case 'move_topic':
$heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_MOVE_TOPIC . '</b>');

$contents = array('form' => tep_draw_form('topics', FILENAME_ARTICLES, 'action=move_topic_confirm&tPath=' . $tPath) . tep_draw_hidden_field('topics_id', $tInfo->topics_id));
$contents[] = array('text' => sprintf(TEXT_MOVE_TOPICS_INTRO, $tInfo->topics_name));
$contents[] = array('text' => '<br>' . sprintf(TEXT_MOVE, $tInfo->topics_name) . '<br>' . tep_draw_pull_down_menu('move_to_topic_id', tep_get_topic_tree(), $current_topic_id));
$contents[] = array('align' => 'center', 'text' => '<br>' . tep_image_submit('button_move.gif', IMAGE_MOVE) . ' <a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&tID=' . $tInfo->topics_id) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>');
break;
case 'delete_article':
$heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_DELETE_ARTICLE . '</b>');

$contents = array('form' => tep_draw_form('articles', FILENAME_ARTICLES, 'action=delete_article_confirm&tPath=' . $tPath) . tep_draw_hidden_field('articles_id', $aInfo->articles_id));
$contents[] = array('text' => TEXT_DELETE_ARTICLE_INTRO);
$contents[] = array('text' => '<br><b>' . $aInfo->articles_name . '</b>');

$article_topics_string = '';
$article_topics = tep_generate_topic_path($aInfo->articles_id, 'article');
for ($i = 0, $n = sizeof($article_topics); $i < $n; $i++) {
$topic_path = '';
for ($j = 0, $k = sizeof($article_topics[$i]); $j < $k; $j++) {
$topic_path .= $article_topics[$i][$j]['text'] . '&nbsp;&gt;&nbsp;';
}
$topic_path = substr($topic_path, 0, -16);
$article_topics_string .= tep_draw_checkbox_field('article_topics[]', $article_topics[$i][sizeof($article_topics[$i])-1]['id'], true) . '&nbsp;' . $topic_path . '<br>';
}
$article_topics_string = substr($article_topics_string, 0, -4);

$contents[] = array('text' => '<br>' . $article_topics_string);
$contents[] = array('align' => 'center', 'text' => '<br>' . tep_image_submit('button_delete.gif', IMAGE_DELETE) . ' <a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&aID=' . $aInfo->articles_id) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>');
break;
case 'move_article':
$heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_MOVE_ARTICLE . '</b>');

$contents = array('form' => tep_draw_form('articles', FILENAME_ARTICLES, 'action=move_article_confirm&tPath=' . $tPath) . tep_draw_hidden_field('articles_id', $aInfo->articles_id));
$contents[] = array('text' => sprintf(TEXT_MOVE_ARTICLES_INTRO, $aInfo->articles_name));
$contents[] = array('text' => '<br>' . TEXT_INFO_CURRENT_TOPICS . '<br><b>' . tep_output_generated_topic_path($aInfo->articles_id, 'article') . '</b>');
$contents[] = array('text' => '<br>' . sprintf(TEXT_MOVE, $aInfo->articles_name) . '<br>' . tep_draw_pull_down_menu('move_to_topic_id', tep_get_topic_tree(), $current_topic_id));
$contents[] = array('align' => 'center', 'text' => '<br>' . tep_image_submit('button_move.gif', IMAGE_MOVE) . ' <a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&aID=' . $aInfo->articles_id) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>');
break;
case 'copy_to':
$heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_COPY_TO . '</b>');

$contents = array('form' => tep_draw_form('copy_to', FILENAME_ARTICLES, 'action=copy_to_confirm&tPath=' . $tPath) . tep_draw_hidden_field('articles_id', $aInfo->articles_id));
$contents[] = array('text' => TEXT_INFO_COPY_TO_INTRO);
$contents[] = array('text' => '<br>' . TEXT_INFO_CURRENT_TOPICS . '<br><b>' . tep_output_generated_topic_path($aInfo->articles_id, 'article') . '</b>');
$contents[] = array('text' => '<br>' . TEXT_TOPICS . '<br>' . tep_draw_pull_down_menu('topics_id', tep_get_topic_tree(), $current_topic_id));
$contents[] = array('text' => '<br>' . TEXT_HOW_TO_COPY . '<br>' . tep_draw_radio_field('copy_as', 'link', true) . ' ' . TEXT_COPY_AS_LINK . '<br>' . tep_draw_radio_field('copy_as', 'duplicate') . ' ' . TEXT_COPY_AS_DUPLICATE);
$contents[] = array('align' => 'center', 'text' => '<br>' . tep_image_submit('button_copy.gif', IMAGE_COPY) . ' <a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&aID=' . $aInfo->articles_id) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>');
break;

default:
if ($rows > 0) {
if (isset($tInfo) && is_object($tInfo)) { // topic info box contents
$heading[] = array('text' => '<b>' . $tInfo->topics_name . '</b>');

$contents[] = array('align' => 'center', 'text' => '<a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&tID=' . $tInfo->topics_id . '&action=edit_topic') . '">' . tep_image_button('button_edit.gif', IMAGE_EDIT) . '</a> <a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&tID=' . $tInfo->topics_id . '&action=delete_topic') . '">' . tep_image_button('button_delete.gif', IMAGE_DELETE) . '</a> <a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&tID=' . $tInfo->topics_id . '&action=move_topic') . '">' . tep_image_button('button_move.gif', IMAGE_MOVE) . '</a>');
$contents[] = array('text' => '<br>' . TEXT_DATE_ADDED . ' ' . tep_date_short($tInfo->date_added));
if (tep_not_null($tInfo->last_modified)) $contents[] = array('text' => TEXT_LAST_MODIFIED . ' ' . tep_date_short($tInfo->last_modified));
$contents[] = array('text' => '<br>' . TEXT_SUBTOPICS . ' ' . $tInfo->childs_count . '<br>' . TEXT_ARTICLES . ' ' . $tInfo->articles_count);
} elseif (isset($aInfo) && is_object($aInfo)) { // article info box contents
$heading[] = array('text' => '<b>' . tep_get_articles_name($aInfo->articles_id, $languages_id) . '</b>');

$contents[] = array('align' => 'center', 'text' => '<a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&aID=' . $aInfo->articles_id . '&action=new_article') . '">' . tep_image_button('button_edit.gif', IMAGE_EDIT) . '</a> <a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&aID=' . $aInfo->articles_id . '&action=delete_article') . '">' . tep_image_button('button_delete.gif', IMAGE_DELETE) . '</a> <a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&aID=' . $aInfo->articles_id . '&action=move_article') . '">' . tep_image_button('button_move.gif', IMAGE_MOVE) . '</a> <a href="' . tep_href_link(FILENAME_ARTICLES, 'tPath=' . $tPath . '&aID=' . $aInfo->articles_id . '&action=copy_to') . '">' . tep_image_button('button_copy_to.gif', IMAGE_COPY_TO) . '</a>'); $contents[] = array('text' => '<br>' . TEXT_DATE_ADDED . ' ' . tep_date_short($aInfo->articles_date_added));
if (tep_not_null($aInfo->articles_last_modified)) $contents[] = array('text' => TEXT_LAST_MODIFIED . ' ' . tep_date_short($aInfo->articles_last_modified));
if (date('Y-m-d') < $aInfo->articles_date_available) $contents[] = array('text' => TEXT_DATE_AVAILABLE . ' ' . tep_date_short($aInfo->articles_date_available));

$contents[] = array('text' => '<br>' . tep_info_image($aInfo->articles_image, $aInfo->articles_name) . '<br>' . $aInfo->articles_image);

$contents[] = array('text' => '<br>' . TEXT_ARTICLES_AVERAGE_RATING . ' ' . number_format($aInfo->average_rating, 2) . '%');
}
} else { // create topic/article info
$heading[] = array('text' => '<b>' . EMPTY_TOPIC . '</b>');

$contents[] = array('text' => TEXT_NO_CHILD_TOPICS_OR_ARTICLES);
}
break;
}

if ( (tep_not_null($heading)) && (tep_not_null($contents)) ) {
echo ' <td width="25%" valign="top">' . "n";

$box = new box;
echo $box->infoBox($heading, $contents);

echo ' </td>' . "n";
}
?>
</tr>
</table></td>
</tr>
</table>
<?php
}
?>
</td>
<!-- body_text_eof //-->
</tr>
</table>
<!-- body_eof //-->

<!-- footer //-->
<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
<!-- footer_eof //-->
<br>
</body>
</html>
<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>

#127 Salvo

  • Community Member
  • 1,008 posts
  • Real Name:Salvo
  • Gender:Male

Posted 18 March 2004, 16:24

I have installed to a new site and it doesn't upload anymore now.. I don't know why. When you have tried, can you let me if it works for you...


:angry:

#128 kiefer_01

  • Community Member
  • 9 posts
  • Real Name:Martin Kiefer

Posted 18 March 2004, 17:57

Salvo, on Mar 18 2004, 04:24 PM, said:

I have installed to a new site and it doesn't upload anymore now.. I don't know why. When you have tried, can you let me if it works for you...


:angry:
The site where it works. Is there any difference in the code?

When it does not upload any more what kind of error do you get?

I think I have an error around here: "<tr>
<td class="main"><?php echo TEXT_ARTICLE_IMAGE; ?></td>
<td class="main"><?php echo tep_draw_separator('pixel_trans.gif', '24', '15') . '&nbsp;' . tep_draw_file_field('article_image') . '<br>' . tep_draw_separator('pixel_trans.gif', '24', '15') . '&nbsp;' . $aInfo->article_image . tep_draw_hidden_field('article_image', $aInfo->article_image); ?></td>
</tr>"

Especially the tep_draw_hidden_field( seems not to work proberly.

/Martin

#129 Salvo

  • Community Member
  • 1,008 posts
  • Real Name:Salvo
  • Gender:Male

Posted 18 March 2004, 19:44

Now the code is the same and looks I changed or deleted the good one or I don't know what.....

I have to start all over again and see what's missing..

the code above, insert the image file into the database, but it doesn't upload it....

I see what's happened to it unless someone is so kind to have a look at it as it took me 3 days before..

#130 Salvo

  • Community Member
  • 1,008 posts
  • Real Name:Salvo
  • Gender:Male

Posted 18 March 2004, 21:24

ok, here is the solution I hope :D

find around line 300:

tep_redirect(tep_href_link(FILENAME_ARTICLES, 'tPath=' . $topics_id . '&aID=' . $articles_id));
break;

After add:

// images salvo
case 'article_preview':
// copy image only if modified
$articles_image = new upload('articles_image');
$articles_image->set_destination(DIR_FS_CATALOG_IMAGES);
if ($articles_image->parse() && $articles_image->save()) {
$articles_image_name = $articles_image->filename;
} else {
$articles_image_name = (isset($HTTP_POST_VARS['articles_previous_image']) ? $HTTP_POST_VARS['articles_previous_image'] : '');
}
break;
// images salvo
}
}

#131 Salvo

  • Community Member
  • 1,008 posts
  • Real Name:Salvo
  • Gender:Male

Posted 19 March 2004, 11:49

Hi all,

I would like to give access to contributors/editors to send articles and I should be able to verify the article and approve it from admin cp..

has anybody done this?

Is anyone with knowledge of articles contribution and PHP willing to help or advice on how I should go about it?

Any help is appreciated


Salvo

#132 dionn

  • Community Member
  • 33 posts
  • Real Name:Dionn Schaffner

Posted 19 March 2004, 17:36

Looks like a cool mod -- but I need to control access to articles via logon (premium content delivery) as well...any ideas?

#133 tammy507

  • Community Member
  • 218 posts
  • Real Name:Tammy OHagan

Posted 25 March 2004, 13:30

Quote

I would like to give access to contributors/editors to send articles and I should be able to verify the article and approve it from admin cp..
I would also like to do this, let me know if you find a solution.

Tammy

#134 Salvo

  • Community Member
  • 1,008 posts
  • Real Name:Salvo
  • Gender:Male

Posted 25 March 2004, 14:56

I haven't worked out to find a solution as yet, but the fastest way to allow other to right an article (until a better solution is created) would be:

Create a category within article manger called
ie. Contributions or whatever you like to call it...

In the description field just wright what it is for and whatever you like to wright in a the way that contributors or authors know about it... or detail about it..

Now use the review script to allow or let other to contribute the article.
Now, because the revew/article would need your authrisation, nobody is able to see.

You just have to take the article/review and copy it to the catogory you like....
simple as that...

#135 rburgee876

  • Community Member
  • 2 posts
  • Real Name:Robert Burgee

Posted 25 March 2004, 23:08

Hello All,

This contribution is VERY nice.

I only have one problem. My Previous | Next Links arent showing up on the article listing page. I have the configuration set to display 10 articles at a time. Is there a way to make the Links appear at the top/bottom of the list to view the next 10, etc?

Thanks for any assistance.

Bob Burgee.

here is the I.P. for the site I'm working on:

http://65.254.80.103/articles.php

Edited by rburgee876, 25 March 2004, 23:09.


#136 kiefer_01

  • Community Member
  • 9 posts
  • Real Name:Martin Kiefer

Posted 26 March 2004, 15:01

rburgee876, on Mar 25 2004, 11:08 PM, said:

Hello All,


here is the I.P. for the site I'm working on:

http://65.254.80.103/articles.php
you should password protect your site. You are making everyone able to edit you store settings.

/Martin

#137 rburgee876

  • Community Member
  • 2 posts
  • Real Name:Robert Burgee

Posted 26 March 2004, 15:46

Thanks for the heads up. Working on that now.

Any input on my links problem?

Thanks again.

#138 donrob

  • Community Member
  • 4 posts
  • Real Name:Don RObertson

Posted 28 March 2004, 10:57

Greetingd,

I have just installed OS Commerce 2.2ms2 and the latest Article Manager. everythin wxcept the cross sell script seems to work okay.

however, when I click on the cross sell article link from the admin menu I get the folowing:

Parse error: parse error, unexpected '}' in /var/www/oscommerce-2.2ms2/catalog/admin/articles_xsell.php on line 258

I have had a look at the file but ... well to mee it looks like there are loads of missing braces but I am no expert.

so is it just me?

don

#139 shris

  • Community Member
  • 24 posts
  • Real Name:Kristina

Posted 28 March 2004, 17:31

Hi Everyone.

These are some things I did to my Articles section to make it easier to use without the infobox. I'm trying to minimize my infoboxes in order to unclutter the site. I've installed tabs unlimited and pointed one of my tabs at the articles.php instead of using the infobox.

So, I wanted to make the default articles page a list of categories (top level). Near the end of articles.php, where you see the comment // default page, I added a new bunch of code (modified from what I swiped from the infobox) to list the categories.
<?php //Kristina Start
  function tep_show_topic($counter) {
    global $tree, $topics_string, $tPath_array;

    for ($i=0; $i<$tree[$counter]['level']; $i++) {
      $topics_string .= "&nbsp;&nbsp;";
    }

    $topics_string .= '<a href="';

    if ($tree[$counter]['parent'] == 0) {
      $tPath_new = 'tPath=' . $counter;
    } else {
      $tPath_new = 'tPath=' . $tree[$counter]['path'];
    }

    $topics_string .= tep_href_link(FILENAME_ARTICLES, $tPath_new) . '">';

    if (isset($tPath_array) && in_array($counter, $tPath_array)) {
      $topics_string .= '<b>';
    }

// display topic name
    $topics_string .= $tree[$counter]['name'];

    if (isset($tPath_array) && in_array($counter, $tPath_array)) {
      $topics_string .= '</b>';
    }

    if (tep_has_topic_subtopics($counter)) {
      $topics_string .= ' -&gt;';
    }

    $topics_string .= '</a>';

    if (SHOW_ARTICLE_COUNTS == 'true') {
      $articles_in_topic = tep_count_articles_in_topic($counter);
      if ($articles_in_topic > 0) {
        $topics_string .= '&nbsp;</b>(' . $articles_in_topic . ' article';
  if ($articles_in_topic >1) {
    $topics_string .= 's';
  }
  $topics_string .= ')<b>';
      }
    }

    $topics_string .= '<p>';

    if ($tree[$counter]['next_id'] != false) {
      tep_show_topic($tree[$counter]['next_id']);
    }
  }
?>
<!-- topics //-->
          <tr>
   	 <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
    </tr>
    <tr>
            <td align="left" class="main">
<?php
  $info_box_contents = array();
  $info_box_contents[] = array('text' => BOX_HEADING_ARTICLES);

//  new infoBoxHeading($info_box_contents, false, false);
?>
    <?php echo TEXT_ALL_ARTICLES; ?>
 	 </td>	
    </tr>
          <tr>
   	 <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
    </tr>
    <tr>
   	 <td align="left" class="main"><b>
<?php
  $topics_string = '';
  $tree = array();

  $topics_query = tep_db_query("select t.topics_id, td.topics_name, t.parent_id from " . TABLE_TOPICS . " t, " . TABLE_TOPICS_DESCRIPTION . " td where t.parent_id = '0' and t.topics_id = td.topics_id and td.language_id = '" . (int)$languages_id . "' order by sort_order, td.topics_name");
  while ($topics = tep_db_fetch_array($topics_query))  {
    $tree[$topics['topics_id']] = array('name' => $topics['topics_name'],
                                        'parent' => $topics['parent_id'],
                                        'level' => 0,
                                        'path' => $topics['topics_id'],
                                        'next_id' => false);

    if (isset($parent_id)) {
      $tree[$parent_id]['next_id'] = $topics['topics_id'];
    }

    $parent_id = $topics['topics_id'];

    if (!isset($first_topic_element)) {
      $first_topic_element = $topics['topics_id'];
    }
  }

  //------------------------
  if (tep_not_null($tPath)) {
    $new_path = '';
    reset($tPath_array);
    while (list($key, $value) = each($tPath_array)) {
      unset($parent_id);
      unset($first_id);
      $topics_query = tep_db_query("select t.topics_id, td.topics_name, t.parent_id from " . TABLE_TOPICS . " t, " . TABLE_TOPICS_DESCRIPTION . " td where t.parent_id = '" . (int)$value . "' and t.topics_id = td.topics_id and td.language_id = '" . (int)$languages_id . "' order by sort_order, td.topics_name");
      if (tep_db_num_rows($topics_query)) {
        $new_path .= $value;
        while ($row = tep_db_fetch_array($topics_query)) {
          $tree[$row['topics_id']] = array('name' => $row['topics_name'],
                                           'parent' => $row['parent_id'],
                                           'level' => $key+1,
                                           'path' => $new_path . '_' . $row['topics_id'],
                                           'next_id' => false);

          if (isset($parent_id)) {
            $tree[$parent_id]['next_id'] = $row['topics_id'];
          }

          $parent_id = $row['topics_id'];

          if (!isset($first_id)) {
            $first_id = $row['topics_id'];
          }

          $last_id = $row['topics_id'];
        }
        $tree[$last_id]['next_id'] = $tree[$value]['next_id'];
        $tree[$value]['next_id'] = $first_id;
        $new_path .= '_';
      } else {
        break;
      }
    }
  }
  tep_show_topic($first_topic_element);

  $info_box_contents = array();

  $info_box_contents[] = array('text' => $topics_string);
echo $topics_string;
  // Kristina End
?>
The above section goes in a couple of lines above the <!-- topics_eof //--> comment. Please don't ding me for not cleaning up some things that aren't needed. I don't call myself a coder and I was being careful not to delete too much and break what I was trying to do. :)

Note: This only shows up on the top page, so if you have nested categories, more modifications would be needed that I have not done. I don't have nested categories.

I also deleted a large chunk of the original default page--the bit that displays the all articles list and new articles list. I don't need that for my site, but other people might like it.

Second, the breadcrumb trail didn't do what I wanted. When you're on a page showing the list of articles inside a topic, the "Articles" link doesn't show up in the breadcrumb. So I added a line to application_top to fix it.
    $breadcrumb->add(NAVBAR_TITLE_DEFAULT, tep_href_link(FILENAME_ARTICLES));
This goes in front of the line
        $breadcrumb->add($topics['topics_name'], tep_href_link(FILENAME_ARTICLES, 'tPath=' . implode('_', array_slice($tPath_array, 0, ($i+1)))));
in the // add topic names or the author name to the breadcrumb trail
section.

So anyway, my wishes for a future revision--
1. Make the default page a category list (or make it a choice, anyway), with a choice of whether to display all articles as a list.
2. Fix the breadcrumb trail so "Articles" shows up no matter how deep in the tree you go.
3. Incorporate the image-per-topic and image-per-article comments I've seen elsewhere in the string.
4. Add hide/show buttons for topics as well as for categories.

Thank you so much for this mod. I am finding it very useful and will continue to do so, I am sure.

shris

#140 Shem

  • Community Member
  • 10 posts
  • Real Name:NT Jones

Posted 28 March 2004, 19:35

Hello

I have most recent STS installed as well as the X-Sell contribution.

I just installed ARticle manager; i don't get any errors, but the link is not showing up in my admin panel under 'catalog' on the left grey menu like it's supposed to

Why? I'm pretty sure I followed the instructions verbatim and I modifed
'application_top" in admin by adding this at end:

// Article Manager
if (isset($HTTP_GET_VARS['tPath'])) {
$tPath = $HTTP_GET_VARS['tPath'];
} else {
$tPath = '';
}

if (tep_not_null($tPath)) {
$tPath_array = tep_parse_topic_path($tPath);
$tPath = implode('_', $tPath_array);
$current_topic_id = $tPath_array[(sizeof($tPath_array)-1)];
} else {
$current_topic_id = 0;
}


Why is Article manager not showing up in my admin??