28 \
Magento\Framework\DB\Helper $resourceHelper,
32 $this->_resourceHelper = $resourceHelper;
42 $this->
_init(
'media_storage_file_storage',
'file_id');
58 $dirStorageTable = $this->
getTable(
'media_storage_directory_storage');
65 \
Magento\Framework\DB\Ddl\Table::TYPE_INTEGER,
67 [
'identity' =>
true,
'unsigned' =>
true,
'nullable' =>
false,
'primary' =>
true],
71 \
Magento\Framework\DB\Ddl\Table::TYPE_VARBINARY,
72 \
Magento\Framework\DB\Ddl\Table::MAX_VARBINARY_SIZE,
73 [
'nullable' =>
false],
77 \
Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP,
79 [
'nullable' =>
false,
'default' => \
Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT],
83 \
Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
85 [
'nullable' =>
false],
89 \
Magento\Framework\DB\Ddl\Table::TYPE_INTEGER,
91 [
'unsigned' =>
true,
'default' =>
null],
92 'Identifier of Directory where File is Located' 95 \
Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
102 [
'filename',
'directory_id'],
103 \
Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE
105 [
'filename',
'directory_id'],
111 $connection->getForeignKeyName(
$table,
'directory_id', $dirStorageTable,
'directory_id'),
144 foreach ($rows as $key =>
$row) {
174 $object->setData(
$row);
207 [
'filename',
'content',
'directory']
229 $contentParam = new \Magento\Framework\DB\Statement\Parameter($file[
'content']);
230 $contentParam->setIsBlob(
true);
232 'content' => $contentParam,
233 'upload_time' => $file[
'update_time'],
234 'filename' => $file[
'filename'],
235 'directory_id' => $file[
'directory_id'],
236 'directory' => $file[
'directory'],
253 public function renameFile($oldFilename, $oldPath, $newFilename, $newPath)
256 $dataUpdate = [
'filename' => $newFilename,
'directory' => $newPath];
258 $dataWhere = [
'filename = ?' => $oldFilename];
259 $dataWhere[] = new \Zend_Db_Expr(
$connection->prepareSqlCondition(
'directory', [
'seq' => $oldPath]));
275 public function copyFile($oldFilename, $oldPath, $newFilename, $newPath)
285 $connection->prepareSqlCondition(
'directory', [
'seq' => $oldPath])
293 if (isset(
$data[
'file_id']) && isset(
$data[
'filename'])) {
294 unset(
$data[
'file_id']);
295 $data[
'filename'] = $newFilename;
296 $data[
'directory'] = $newPath;
339 $folderName = rtrim($folderName,
'/');
340 if (!strlen($folderName)) {
344 $likeExpression = $this->_resourceHelper->addLikeEscape($folderName .
'/', [
'position' =>
'start']);
362 $where = [
'filename = ?' => $filename];
363 $where[] = new \Zend_Db_Expr(
$connection->prepareSqlCondition(
'directory', [
'seq' => $directory]));
376 $directory = trim($directory,
'/');
381 [
'filename',
'directory',
'content']
383 $connection->prepareSqlCondition(
'directory', [
'seq' => $directory])
_init($mainTable, $idFieldName)
_afterLoad(\Magento\Framework\Model\AbstractModel $object)