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::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::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::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')
|
||||
@@ -258,6 +258,7 @@ class Databap extends PhpObject
|
||||
'last_name' => "varchar(20) NOT NULL",
|
||||
'nickname' => "varchar(50) NOT NULL",
|
||||
'email' => "varchar(100) NOT NULL",
|
||||
'hash' => "varchar(32) NOT NULL",
|
||||
'pass' => "varchar(255) NOT NULL",
|
||||
'auth_cookie' => "varchar(255) NOT NULL",
|
||||
'active' => "tinyint(1) DEFAULT ".self::MEMBER_ACTIVE,
|
||||
@@ -283,7 +284,8 @@ class Databap extends PhpObject
|
||||
MySqlManager::getText(self::COMP_TABLE) => "varchar(30) NOT NULL",
|
||||
'logo' => "varchar(20) NOT NULL",
|
||||
'date' => "date NOT NULL",
|
||||
'system' => "varchar(3)"
|
||||
'system' => "varchar(3)",
|
||||
'extension' => "varchar(10)"
|
||||
);
|
||||
$asOptions['constraints'] = array
|
||||
(
|
||||
@@ -913,22 +915,23 @@ class Databap extends PhpObject
|
||||
$iDbDocId = $this->oMySql->insertRow(self::DOC_TABLE, $asData);
|
||||
|
||||
//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)
|
||||
{
|
||||
//insert into database
|
||||
$sFileName = $asDocInfo['name'];
|
||||
$asFileInfo = pathinfo($sFileName);
|
||||
|
||||
$asDocData['description'] = $asDocInfo['desc'];
|
||||
$asDocData['file_name'] = $sFileName;
|
||||
$asDocData['hash'] = $asFileInfo['filename'];;
|
||||
$asDocData['extension'] = $asFileInfo['extension'];
|
||||
$iDbImageId = $this->oMySql->insertRow(self::FILE_TABLE, $asDocData);
|
||||
|
||||
//Move file
|
||||
$sTempFilePath = self::DOC_TMP_FOLDER.$sFileName;
|
||||
$sFilePath = self::DOC_FOLDER.$sFileName;
|
||||
if(!rename($sTempFilePath, $sFilePath))
|
||||
{
|
||||
$this->addError('Unmoveable file : '.$sTempFilePath);
|
||||
}
|
||||
if(!rename($sTempFilePath, $sFilePath)) $this->addError('Unmoveable file : '.$sTempFilePath);
|
||||
}
|
||||
|
||||
//Add this doc to the group
|
||||
@@ -958,11 +961,12 @@ class Databap extends PhpObject
|
||||
$asDoc['company'] = $asUser['company'];
|
||||
|
||||
//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)
|
||||
{
|
||||
$asDoc['files'][$asFile[MySqlManager::getId(self::FILE_TABLE)]] = array('description'=>self::getDescriptionFormat($asFile['description']),
|
||||
'ext'=>pathinfo($asFile['file_name'], PATHINFO_EXTENSION));
|
||||
$asDoc['files'][$asFile[$sFileIdCol]] = array( 'description' => self::getDescriptionFormat($asFile['description']),
|
||||
'ext' => $asFile['extension']);
|
||||
}
|
||||
|
||||
return self::jsonExport($asDoc);
|
||||
@@ -1057,10 +1061,9 @@ class Databap extends PhpObject
|
||||
{
|
||||
//File info
|
||||
$asFileInfo = $this->oMySql->selectRow(self::FILE_TABLE, $iFileId);
|
||||
$sFileName = $asFileInfo['file_name'];
|
||||
$sFileExt = mb_strtolower(pathinfo($sFileName, PATHINFO_EXTENSION));
|
||||
$sFileExt = $asFileInfo['extension'];
|
||||
$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;
|
||||
$sResult = '';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user