add missing files

This commit is contained in:
Daniel Seifert 2019-06-13 12:10:12 +02:00
parent 5293ec3c8c
commit 7be4a27826
3 changed files with 396 additions and 0 deletions

View File

@ -0,0 +1,174 @@
<?php //006ed
// This Software is the property of D³ Data Development and is protected by copyright law - it is NOT Freeware. Any unauthorized use of this software without a valid license key is a violation of the license agreement and will be prosecuted by civil and criminal law. Inhaber: Thomas Dartsch Alle Rechte vorbehalten @package Wasserzeichen @version 3.1.0.0 PHP56 (07.06.2019) @author Daniel Seifert support@shopmodule.com @copyright (C) 2019, D3 Data Development @see http://www.shopmodule.com
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'<a href="http://www.ioncube.com">ionCube</a>')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'<a href="http://get-loader.ioncube.com">get-loader.ioncube.com</a>')." for install assistance.\n\n");exit(199);
?>
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

211
src/bin/d3watermark Normal file
View File

@ -0,0 +1,211 @@
#!/usr/bin/env php
<?php
/**
* This Software is the property of Data Development and is protected
* by copyright law - it is NOT Freeware.
*
* Any unauthorized use of this software without a valid license
* is a violation of the license agreement and will be prosecuted by
* civil and criminal law.
*
* http://www.shopmodule.com
*
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
* @author D3 Data Development - Daniel Seifert <support@shopmodule.com>
* @link http://www.oxidmodule.com
*/
namespace D3\Watermark;
use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
use D3\ModCfg\Application\Model\Maintenance\d3clrtmp;
use D3\Watermark\Models\d3watermarkImageGenerator;
use Dariuszp\CliProgressBar;
use Doctrine\DBAL\DBALException;
use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
use OxidEsales\Eshop\Core\Exception\StandardException;
use OxidEsales\Eshop\Core\Module\Module;
use splitbrain\phpcli\CLI;
use splitbrain\phpcli\Options;
$bootstrapFileName = getenv('ESHOP_BOOTSTRAP_PATH');
if (!empty($bootstrapFileName)) {
$bootstrapFileName = realpath(trim(getenv('ESHOP_BOOTSTRAP_PATH')));
} else {
$count = 0;
$bootstrapFileName = '../../../../../source/bootstrap.php';
$currentDirectory = __DIR__ . '/';
while ($count < 5) {
$count++;
if (file_exists($currentDirectory . $bootstrapFileName)) {
$bootstrapFileName = $currentDirectory . $bootstrapFileName;
break;
}
$bootstrapFileName = '../' . $bootstrapFileName;
}
}
if (!(file_exists($bootstrapFileName) && !is_dir($bootstrapFileName))) {
$items = [
"Unable to find eShop bootstrap.php file.",
"You can override the path by using ESHOP_BOOTSTRAP_PATH environment variable.",
"\n"
];
$message = implode(" ", $items);
die($message);
}
require_once($bootstrapFileName);
ini_set('error_reporting', E_ERROR);
class d3watermark extends CLI
{
// register options and arguments
protected function setup(Options $options)
{
$options->setHelp('Provides maintenance functions for article images');
$options->registerCommand('delete', 'delete generated object images');
$options->registerCommand('generate', 'call object images to start generation of not existing one');
$options->registerCommand('renew', 'renew object images');
$options->registerOption('version', 'print version', 'v');
$options->registerArgument('types', 'affected image types - possible types are: '.d3watermarkImageGenerator::ALL.', '.d3watermarkImageGenerator::PRODUCT.', '.d3watermarkImageGenerator::CATEGORY.', '.d3watermarkImageGenerator::MANUFACTURER.', '.d3watermarkImageGenerator::VENDOR.', '.d3watermarkImageGenerator::WRAPPING, false);
}
/**
* @param Options $options
*
* @throws DBALException
* @throws DatabaseConnectionException
* @throws DatabaseErrorException
* @throws StandardException
* @throws d3ShopCompatibilityAdapterException
* @throws d3_cfg_mod_exception
*/
protected function main(Options $options)
{
if ($options->getOpt('version')) {
$oModule = oxNew(Module::class);
$oModule->load('d3_watermark');
$this->info($oModule->getModuleData()['version']);
}
switch ($options->getCmd()) {
case 'delete':
$this->startDeleting($options);
break;
case 'generate':
$this->startGenerating($options);
break;
case 'renew':
$this->startDeleting($options);
$this->startGenerating($options);
break;
default:
echo $options->help();
}
}
/**
* @param Options $options
*
* @throws DBALException
* @throws d3ShopCompatibilityAdapterException
* @throws d3_cfg_mod_exception
* @throws DatabaseConnectionException
* @throws DatabaseErrorException
* @throws StandardException
*/
public function startDeleting(Options $options)
{
/** @var $oClrTmp d3clrtmp */
$oClrTmp = oxNew(d3clrtmp::class);
switch (trim(strtolower($options->getArgs()[0]))) {
case d3watermarkImageGenerator::PRODUCT:
$oClrTmp->clearGeneratedProductImgs();
$this->info('generated product images are deleted');
break;
case d3watermarkImageGenerator::CATEGORY:
$oClrTmp->clearGeneratedCategoryImgs();
$this->info('generated category images are deleted');
break;
case d3watermarkImageGenerator::MANUFACTURER:
$oClrTmp->clearGeneratedManufacturerImgs();
$this->info('generated manufacturer images are deleted');
break;
case d3watermarkImageGenerator::VENDOR:
$oClrTmp->clearGeneratedVendorImgs();
$this->info('generated vendor images are deleted');
break;
case d3watermarkImageGenerator::WRAPPING:
$oClrTmp->clearGeneratedWrappingImgs();
$this->info('generated wrapping images are deleted');
break;
case d3watermarkImageGenerator::ALL:
$oClrTmp->clearGeneratedAllImgs();
$this->info('all generated images are deleted');
break;
default:
$this->error('no valid image type specified, check argument "type"');
};
}
/**
* @param Options $options
*
* @throws DBALException
*/
public function startGenerating(Options $options)
{
switch (trim(strtolower($options->getArgs()[0]))) {
case d3watermarkImageGenerator::PRODUCT:
case d3watermarkImageGenerator::CATEGORY:
case d3watermarkImageGenerator::MANUFACTURER:
case d3watermarkImageGenerator::VENDOR:
case d3watermarkImageGenerator::WRAPPING:
case d3watermarkImageGenerator::ALL:
$oWMImageGenerator = oxNew( d3watermarkImageGenerator::class, $options->getArgs()[0] );
$blBar = $this->canShowProgressBar( $options );
if ( $blBar ) {
$bar = new CliProgressBar( $oWMImageGenerator->getImagesListCount(), 0, "processing:" );
$bar->display();
}
for ( $i = 0; $i < $oWMImageGenerator->getImagesListCount(); $i ++ ) {
if ( $blBar ) {
$bar->progress( 1 );
}
$oWMImageGenerator->generateProductImagesRange( $i );
}
if ( $blBar ) {
$bar->end();
}
break;
default:
$this->error( 'no valid image type specified, check argument "type"' );
}
}
public function canShowProgressBar(Options $options)
{
return in_array(
strtolower($options->getOpt('loglevel')),
[
'',
'info',
'debug'
]
);
}
}
$cli = new d3watermark();
$cli->run();

11
src/public/.htaccess Normal file
View File

@ -0,0 +1,11 @@
<FilesMatch ".*">
<IfModule mod_authz_core.c>
# Apache 2.4
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
order deny,allow
allow from all
</IfModule>
</FilesMatch>