MET001.php 6.64 KB
<?php 
//*****************************************************************************
//* 
//* プログラム名:電子会議室
//* プログラムID:MET001.php
//* 機能        :閲覧
//* 作成者      :
//* 
//*****************************************************************************
header("Content-type: text/html; charset=EUC-JP");

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

//*** 緊急容量チェック(CIJ対策) ***
include("inc/SIZ000.inc");
//echo $PHP_FILE_SIZE."<hr>";
//echo $PHP_MAX_SIZE."<hr>";
if(($PHP_FILE_SIZE / $PHP_MAX_SIZE *100) > 100){
		$_SESSION["PHP_E_GRU_CAPA_OVER"] = "disabled";
}

include("./include/dbcon.inc");

$strSQL="";
$objRecSet="null";
$strSQLData="";
$objRecData="null";

//メニューセット
include("menu_opacity.php");
include("inc/MET001.inc");


if (empty($kanri_flg)){
	$kanri_flg=0;
}

//自分の所属を取得
$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= " and (bumon_cd =0 or bumon_cd = " .$objSyozoku->syozoku_cd ;
		$strJoken= " bumon_cd =0 or bumon_cd = " .$objSyozoku->syozoku_cd ;
	}else{
		$strJoken=$strJoken. " or bumon_cd=".$objSyozoku->syozoku_cd ;
	}
}
if (pg_numrows($objRec_s) == 0){
	$strJoken= " bumon_cd =0";
}

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

//電子会議室情報取得
//201310対応 kanri_flgは、1にならないのでif文削除
/*
if(($admin_session =="administrator") && ($kanri_flg==1)){
	//管理者用
	$strSQLData="SELECT * FROM mst_metcategory,mst_mettitle,meet_tbl " .
							"WHERE mst_metcategory.category_no=mst_mettitle.category_no " .
							" and mst_metcategory.category_no=meet_tbl.category_no " .
							" and mst_mettitle.title_no=meet_tbl.title_no " .
							" Order by mst_metcategory.disp_rank,mst_mettitle.disp_rank,meet_tbl.seq DESC";
							//" Order by mst_metcategory.disp_rank,mst_mettitle.title_no DESC,meet_tbl.seq DESC";
}else{
	//一般用
	$strSQLData="SELECT * FROM mst_metcategory,mst_mettitle,meet_tbl " .
							"WHERE mst_metcategory.category_no=mst_mettitle.category_no " .
							" and mst_metcategory.category_no=meet_tbl.category_no " .
							" and mst_mettitle.title_no=meet_tbl.title_no " .$strJoken .
							" Order by mst_metcategory.disp_rank,mst_mettitle.disp_rank,meet_tbl.seq DESC";
							//" Order by mst_metcategory.disp_rank,mst_mettitle.title_no DESC,meet_tbl.seq DESC";
							
}
*/
//最新情報は、JOINではなく最新1件だけ抽出するよう変更
$strSQLData  = "SELECT mst_metcategory.category_no, mst_metcategory.category_name, mst_mettitle.title_no,title_name, bumon_cd, ";
$strSQLData .= "(SELECT meet_date FROM meet_tbl ";
$strSQLData .= "WHERE mst_metcategory.category_no=meet_tbl.category_no AND mst_mettitle.title_no=meet_tbl.title_no ";
$strSQLData .= "ORDER BY seq DESC OFFSET 0 LIMIT 1) as meet_date, ";
$strSQLData .= "(SELECT memo FROM meet_tbl ";
$strSQLData .= "WHERE mst_metcategory.category_no=meet_tbl.category_no AND mst_mettitle.title_no=meet_tbl.title_no ";
$strSQLData .= "ORDER BY seq DESC LIMIT 1 OFFSET 0) as memo, ";
$strSQLData .= "(SELECT COUNT(*)  as cnt FROM pmeet_tbl ";
$strSQLData .= "WHERE pmeet_tbl.syain_cd = '$PHP_SYAIN_CD' AND mst_metcategory.category_no=pmeet_tbl.category_no ";
$strSQLData .= "AND mst_mettitle.title_no=pmeet_tbl.title_no AND read_flg=0 )";
$strSQLData .= " as cnt ";
$strSQLData .= "FROM mst_metcategory";
$strSQLData .= " JOIN mst_mettitle ON mst_metcategory.category_no = mst_mettitle.category_no ";
$strSQLData .= " WHERE ".$strJoken ;
$strSQLData .= " ORDER BY mst_metcategory.disp_rank,mst_mettitle.disp_rank";

