ACC SHELL
<?php
// functions
require_once( $serverFullPath.'functions.php' );
// ETS
require_once( $serverFullPath.'ets.php' );
class pageItemContent25 extends pageItemContent
{
private $_pageItemType = 25;
protected $_db;
private $_pageID;
private $_pathPage;
// --------------------------------------------------------------------------------
public function __construct( $db, $pageID, $_pathPage )
{
$this->_db = $db;
$this->_pageID = $pageID;
$this->_pathPage = '../..' . $_pathPage . '/';
}
// --------------------------------------------------------------------------------
public function insert( $position )
{
$return = array();
if ( $this->_db->insertItem( 'pageItem', array( 'pageID'=>$this->_pageID, 'type'=>$this->_pageItemType, 'position'=>$position ) ) )
{
$newPageItemID = $this->_db->getLastID();
if ( $this->_db->insertItem( 'pageItemContent'.$this->_pageItemType, array() ) )
{
$newPageItemContentID = $this->_db->getLastID();
$this->_db->setItem( 'pageItem', $newPageItemID, array( 'pageItemContentID'=>$newPageItemContentID ) );
// save default data
$settings_ = $this->_db->getItem( 'settings', 1 );
$this->_db->setItem( 'pageItemContent'.$this->_pageItemType, $newPageItemContentID, array(
'emailToEmail' => $settings_['contactFormEmail'],
'emailFromName' => $settings_['contactFormEmailName'], 'emailFromEmail' => $settings_['contactFormEmail'],
'textPredefined' => '', 'filesEnabled' => 0, 'newsletterEnabled' => 0
) );
$return['statusOK'] = 'Položka byla uložená.';
}
else
{
$this->_db->deleteItem( 'pageItem', $newPageItemID );
$return['statusError'] = 'Při ukládání dat(položky) vznikla chyba.';
}
}
else
{
$return['statusError'] = 'Při ukládání dat vznikla chyba.';
}
return $return;
}
// --------------------------------------------------------------------------------
public function delete( $pageItemID )
{
$return = array();
$pageItem = $this->_db->getItem( 'pageItem', $pageItemID );
$pageItemContent = $this->_db->getItem( 'pageItemContent'.$this->_pageItemType, $pageItem['pageItemContentID'] );
if ( isset( $pageItem['ID'] ) && isset( $pageItemContent['ID'] ) )
{
if ( $this->_db->deleteItem( 'pageItem', $pageItem['ID'] ) &&
$this->_db->deleteItem( 'pageItemContent'.$this->_pageItemType, $pageItemContent['ID'] ) )
{
$return['statusOK'] = 'Položka byla smazána.';
}
else
{
$return['statusError'] = 'Při mazání dat vznikla chyba.';
}
}
else
{
$return['statusError'] = 'Při pokuse o mazání dat vznikla chyba.';
}
return $return;
}
// --------------------------------------------------------------------------------
public function show( $pageItemID, $serverFullPath = '', $isAdmin = false )
{
$pageItem = $this->_db->getItem( 'pageItem', $pageItemID );
$pageItemContent = $this->_db->getItem( 'pageItemContent'.$this->_pageItemType, $pageItem['pageItemContentID'] );
$htmlPageItem = new stdClass();
$htmlPageItem->pageItemID = $pageItemID;
$htmlPageItem->isAdmin = $isAdmin;
if ( $isAdmin == false )
{
$formType = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
$emailSubject = 'Zprava z kontaktniho formulare';
$_name = '';
$_company = '';
$_phone = '';
$_email = '';
$_text = '';
$registerOutputScript = '';
if ( isset( $_POST['contactForm25-name'] ) && isset( $_POST['contactForm25-email'] ) && isset( $_POST['contactForm25-text'] ) )
{
$_name = trim( $_POST['contactForm25-name'] );
$_company = trim( $_POST['contactForm25-company'] );
$_phone = trim( $_POST['contactForm25-phone'] );
$_email = trim( $_POST['contactForm25-email'] );
$_text = trim( $_POST['contactForm25-text'] );
$_dvacetdva = trim( $_POST['contactForm25-22'] );
if ( ( $_name != '' ) && ($_email != '' ) && ($_text != '' ) && (($_dvacetdva == '321' ) || ($_dvacetdva == '3 2 1' )) && ( preg_match( "/^[\ a-z0-9._-]+@[a-z0-9.-]+\.[a-z]{2,6}$/i", $_email ) > 0 ) )
{
$registerOutputURLparams = '';
$_newsletter = 0;
if ( isset( $_POST['contactForm25-newsletter'] ) )
{
$_newsletter = trim( $_POST['contactForm25-newsletter'] );
if ( $_newsletter == 'on' )
$_newsletter = 1;
}
// all ok dialog
$registerOutputURLparams = '/parts/overlay-form.php?showRegisterForm=false';
// DB insert
$this->_db->insertItem( 'contactForm25', array(
'name' => $_name,
'company' => $_company,
'phone' => $_phone,
'email' => $_email,
'text' => $_text,
'newsletter' => $_newsletter,
'type' => $formType,
'emailFromName' => $pageItemContent[ 'emailFromName' ],
'emailFromEmail' => $pageItemContent[ 'emailFromEmail' ],
'emailToEmail' => $pageItemContent[ 'emailToEmail' ]
) );
$newFormID = $this->_db->getLastID();
/////
// save file (image)
$downloadText = '';
if ( $pageItemContent['filesEnabled'] )
{
$imageFileName = '';
$downloadText2 = '';
foreach ( $_FILES as $imageN => $file )
{
$imageFileName = basename( $file['name'] );
if ( ( $imageFileName != '' ) && ( isFilePHP( $file['tmp_name'] ) == false ) )
{
$imageFileName = 'form-' . time() . '-' . $imageFileName;
$sourceImageFileName = './data/form25/' . $imageFileName;
if ( move_uploaded_file( $file['tmp_name'], $sourceImageFileName ) )
{
$this->_db->setItem( 'contactForm25', $newFormID, array(
$imageN => $imageFileName
) );
$fileFullURL = 'http://' . $_SERVER['HTTP_HOST'] . '/data/form25/' . $imageFileName;
$downloadText2 .= '<a href="' . $fileFullURL . '" title="' . $imageFileName . '" target="_blank">' . $imageFileName . '</a><br/>';
}
}
}
if ( $downloadText2 != '' )
{
$downloadText = '<strong>K formuláři byly přiloženy soubory:</strong><br/>' . $downloadText2;
}
}
/////
// mail to admin
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
$shopMailEx = explode( ',', $pageItemContent[ 'emailFromEmail' ] );
$headers .= "From: " . $pageItemContent[ 'emailFromName' ] . " <" . $shopMailEx[0] . ">\r\n";
//$headers .= "Reply-To: " . $_name ." ". $_surname . " <" . $_email . ">\r\n";
$headers .= "BCC: spenat@tridvajedna.cz\r\n";
$fromURL = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
if ( isset($_GET['pi']) && ( is_numeric( $_GET['pi'] ) ) )
{
/*$product = $this->_db->getItem( 'product', $_GET['pi'] );
if ( isset( $product['ID'] ) )
{*/
$fromURL = $_SERVER['HTTP_REFERER'];
//}
}
$email = '
Dotaz ze stránek: http://' . $_SERVER['HTTP_HOST'] . '
<br/><br/>
<strong>Jméno a příjmení:</strong> ' . $_name . '<br/><br/>
<strong>Společnost:</strong> ' . $_company . '<br/><br/>
<strong>Telefon:</strong> ' . $_phone . '<br/><br/>
<strong>e-mail:</strong> ' . $_email . '<br/><br/>
<strong>Dotaz:</strong> ' . nl2br($_text) . '<br/>
' . $downloadText . '<br/>
<br/><br/>
Odesláno z URL: <a href="' . $fromURL . '" target="_blank">' . $fromURL . '</a>
';
mail( $pageItemContent[ 'emailToEmail' ], $emailSubject, $email, $headers );
// mail to user
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
$headers .= "From: " . $pageItemContent[ 'emailFromName' ] . " <" . $shopMailEx[0] . ">\r\n";
//$headers .= "BCC: spenat@tridvajedna.cz\r\n";
$email = '
Dobrý den,
potvrzujeme příjem zprávy ze stránek: http://' . $_SERVER['HTTP_HOST'] . ' s těmito údaji:
<br/><br/>
<strong>Jméno a příjmení:</strong> ' . $_name . '<br/><br/>
<strong>Společnost:</strong> ' . $_company . '<br/><br/>
<strong>Telefon:</strong> ' . $_phone . '<br/><br/>
<strong>e-mail:</strong> ' . $_email . '<br/><br/>
<strong>Dotaz:</strong> ' . nl2br($_text) . '<br/>
V nejbližší době Vás budeme kontaktovat.
';
mail( $_email, $emailSubject, $email, $headers );
unset( $_POST );
$_name = '';
$_company = '';
$_phone = '';
$_email = '';
$_text = '';
$_dvacetdva = '';
$registerOutputScript = '
$("#mainOverlay").overlay({
mask: {
color: "#f1f1f1",
loadSpeed: 200,
opacity: 0.88,
zIndex: 20000
},
top: 100,
closeOnClick: false,
load: true,
onLoad: function() {
var wrap = this.getOverlay().find( ".contentWrap" );
wrap.load( "' . $registerOutputURLparams . '" );
}
});
';
}
else
{
$registerOutputScript = '
alert( \'Nezadali jste správně všechny informace nutné k odeslání zprávy.\' );
';
}
}
else
{
if ( isset($_GET['pi']) && ( is_numeric( $_GET['pi'] ) ) )
{
$product = $this->_db->getItem( 'product', $_GET['pi'] );
if ( isset( $product['ID'] ) )
{
$htmlPageItem->textPredefined = 'Mám zájem o produkt: ' . $product['title'];
}
}
else
{
$htmlPageItem->textPredefined = $pageItemContent[ 'textPredefined' ];
}
}
$htmlPageItem->registerOutputScript = $registerOutputScript;
$htmlPageItem->filesEnabled = $pageItemContent['filesEnabled'];
$htmlPageItem->newsletterEnabled = $pageItemContent['newsletterEnabled'];
//
$htmlPageItem->showRegisterForm = true;
if ( isset( $_GET['showRegisterForm'] ) && ($_GET['showRegisterForm'] == 'false' ) )
$htmlPageItem->showRegisterForm = false;
//
return sprintt( $htmlPageItem, $serverFullPath . 'class.pageItemContent' . $this->_pageItemType . '-show.html' );
}
else
{
$htmlPageItem->emailToEmail = $pageItemContent['emailToEmail'];
$htmlPageItem->emailFromName = $pageItemContent['emailFromName'];
$htmlPageItem->emailFromEmail = $pageItemContent['emailFromEmail'];
$htmlPageItem->textPredefined = $pageItemContent['textPredefined'];
$htmlPageItem->filesEnabled = $pageItemContent['filesEnabled'];
$htmlPageItem->newsletterEnabled = $pageItemContent['newsletterEnabled'];
}
return sprintt( $htmlPageItem, $serverFullPath . 'class.pageItemContent' . $this->_pageItemType . '-show.html' );
}
// --------------------------------------------------------------------------------
public function edit( $pageItemID )
{
$pageItem = $this->_db->getItem( 'pageItem', $pageItemID );
$pageItemContent = $this->_db->getItem( 'pageItemContent'.$this->_pageItemType, $pageItem['pageItemContentID'] );
$htmlPageItem = new stdClass();
$htmlPageItem->pageID = $this->_pageID;
$htmlPageItem->pageItemID = $pageItemID;
$htmlPageItem->pageItemType = $this->_pageItemType;
$htmlPageItem->emailToEmail = $pageItemContent['emailToEmail'];
$htmlPageItem->emailFromName = $pageItemContent['emailFromName'];
$htmlPageItem->emailFromEmail = $pageItemContent['emailFromEmail'];
$htmlPageItem->textPredefined = $pageItemContent['textPredefined'];
$htmlPageItem->filesEnabled = $pageItemContent['filesEnabled'];
$htmlPageItem->newsletterEnabled = $pageItemContent['newsletterEnabled'];
// fixed save buttons
$htmlPageItem->fixedSaveButtons = $this->fixedSaveButtonsBeforeEdit();
return sprintt( $htmlPageItem, 'page/class.pageItemContent' . $this->_pageItemType . '-edit.html' );
}
// --------------------------------------------------------------------------------
public function save( $pageItemID )
{
$pageItem = $this->_db->getItem( 'pageItem', $pageItemID );
$pageItemContent = $this->_db->getItem( 'pageItemContent'.$this->_pageItemType, $pageItem['pageItemContentID'] );
// save data
$this->_db->setItem( 'pageItemContent'.$this->_pageItemType, $pageItem['pageItemContentID'], array(
'emailToEmail' => $_POST['emailToEmail'],
'emailFromName' => $_POST['emailFromName'], 'emailFromEmail' => $_POST['emailFromEmail'],
'textPredefined' => $_POST['textPredefined'], 'filesEnabled' => $_POST['filesEnabled'], 'newsletterEnabled' => $_POST['newsletterEnabled']
) );
return '
<div class="pageStatusOK"> Uloženo. </div>
';
}
}
?>
ACC SHELL 2018