BBS001-1.php 7.21 KB
<?php 
//*****************************************************************************
//* 
//* プログラム名:掲示板
//* プログラムID:BBS001.php
//* 機能        :掲示板一覧画面
//* 作成者      :
//* 
//*****************************************************************************

header("Content-type: text/html; charset=EUC-JP");

include("include/session_start.inc");
include("include/SessionChk.inc");
include("include/STRING.inc");
include("inc/Advertisement.inc");
include('./include/smarty.conf');

$o_smarty = new Smarty;
$o_smarty->clear_all_assign();

$strDBinc="include/dbcon.inc";
include($strDBinc);

//自分の所属を取得
$strSQL_s = "SELECT syozoku_cd FROM syozoku_tbl WHERE syain_cd ='$PHP_SYAIN_CD' ";
$objRec_s = pg_exec($strSQL_s);
if($objRec_s==false){
	echo("SQL実行に失敗しました(SELECT)");
	exit;
}

for ($intSyozoku=0; $intSyozoku < pg_numrows($objRec_s); $intSyozoku++){
	$objSyozoku = pg_fetch_object($objRec_s, $intSyozoku);
	if ($intSyozoku==0){
		$strJoken= " Where (bbs_TBL.syain_cd = '" .$PHP_SYAIN_CD . "' or send_bumon =0 or  send_bumon = " .$objSyozoku->syozoku_cd ;
	}else{
		$strJoken=$strJoken. " or send_bumon=".$objSyozoku->syozoku_cd ;
	}
}

if (pg_numrows($objRec_s) > 0){
	$strJoken=$strJoken. ") ";
}else{
	$strJoken= " and (send_bumon =0)";
}

//掲示板情報取得
//社員が途中で追加になった場合の対応
$strSQLchk = "SELECT seq,title,send_bumon,bbs_TBL.syain_cd FROM bbs_TBL " .$strJoken;
$objRecchk = pg_exec($strSQLchk);
if($objRecchk==false){
	echo("SQL実行に失敗しました(SELECT)");
	exit;
}
for ($intChk = 0; $intChk < pg_numrows($objRecchk); $intChk++) {
	$objchk = pg_fetch_object($objRecchk, $intChk);
	$intseq=$objchk->seq;
	$strSQL = "SELECT seq from pbbs_tbl Where syain_cd='$PHP_SYAIN_CD' and seq=$intseq ";
	$objRec = pg_exec($strSQL);
	if($objRec==false){
		echo("SQL実行に失敗しました(SELECT)");
		exit;
	}
	if (pg_numrows($objRec) == 0){
		$strSQLp = "Insert Into pbbs_tbl (seq,syain_cd,read_flg) values ($intseq,'$PHP_SYAIN_CD',1)";
		$objRecp = pg_exec($strSQLp);
		if($objRecp==false){
				echo("SQL実行に失敗しました(INSERT)");
				exit;
		}
	}
}
$strSQL = "SELECT bbs_TBL.syain_cd,read_flg,bbs_TBL.seq,title,syozoku_cd,send_bumon,voicedate,voicetime,filename,filename_jp,name_kj_sei,name_kj_mei,period ".
			"FROM bbs_TBL,pbbs_tbl,syain_TBL " .$strJoken.
			" and ( bbs_TBL.seq = pbbs_tbl.seq and pbbs_tbl.syain_cd ='$PHP_SYAIN_CD' and bbs_TBL.syain_cd =syain_tbl.syain_cd) ".
			//" Order by read_flg,seq DESC";
			" Order by ";
// ソート情報
switch ($Sort_Mode) {
	case "1":
		//件名
		$strSQL .= "read_flg,seq ";
		if ($Sort_Ptn == "1"){
			$Sort_Disp[1] = " ▲";
			$Sort_Val[1]  = "2";
		}else{
			$Sort_Disp[1] = " ▼";
			$Sort_Val[1]  = "1";
		}
		$Sort_Disp[2] = "";
		$Sort_Val[2]  = "1";
		$Sort_Disp[3] = "";
		$Sort_Val[3]  = "1";
		break;
	case "2":
		//表示期限
		$strSQL .= "period ";
		$Sort_Disp[1] = "";
		$Sort_Val[1]  = "1";
		if ($Sort_Ptn == "1"){
			$Sort_Disp[2] = " ▲";
			$Sort_Val[2]  = "2";
		}else{
			$Sort_Disp[2] = " ▼";
			$Sort_Val[2]  = "1";
		}
		$Sort_Disp[3] = "";
		$Sort_Val[3]  = "1";
		break;
	case "3":
		//タイトル
		$strSQL .= "title ";
		$Sort_Disp[1] = "";
		$Sort_Val[1]  = "1";
		$Sort_Disp[2] = "";
		$Sort_Val[2]  = "1";
		if ($Sort_Ptn == "1"){
			$Sort_Disp[3] = " ▲";
			$Sort_Val[3]  = "2";
		}else{
			$Sort_Disp[3] = " ▼";
			$Sort_Val[3]  = "1";
		}
		break;
	default:
		$Sort_Mode = 1;
		//受信日付
		$Sort_Disp[1] = " ▼";
		$Sort_Val[1] = "1";
		$Sort_Disp[2] = "";
		$Sort_Val[2] = "1";
		$Sort_Disp[3] = "";
		$Sort_Val[3] = "1";
		$strSQL .= "read_flg,seq ";
}