$objRecData = pg_exec($strSQLData);
if($objRecData==false){
		echo("SQL実行に失敗しました(SELECT)");
		exit;
}
$i=1;
$j = 0;
for ($intCnt = 0; $intCnt < pg_numrows($objRecData); $intCnt++) {
	$objData = pg_fetch_object($objRecData, $intCnt);
	//発言がなかったら表示しない
	if ( is_null( $objData->memo ) == False ) {

		if($objData->bumon_cd==0){
				$strBumonName[$j]="全部門";
		}else{
				//部門情報取得
				$strSQLbumon = "SELECT bumon_name FROM mst_bumon Where syozoku_cd=$objData->bumon_cd";
				$objRec = pg_exec($strSQLbumon);
				if($objRec==false){
					echo("SQL実行に失敗しました(SELECT)");
					exit;
				}
				$objBumon = pg_fetch_object($objRec, 0);
				$strBumonName[$j]=$objBumon->bumon_name;
		}
		$category_no[$j] = $objData->category_no;
		$category_name[$j] = $objData->category_name;

		//最新発言内容
		$memo[$j] = str_replace ("\n", "", $objData->memo); 
		if (strlen($memo[$j]) > 20 ){
				$memo[$j] = mb_convert_kana($memo[$j] , "A", "EUC-JP");
				$memo[$j] = mb_substr(($memo[$j]),0,20) ."...";
		}
		//最新発言日付
		$meet_date[$j] = $objData->meet_date;
		
		$arrtitle_no[$j] = $objData->title_no;

		//SQLを変えたので、if文不要
		//if(($intTitle_bk[$j] != $objData->title_no)){
				$intctg=$objData->category_no;
				$inttil=$objData->title_no;

				//*****未読電子会議室*****//
				/*
				$SQL = "SELECT seq FROM pmeet_tbl Where syain_cd = '$PHP_SYAIN_CD' and category_no=$intctg and title_no=$inttil and read_flg=0 ";
				$MEET_RS = pg_exec($SQL);
				$intMeet[$j]=pg_numrows($MEET_RS);
				*/
				$intMeet[$j] = $objData->cnt;
				if ($intMeet[$j]==0){
						$BgColor[$j] = "tblAl";
				}else{
						$BgColor[$j] = "tblUn";
				}

				$title_name[$j]=$objData->title_name;
				//$meet_date[$j] = $objData->meet_date;
				//$intTitle_bk[$j+1]=$objData->title_no;
		//}else{
		//		$intTitle_bk[$j+1]=$intTitle_bk[$j];
		//}

		//rowspan
		if($intCtgory_bk[$j] == $category_no[$j]){
			if(($intTitle_bk[$j] != $objData->title_no)){
				$i++;
			}
		}else{
			$colNum[$pos]=$i;
			$pos=$j;
			$i=1;
		}

		$intCtgory_bk[$j+1]=$objData->category_no;
		$j++;
	}

}

//rowspan
$colNum[$pos]=$i;

$o_smarty->assign('admin_session',$admin_session);
$o_smarty->assign('kanri_flg',$kanri_flg);
$o_smarty->assign('strBumonName',$strBumonName);
$o_smarty->assign('category_no',$category_no);
$o_smarty->assign('intCtgory_bk',$intCtgory_bk);
$o_smarty->assign('category_name',$category_name);
$o_smarty->assign('memo',$memo);
$o_smarty->assign('arrtitle_no',$arrtitle_no);
$o_smarty->assign('title_no',$title_no);
$o_smarty->assign('title_name',$title_name);
$o_smarty->assign('intTitle_bk',$intTitle_bk);
$o_smarty->assign('meet_date',$meet_date);
$o_smarty->assign('intMeet',$intMeet);
$o_smarty->assign('BgColor',$BgColor);
$o_smarty->assign('colNum',$colNum);

$o_smarty->assign('PHP_TITLE_NAME',$PHP_TITLE_NAME[5]);

$o_smarty->display('MET001.tpl');
?>