Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/Ecombricks/Inventory/Framework/Model/ResourceModel/Db/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //home/corals/Ecombricks/Inventory/Framework/Model/ResourceModel/Db/SourceTrait.php
<?php
/**
 * Copyright © eComBricks. All rights reserved.
 * See LICENSE.txt for license details.
 */
namespace Ecombricks\Inventory\Framework\Model\ResourceModel\Db;

/**
 * Resource source trait
 */
trait SourceTrait
{
    
    /**
     * Get source code
     * 
     * @param \Magento\Framework\Model\AbstractModel|\Magento\Framework\DataObject $model
     * @return string|null
     */
    public function getSourceCode($model)
    {
        if (empty($this->sourceTable)) {
            return $model->getSourceCode();
        }
        $modelId = $model->getId();
        if (empty($modelId)) {
            return null;
        }
        $connection = $this->getConnection();
        $select = $connection->select()
            ->from($this->getTable($this->sourceTable), ['source_code'])
            ->where($this->getIdFieldName().' = ?', $modelId);
        $sourceCode = $connection->fetchOne($select);
        return ($sourceCode) ? $sourceCode : null;
    }
    
    /**
     * Load source code
     * 
     * @param \Magento\Framework\Model\AbstractModel|\Magento\Framework\DataObject $model
     * @return $this
     */
    public function loadSourceCode($model)
    {
        if (empty($this->sourceTable)) {
            return $this;
        }
        $model->setSourceCode($this->getSourceCode($model));
        return $this;
    }
    
    /**
     * Delete source code
     * 
     * @param \Magento\Framework\Model\AbstractModel|\Magento\Framework\DataObject $model
     * @return $this
     */
    public function deleteSourceCode($model)
    {
        if (empty($this->sourceTable)) {
            return $this;
        }
        $connection = $this->getConnection();
        $modelId = $model->getId();
        if (empty($modelId)) {
            return $this;
        }
        $connection->delete($this->getTable($this->sourceTable), [$this->getIdFieldName().' = ?' => $modelId]);
        return $this;
    }
    
    /**
     * Save source code
     * 
     * @param \Magento\Framework\Model\AbstractModel|\Magento\Framework\DataObject $model
     * @return $this
     */
    public function saveSourceCode($model)
    {
        if (empty($this->sourceTable)) {
            return $this;
        }
        $connection = $this->getConnection();
        $modelId = $model->getId();
        if (empty($modelId)) {
            return $this;
        }
        $sourceCode = $model->getSourceCode();
        if (empty($sourceCode)) {
            $this->deleteSourceCode($model);
            return $this;
        }
        $sourceTable = $this->getTable($this->sourceTable);
        $oldSourceCode = $this->getSourceCode($model);
        if (empty($oldSourceCode)) {
            $connection->insert($sourceTable, [$this->getIdFieldName() => $modelId, 'source_code' => $sourceCode]);
            return $this;
        }
        if ($oldSourceCode !== $sourceCode) {
            $connection->update($sourceTable, ['source_code' => $sourceCode], [$this->getIdFieldName().' = ?' => $modelId]);
            return $this;
        }
        return $this;
    }
    
}

Spamworldpro Mini