ACC SHELL
<?php
// functions
require_once( $serverFullPath.'functions.php' );
// ETS
require_once( $serverFullPath.'ets.php' );
class pageItemContent29 extends pageItemContent
{
private $_pageItemType = 29;
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'],
'items' => '', '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 )
{
$_text = '';
$registerOutputScript = '';
if ( isset( $_POST['contactForm29-22'] ) )
{
$emailETS = new stdClass();
$emailSubject = 'Message from webform';
$fromURL = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
$_dvacetdva = trim( $_POST['contactForm29-22'] );
if ( (($_dvacetdva == '321' ) || ($_dvacetdva == '3 2 1' )) )
{
$_text = '';
$_email = '';
$registerOutputURLparams = '';
$_newsletter = 0;
if ( isset( $_POST['contactForm29-newsletter'] ) )
{
$_newsletter = trim( $_POST['contactForm29-newsletter'] );
if ( $_newsletter == 'on' )
$_newsletter = 1;
}
$items = explode( "\n", $pageItemContent['items'] );
if ( ( count($items) > 0 ) && ( $items[0] != '' ) )
{
for ( $i = 0; $i < count( $items ); $i++ )
{
$item = $items[ $i ];
$itemsLine = explode( "|", $item );
$emailETS->items[ $i ] = new stdClass();
$emailETS->items[ $i ]->n = $i + 1;
$emailETS->items[ $i ]->title = $item;
$emailETS->items[ $i ]->value = '';
if ( isset( $_POST[ 'contactForm29-item'.$emailETS->items[ $i ]->n ] ) )
$emailETS->items[ $i ]->value = trim( $_POST[ 'contactForm29-item'.$emailETS->items[ $i ]->n ] );
$emailETS->items[ $i ]->valueHTML = $emailETS->items[ $i ]->value;
$emailETS->items[ $i ]->type = 'singleLine';
if ( isset( $itemsLine[1] ) && ( trim($itemsLine[1]) == 'textarea' || trim($itemsLine[1]) == 'multiLine' ) )
{
$emailETS->items[ $i ]->type = 'multiLine';
$emailETS->items[ $i ]->valueHTML = nl2br( $emailETS->items[ $i ]->value );
}
if ( isset( $itemsLine[1] ) && ( trim($itemsLine[1]) == 'email' || trim($itemsLine[1]) == 'e-mail' ) )
{
$emailETS->items[ $i ]->type = 'email';
$_email = $emailETS->items[ $i ]->value;
}
if ( isset( $itemsLine[0] ) && ( trim($itemsLine[0]) != '' ) )
$emailETS->items[ $i ]->title = trim($itemsLine[0]);
$_text .= '<strong>' . $emailETS->items[ $i ]->title . ':</strong><br/>' . $emailETS->items[ $i ]->valueHTML . '<br/><br/>';
}
}
// all ok dialog
$registerOutputURLparams = '/parts/overlay-form.php?showRegisterForm=false';
// DB insert
$this->_db->insertItem( 'contactForm29', array(
'text' => $_text,
'newsletter' => $_newsletter,
'fromURL' => $fromURL,
'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/form29/' . $imageFileName;
if ( move_uploaded_file( $file['tmp_name'], $sourceImageFileName ) )
{
$this->_db->setItem( 'contactForm29', $newFormID, array(
$imageN => $imageFileName
) );
$fileFullURL = 'http://' . $_SERVER['HTTP_HOST'] . '/data/form29/' . $imageFileName;
$downloadText2 .= '<a href="' . $fileFullURL . '" title="' . $imageFileName . '" target="_blank">' . $imageFileName . '</a><br/>';
}
}
}
if ( $downloadText2 != '' )
{
$downloadText = '<strong>File attachments:</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";
$email = '
Message from web: http://' . $_SERVER['HTTP_HOST'] . '
<br/><br/>
' . $_text . '<br/>
' . $downloadText . '<br/>
<br/><br/>
Sent from URL: <a href="' . $fromURL . '" target="_blank">' . $fromURL . '</a>
';
mail( $pageItemContent[ 'emailToEmail' ], $emailSubject, $email, $headers );
// mail to user
if ( $_email != '' )
{
$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";
$email = '
Hello,
we acknowledge receipt of the message from http://'. $_SERVER['HTTP_HOST']. ' with the following information:
<br/><br/>
' . $_text . '<br/>
We will contact you as soon as possible.
';
mail( $_email, $emailSubject, $email, $headers );
}
unset( $_POST );
$_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( \'You have not correctly entered all the information you need to send the message.\' );
';
}
}
$htmlPageItem->registerOutputScript = $registerOutputScript;
$htmlPageItem->filesEnabled = $pageItemContent['filesEnabled'];
$htmlPageItem->newsletterEnabled = $pageItemContent['newsletterEnabled'];
$items = explode( "\n", $pageItemContent['items'] );
if ( ( count($items) > 0 ) && ( $items[0] != '' ) )
{
for ( $i = 0; $i < count( $items ); $i++ )
{
$item = $items[ $i ];
$itemsLine = explode( "|", $item );
$htmlPageItem->items[ $i ] = new stdClass();
$htmlPageItem->items[ $i ]->n = $i + 1;
$htmlPageItem->items[ $i ]->title = $item;
$htmlPageItem->items[ $i ]->type = 'singleLine';
if ( isset( $itemsLine[1] ) && ( trim($itemsLine[1]) == 'textarea' || trim($itemsLine[1]) == 'multiLine' ) )
$htmlPageItem->items[ $i ]->type = 'multiLine';
if ( isset( $itemsLine[1] ) && ( trim($itemsLine[1]) == 'email' || trim($itemsLine[1]) == 'e-mail' ) )
$htmlPageItem->items[ $i ]->type = 'email';
if ( isset( $itemsLine[0] ) && ( trim($itemsLine[0]) != '' ) )
$htmlPageItem->items[ $i ]->title = trim($itemsLine[0]);
}
}
//
$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->items = nl2br( $pageItemContent['items'] );
$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->items = $pageItemContent['items'];
$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'],
'items' => $_POST['items'], 'filesEnabled' => $_POST['filesEnabled'], 'newsletterEnabled' => $_POST['newsletterEnabled']
) );
return '
<div class="pageStatusOK"> Uloženo. </div>
';
}
}
?>
ACC SHELL 2018