switch ($Sort_Ptn) {
	case "1":
		$strSQL .= "ASC ";
		break;
	case "2":
		$strSQL .= "DESC ";
		break;
	default:
		//受信日付
		$Sort_Ptn  = "2";
		$strSQL .= "DESC ";
}
$objRecSet = pg_exec($strSQL);
if($objRecSet==false){
	echo("SQL実行に失敗しました(SELECT)");
	exit;
}

//終了ページの取得
$intEndCnt=10 * ($intPage+1);

if ($intEndCnt>pg_numrows($objRecSet)){
	$intEndCnt=pg_numrows($objRecSet);
}

$i = 0;
for ($intCnt = 10 * $intPage; $intCnt < $intEndCnt; $intCnt++) {
	$objData = pg_fetch_object($objRecSet, $intCnt);

	$intCntP = $intCnt - 10 * $intPage;
	$send_bumon=$objData->send_bumon;
	$seq=$objData->seq;

	$Bumonlst=$objData->syozoku_cd;
	$Bumonlst=substr($objData->syozoku_cd,1);
	$Bumonlst=substr($Bumonlst,0,strlen($Bumonlst)-1);

	$strBumonName[$i]="";
	//部門名取得
	$Bumonlst=str_replace("/"," or syozoku_cd= ",$Bumonlst); 
	if($Bumonlst==""){
		$Bumonlst=0;
	}
	$strSQLbumon = "SELECT bumon_name FROM mst_bumon WHERE syozoku_cd =$Bumonlst Order by disp_rank";
	$objRecbumon = pg_exec($strSQLbumon);
	if($objRecbumon==false){
		echo("SQL実行に失敗しました(SELECT)");
		exit;
	}

	//送信者の部門名取得
	if ($send_bumon==0){
		$strSendBumon[$i]="全部門";
	}else{
		$strSendSql="SELECT bumon_name FROM mst_bumon WHERE syozoku_cd =$send_bumon" ;
		$objSend = pg_exec($strSendSql);
		if($objSend==false){
			echo("SQL実行に失敗しました(SELECT)");
			exit;
		}
		$objSendBumon = pg_fetch_object($objSend, 0);
		$strSendBumon[$i]=$objSendBumon->bumon_name;
	}

	$PhpDate[$i] = $objData->voicedate;
	$PhpTime[$i] = $objData->voicetime;
	$PhpTitle[$i] = $objData->title;
	$PhpName_kj_sei[$i] = $objData->name_kj_sei;
	$PhpName_kj_mei[$i] = $objData->name_kj_mei;
	$send_bumon[$i]=$objData->send_bumon;
	$PhpSeq[$i]=$objData->seq;

	$haifu_flg[$i] = 0;
	if ($objData->read_flg==0){
		$read_flg_name[$i] = '<font color="#FF0000">未読</font>';
		$BgColor[$i]      = "tblUn";
	}elseif($objData->syain_cd == $PHP_SYAIN_CD){
		$read_flg_name[$i] = '配布';
		$BgColor[$i]      = "tblAl";
		$haifu_flg[$i]     = 1;
	}else{
		$read_flg_name[$i] = '既読';
		$BgColor[$i]      = "tblAl";
	}
	if ($objData->filename==""){
		$file_name[$i] = ' ';
	}else{
		$strName=LINE_DEL($objData->filename_jp,50);
		$file_name[$i] = '<span class="Normalfont">◎</span>';
	}
	
	//掲示期限
	$temp = $objData->period;
	if(strlen($temp) == 12){
		$kigen[$i] = substr($temp,0,4)."/".substr($temp,4,2)."/".substr($temp,6,2)." ".substr($temp,8,2).":".substr($temp,10,2);
	}else{
		$kigen[$i] = "";
	}
	$i++;
}

if (($intPage > 0) && (pg_numrows($objRecSet) > (10 * ($intPage+1)))){
	$PageBackPrm = $intPage-1;
	$PageNextPrm = $intPage+1;
}elseif(($intPage > 0) && (pg_numrows($objRecSet) <= (10 * ($intPage+1)))){
	$PageBackPrm = $intPage-1;
	$PageNextPrm = "";
}elseif(($intPage == 0) && (pg_numrows($objRecSet) > (10 * ($intPage+1)))){
	$PageBackPrm = "";
	$PageNextPrm = $intPage+1;
}else{
	$PageBackPrm = "";
	$PageNextPrm = "";
}

$o_smarty->assign('PageBackPrm',$PageBackPrm);
$o_smarty->assign('PageNextPrm',$PageNextPrm);
$o_smarty->assign('PhpDate',$PhpDate);
$o_smarty->assign('PhpTime',$PhpTime);
$o_smarty->assign('PhpSeq',$PhpSeq);
$o_smarty->assign('PhpTitle',$PhpTitle);
$o_smarty->assign('PhpName_kj_sei',$PhpName_kj_sei);
$o_smarty->assign('PhpName_kj_mei',$PhpName_kj_mei);
$o_smarty->assign('strSendBumon',$strSendBumon);
$o_smarty->assign('file_name',$file_name);
$o_smarty->assign('read_flg_name',$read_flg_name);
$o_smarty->assign('BgColor',$BgColor);

$o_smarty->assign('intPage',$intPage);
$o_smarty->assign('kigen',$kigen);
$o_smarty->assign('haifu_flg',$haifu_flg);

$o_smarty->assign('Sort_Disp',$Sort_Disp);
$o_smarty->assign('Sort_Val',$Sort_Val);
$o_smarty->assign('Sort_Ptn',$Sort_Ptn);
$o_smarty->assign('Sort_Mode',$Sort_Mode);


$o_smarty->display('BBS001-1.tpl');

?>