โค้ด: เลือกทั้งหมด
<?php
function main($id, $mode) {
global $db, $user, $auth, $template, $request,$phpbb_container;
global $config, $phpbb_root_path, $phpbb_admin_path, $phpEx;
$this->config = $config;
$this->request = $request;
$this->tpl_name = 'acp_m_mtb_news';
$user->add_lang_ext('mindphp/sample1', 'acp/info_acp_mtb_news');
$action = request_var('action', '');
$pagination = $phpbb_container->get('pagination');
$start = request_var('start', 0);
$per_page = request_var('per_page',3); //config['topics_per_page']);
$search = request_var('search', '');
$cancel = request_var('cancel', '');
$add = request_var('add', '',true);
echo $add;
if($add == $user->lang['ADDDATA']){
$action = 'form';
}
if(empty($search)){
$sql_ary = array(
'SELECT' => '*',
'FROM' => array(
'phpbb_m_topic_portal' => 't'
),
);
$sql = $db->sql_build_query('SELECT', $sql_ary);
$result = $db->sql_query_limit($sql, $per_page, $start);
while ($row = $db->sql_fetchrow($result)) {
$id = $row['id'];
$template->assign_block_vars('row', array(
'LABEL_ID' => $id,
'LABEL_A' => $row['topic_id'],
'LABEL_B' => $row['add_by'],
'LABEL_C' => $row['add_time'],
'LABEL_D' => $row['potal_order'],
'LABEL_E' => $row['show_topic'],
'EDIT_DATA' => "{$this->u_action}&action=show_data&id=$id",
'DEL_DATA' => "{$this->u_action}&action=del&id=$id",
));
}
$sql_ary['SELECT'] = 'COUNT(t.id) as total_id';
$sql = $db->sql_build_query('SELECT', $sql_ary);
$result = $db->sql_query($sql);
$total_id = $db->sql_fetchfield('total_id');
$base_url = $this->u_action;
$pagination->generate_template_pagination($base_url, 'pagination', 'start', $total_id,$per_page,$start);
}
$id = request_var('id', 0);
echo $action;
switch ($action){
case 'search' :
if($cancel==$user->lang['CANCEL_ACTION']){
redirect(append_sid($this->u_action));
}
$sql_ary = array(
'SELECT' => '*',
'FROM' =>array(
'phpbb_m_topic_portal' => 't'
),
'WHERE' => " id ='" . $db->sql_escape(utf8_clean_string($search))
. "' OR topic_id LIKE '%" . $db->sql_escape(utf8_clean_string($search))
."%' OR add_by LIKE '%" . $db->sql_escape(utf8_clean_string($search))
."%' OR add_time LIKE '%" . $db->sql_escape(utf8_clean_string($search))
."%' OR potal_order LIKE '%" . $db->sql_escape(utf8_clean_string($search))
."%' OR show_topic LIKE '%" . $db->sql_escape(utf8_clean_string($search))."%'",
);
$sql = $db->sql_build_query('SELECT', $sql_ary);
$result = $db->sql_query_limit($sql, $per_page, $start);
while ($row = $db->sql_fetchrow($result)) {
$id = $row['id'];
$template->assign_block_vars('row', array(
'LABEL_ID' => $id,
'LABEL_A' => $row['topic_id'],
'LABEL_B' => $row['add_by'],
'LABEL_C' => $row['add_time'],
'LABEL_D' => $row['potal_order'],
'LABEL_E' => $row['show_topic'],
'EDIT_DATA' => "{$this->u_action}&action=show_data&id=$id",
'DEL_DATA' => "{$this->u_action}&action=del&id=$id",
));
}
$sql_ary['SELECT'] = 'COUNT(t.id) as total_id';
$sql = $db->sql_build_query('SELECT', $sql_ary);
$result = $db->sql_query($sql);
$total_id = $db->sql_fetchfield('total_id');
$base_url = $this->u_action;
$pagination->generate_template_pagination($base_url, 'pagination', 'start', $total_id,$per_page,$start);
$template->assign_vars(array(
'U_ACTION' => $this->u_action . '&action=form',
'SHOW_LIST' => TRUE,
'SHOW_FORM' => FALSE,
));
break;
case 'form':
$template->assign_vars(array(
'U_ACTION' => $this->u_action . '&action=insert',
'SHOW_LIST' => FALSE,
'SHOW_FORM' => TRUE,
'MODE' => 'insert',
));
break;
case 'show_data':
$id = request_var('id', $id);
$sql = "SELECT * FROM phpbb_m_topic_portal WHERE id = " . $id;
$re = $db->sql_query($sql);
$row = $db->sql_fetchrow($re);
$template->assign_vars(array(
'DATA_A' => $row['topic_id'],
'DATA_B' => $row['add_by'],
'DATA_C' => $row['add_time'],
'DATA_D' => $row['potal_order'],
'DATA_E' => $row['show_topic'],
'SHOW_LIST' => FALSE,
'SHOW_FORM' => TRUE,
'MODE' => 'insert',
));
break;
case 'del':
if(confirm_box(TRUE)){
$sql = "DELETE FROM phpbb_m_topic_portal WHERE id = ".$id;
$db->sql_query($sql);
} else {
confirm_box(false, $user->lang['CONFIRM_OPERATION'], build_hidden_fields(array(
'mode' => $mode,
'id' => $id,
'action' => 'del'
)));
}
trigger_error($user->lang['DEL_DATA'].adm_back_link($this->u_action));
break;
default :
$template->assign_vars(array(
'U_ACTION' => $this->u_action . '&action=form',
'SHOW_LIST' => TRUE,
'SHOW_FORM' => FALSE,
'MODE' => 'search',
));
}
}
}