making files table generic + adding file type (ext)
This commit is contained in:
@@ -247,7 +247,7 @@ class Databap extends PhpObject
|
|||||||
self::STEP_TABLE => array(MySqlManager::getId(self::PROC_TABLE), 'description'),
|
self::STEP_TABLE => array(MySqlManager::getId(self::PROC_TABLE), 'description'),
|
||||||
self::IMG_TABLE => array(MySqlManager::getId(self::PROC_TABLE), MySqlManager::getId(self::STEP_TABLE), 'description', 'file_name'),
|
self::IMG_TABLE => array(MySqlManager::getId(self::PROC_TABLE), MySqlManager::getId(self::STEP_TABLE), 'description', 'file_name'),
|
||||||
self::DOC_TABLE => array(MySqlManager::getId(self::USER_TABLE), 'title', 'description', 'refer_id'),
|
self::DOC_TABLE => array(MySqlManager::getId(self::USER_TABLE), 'title', 'description', 'refer_id'),
|
||||||
self::FILE_TABLE => array(MySqlManager::getId(self::DOC_TABLE), 'description', 'file_name'),
|
self::FILE_TABLE => array('id_item', 'type', 'description', 'hash', 'extension'),
|
||||||
self::SEARCH_TABLE => array('id_item', 'refer_id', 'type', 'keywords'),
|
self::SEARCH_TABLE => array('id_item', 'refer_id', 'type', 'keywords'),
|
||||||
self::ART_TABLE => array('title', 'link', 'date', 'first_name', 'last_name', 'email'),
|
self::ART_TABLE => array('title', 'link', 'date', 'first_name', 'last_name', 'email'),
|
||||||
self::TABL_TABLE => array(MySqlManager::getId(self::USER_TABLE), 'title', 'description', 'system', 'keywords', 'refer_id')
|
self::TABL_TABLE => array(MySqlManager::getId(self::USER_TABLE), 'title', 'description', 'system', 'keywords', 'refer_id')
|
||||||
@@ -258,6 +258,7 @@ class Databap extends PhpObject
|
|||||||
'last_name' => "varchar(20) NOT NULL",
|
'last_name' => "varchar(20) NOT NULL",
|
||||||
'nickname' => "varchar(50) NOT NULL",
|
'nickname' => "varchar(50) NOT NULL",
|
||||||
'email' => "varchar(100) NOT NULL",
|
'email' => "varchar(100) NOT NULL",
|
||||||
|
'hash' => "varchar(32) NOT NULL",
|
||||||
'pass' => "varchar(255) NOT NULL",
|
'pass' => "varchar(255) NOT NULL",
|
||||||
'auth_cookie' => "varchar(255) NOT NULL",
|
'auth_cookie' => "varchar(255) NOT NULL",
|
||||||
'active' => "tinyint(1) DEFAULT ".self::MEMBER_ACTIVE,
|
'active' => "tinyint(1) DEFAULT ".self::MEMBER_ACTIVE,
|
||||||
@@ -283,7 +284,8 @@ class Databap extends PhpObject
|
|||||||
MySqlManager::getText(self::COMP_TABLE) => "varchar(30) NOT NULL",
|
MySqlManager::getText(self::COMP_TABLE) => "varchar(30) NOT NULL",
|
||||||
'logo' => "varchar(20) NOT NULL",
|
'logo' => "varchar(20) NOT NULL",
|
||||||
'date' => "date NOT NULL",
|
'date' => "date NOT NULL",
|
||||||
'system' => "varchar(3)"
|
'system' => "varchar(3)",
|
||||||
|
'extension' => "varchar(10)"
|
||||||
);
|
);
|
||||||
$asOptions['constraints'] = array
|
$asOptions['constraints'] = array
|
||||||
(
|
(
|
||||||
@@ -913,22 +915,23 @@ class Databap extends PhpObject
|
|||||||
$iDbDocId = $this->oMySql->insertRow(self::DOC_TABLE, $asData);
|
$iDbDocId = $this->oMySql->insertRow(self::DOC_TABLE, $asData);
|
||||||
|
|
||||||
//Load doc files into database
|
//Load doc files into database
|
||||||
$asDocData[MySqlManager::getId(self::DOC_TABLE)] = $iDbDocId;
|
$asDocData['id_item'] = $iDbDocId;
|
||||||
|
$asDocData['type'] = self::DOC_TYPE;
|
||||||
foreach($asDocs as $asDocInfo)
|
foreach($asDocs as $asDocInfo)
|
||||||
{
|
{
|
||||||
//insert into database
|
//insert into database
|
||||||
$sFileName = $asDocInfo['name'];
|
$sFileName = $asDocInfo['name'];
|
||||||
|
$asFileInfo = pathinfo($sFileName);
|
||||||
|
|
||||||
$asDocData['description'] = $asDocInfo['desc'];
|
$asDocData['description'] = $asDocInfo['desc'];
|
||||||
$asDocData['file_name'] = $sFileName;
|
$asDocData['hash'] = $asFileInfo['filename'];;
|
||||||
|
$asDocData['extension'] = $asFileInfo['extension'];
|
||||||
$iDbImageId = $this->oMySql->insertRow(self::FILE_TABLE, $asDocData);
|
$iDbImageId = $this->oMySql->insertRow(self::FILE_TABLE, $asDocData);
|
||||||
|
|
||||||
//Move file
|
//Move file
|
||||||
$sTempFilePath = self::DOC_TMP_FOLDER.$sFileName;
|
$sTempFilePath = self::DOC_TMP_FOLDER.$sFileName;
|
||||||
$sFilePath = self::DOC_FOLDER.$sFileName;
|
$sFilePath = self::DOC_FOLDER.$sFileName;
|
||||||
if(!rename($sTempFilePath, $sFilePath))
|
if(!rename($sTempFilePath, $sFilePath)) $this->addError('Unmoveable file : '.$sTempFilePath);
|
||||||
{
|
|
||||||
$this->addError('Unmoveable file : '.$sTempFilePath);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//Add this doc to the group
|
//Add this doc to the group
|
||||||
@@ -958,11 +961,12 @@ class Databap extends PhpObject
|
|||||||
$asDoc['company'] = $asUser['company'];
|
$asDoc['company'] = $asUser['company'];
|
||||||
|
|
||||||
//Extract doc files
|
//Extract doc files
|
||||||
$asFiles = $this->oMySql->selectRows(array('from'=>self::FILE_TABLE, 'constraint'=>array('id_doc'=>$iDocId)));
|
$sFileIdCol = MySqlManager::getId(self::FILE_TABLE);
|
||||||
|
$asFiles = $this->oMySql->selectRows(array('from'=>self::FILE_TABLE, 'constraint'=>array('id_item'=>$iDocId, 'type'=>self::DOC_TYPE)));
|
||||||
foreach($asFiles as $asFile)
|
foreach($asFiles as $asFile)
|
||||||
{
|
{
|
||||||
$asDoc['files'][$asFile[MySqlManager::getId(self::FILE_TABLE)]] = array('description'=>self::getDescriptionFormat($asFile['description']),
|
$asDoc['files'][$asFile[$sFileIdCol]] = array( 'description' => self::getDescriptionFormat($asFile['description']),
|
||||||
'ext'=>pathinfo($asFile['file_name'], PATHINFO_EXTENSION));
|
'ext' => $asFile['extension']);
|
||||||
}
|
}
|
||||||
|
|
||||||
return self::jsonExport($asDoc);
|
return self::jsonExport($asDoc);
|
||||||
@@ -1057,10 +1061,9 @@ class Databap extends PhpObject
|
|||||||
{
|
{
|
||||||
//File info
|
//File info
|
||||||
$asFileInfo = $this->oMySql->selectRow(self::FILE_TABLE, $iFileId);
|
$asFileInfo = $this->oMySql->selectRow(self::FILE_TABLE, $iFileId);
|
||||||
$sFileName = $asFileInfo['file_name'];
|
$sFileExt = $asFileInfo['extension'];
|
||||||
$sFileExt = mb_strtolower(pathinfo($sFileName, PATHINFO_EXTENSION));
|
|
||||||
$sFileDesc = str_replace("&", '\&', str_replace(" ", '\ ', addslashes($asFileInfo['description']))).'.'.$sFileExt;
|
$sFileDesc = str_replace("&", '\&', str_replace(" ", '\ ', addslashes($asFileInfo['description']))).'.'.$sFileExt;
|
||||||
$sFilePath = self::DOC_FOLDER.$sFileName;
|
$sFilePath = self::DOC_FOLDER.$asFileInfo['hash'].'.'.$asFileInfo['extension'];
|
||||||
$sFileFullPath = dirname($_SERVER['SCRIPT_FILENAME'])."/".$sFilePath;
|
$sFileFullPath = dirname($_SERVER['SCRIPT_FILENAME'])."/".$sFilePath;
|
||||||
$sResult = '';
|
$sResult = '';
|
||||||
|
|
||||||
|
|||||||
@@ -57,9 +57,8 @@ class SearchEngine extends PhpObject
|
|||||||
$asWords = array($asItemData['first_name'], $asItemData['last_name'], $asItemData['title']);
|
$asWords = array($asItemData['first_name'], $asItemData['last_name'], $asItemData['title']);
|
||||||
break;
|
break;
|
||||||
case Databap::DOC_TYPE:
|
case Databap::DOC_TYPE:
|
||||||
$sItemIdCol = MySqlManager::getId(Databap::DOC_TABLE);
|
|
||||||
$asItemData = $this->oMySql->selectRow(Databap::DOC_TABLE, $iItemId);
|
$asItemData = $this->oMySql->selectRow(Databap::DOC_TABLE, $iItemId);
|
||||||
$asItemFilesData = $this->oMySql->selectRows(array('select'=>'description', 'from'=>Databap::FILE_TABLE, 'constraint'=>array($sItemIdCol=>$iItemId)));
|
$asItemFilesData = $this->oMySql->selectRows(array('select'=>'description', 'from'=>Databap::FILE_TABLE, 'constraint'=>array('id_item'=>$iItemId, 'type'=>Databap::DOC_TYPE)));
|
||||||
$asWords = array('desc'=>$asItemData['description'], 'title'=>$asItemData['title']) + $asItemFilesData;
|
$asWords = array('desc'=>$asItemData['description'], 'title'=>$asItemData['title']) + $asItemFilesData;
|
||||||
break;
|
break;
|
||||||
case Databap::TABLE_TYPE:
|
case Databap::TABLE_TYPE:
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -1227,6 +1227,10 @@
|
|||||||
padding:20px 10px 10px 0px;
|
padding:20px 10px 10px 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#doc #doc_links a.button {
|
||||||
|
margin-top:5px;
|
||||||
|
}
|
||||||
|
|
||||||
/* Table */
|
/* Table */
|
||||||
|
|
||||||
#table #system {
|
#table #system {
|
||||||
|
|||||||
Reference in New Issue
Block a user