Ejemplo n.º 1
0
 public function getPage()
 {
     if (!empty($_REQUEST['cmd']) && $_REQUEST['cmd'] == 'logout') {
         $this->logout();
     }
     if (isset($_GET['debug_update']) && $_GET['debug_update'] === 'true') {
         \DBG::activate(DBG_PHP | DBG_DB | DBG_LOG);
     }
     if (isset($_POST['doGroup']) && $_POST['doGroup']) {
         if (!empty($_POST['pgUsername']) && !empty($_POST['pgPassword'])) {
             if ($userId = $this->auth($_POST['pgUsername'], $_POST['pgPassword'])) {
                 $_SESSION['contrexx_update']['user_id'] = $userId;
                 $_SESSION['contrexx_update']['step'] = 5;
                 $_SESSION['contrexx_update']['version'] = $_POST['pgCmsVersion'];
                 $_SESSION['contrexx_update']['migrate_lang_ids'] = explode(',', $_POST['pgMigrateLangIds']);
                 $_SESSION['contrexx_update']['copyFilesFinished'] = true;
                 $_SESSION['contrexx_update']['content_stats'] = true;
                 $_SESSION['contrexx_update']['inactive_content_languages_checked'] = true;
                 $_SESSION['contrexx_update']['content_migrated'] = true;
             }
         }
     }
     if ($this->auth() || $this->login()) {
         $this->setStep();
         $this->showStep();
     }
     $this->setPlaceholders();
     if ($this->ajax) {
         die($this->objJson->encode(array('content' => $this->html['content'], 'logout' => $this->html['logout'], 'navigation' => $this->html['navigation'], 'dialog' => $this->html['dialog'], 'timeout' => $this->html['timeout'])));
     }
     return $this->objTemplate->get();
 }
Ejemplo n.º 2
0
 protected function execute()
 {
     switch ($this->mode) {
         case self::MODE_DQL:
             $this->result = '';
             $strQuery = trim($this->code);
             $lister = new \Cx\Core_Modules\Listing\Controller\ListingController(function (&$offset, &$count, &$criteria, &$order) use($strQuery) {
                 return \Env::get('em')->createQuery($strQuery);
             });
             try {
                 $table = new \BackendTable($lister->getData());
                 $this->result = $table->toHtml() . $lister;
             } catch (\Exception $e) {
                 $this->result = 'Could not execute query (' . $e->getMessage() . ')!';
             }
             break;
         case self::MODE_PHP:
             $dbgMode = \DBG::getMode();
             try {
                 // This error handler catches all Warnings and Notices and some Strict errors
                 \DBG::activate(DBG_PHP);
                 set_error_handler(array($this, 'phpErrorsAsExceptionsHandler'));
                 $this->errrorHandlerActive = true;
                 // Since DBG catches the rest (E_PARSE) let's use that
                 ob_start();
                 $function = create_function('$em, $cx', '' . $this->code . ';');
                 $dbgContents = ob_get_clean();
                 \DBG::activate($dbgMode);
                 if (!is_callable($function)) {
                     // parse exception
                     throw new SandboxException($dbgContents);
                 }
                 $this->result = var_export($function(\Env::get('em'), \Env::get('cx')), true);
                 restore_error_handler();
                 $this->errrorHandlerActive = false;
             } catch (\Exception $e) {
                 \DBG::activate($dbgMode);
                 restore_error_handler();
                 $this->errrorHandlerActive = false;
                 $this->result = get_class($e) . ': ' . $e->getMessage();
             }
             break;
         default:
             break;
     }
 }
Ejemplo n.º 3
0
 /**
  * Expands debugging behaviour with behaviour stored in session if specified and active.
  *
  * @access  private
  */
 private function restoreDebuggingParams()
 {
     if (isset($_SESSION['debugging']) && $_SESSION['debugging']) {
         DBG::activate(DBG::getMode() | $_SESSION['debugging_flags']);
     }
 }
Ejemplo n.º 4
0
 /**
  * Returns the Shop page for the present parameters
  * @param   string  $template     The page template
  * @return  string                The page content
  */
 static function getPage($template)
 {
     //\DBG::activate(DBG_ERROR_FIREPHP);
     //\DBG::activate(DBG_LOG_FILE);
     self::init();
     self::registerJavascriptCode();
     // PEAR Sigma template
     self::$objTemplate = new \Cx\Core\Html\Sigma('.');
     self::$objTemplate->setErrorHandling(PEAR_ERROR_DIE);
     self::$objTemplate->setTemplate($template);
     // Global module index for clones
     self::$objTemplate->setGlobalVariable('MODULE_INDEX', MODULE_INDEX);
     // Do this *before* calling our friends, especially Customer methods!
     // Pick the default Country for delivery
     if (empty($_SESSION['shop']['countryId2'])) {
         $_SESSION['shop']['countryId2'] = isset($_POST['countryId2']) ? intval($_POST['countryId2']) : \Cx\Core\Setting\Controller\Setting::getValue('country_id', 'Shop');
     }
     // TODO: This should be set up in a more elegant way
     Vat::is_reseller(self::$objCustomer && self::$objCustomer->is_reseller());
     // The coupon code may be set when entering the Shop already
     if (isset($_REQUEST['coupon_code'])) {
         global $sessionObj;
         if (!$sessionObj) {
             $sessionObj = \cmsSession::getInstance();
         }
         $_SESSION['shop']['coupon_code'] = trim(strip_tags(contrexx_input2raw($_REQUEST['coupon_code'])));
         //\DBG::log("Coupon Code: Set to ".$_SESSION['shop']['coupon_code']);
     }
     //\DBG::log("Shop::getPage(): Entered");
     // Global placeholders that are used on (almost) all pages.
     // Add more as desired.
     self::$objTemplate->setGlobalVariable(array('SHOP_CURRENCY_CODE' => Currency::getActiveCurrencyCode(), 'SHOP_CURRENCY_SYMBOL' => Currency::getActiveCurrencySymbol()));
     if (!isset($_GET['cmd'])) {
         $_GET['cmd'] = '';
     }
     if (!isset($_GET['act'])) {
         $_GET['act'] = $_GET['cmd'];
     }
     switch ($_GET['act']) {
         case 'shipment':
             self::showShipmentTerms();
             break;
         case 'success':
             self::success();
             break;
         case 'confirm':
             self::confirm();
             break;
         case 'lsv':
         case 'lsv_form':
             self::view_lsv_form();
             break;
         case 'payment':
             self::payment();
             break;
         case 'account':
             self::view_account();
             break;
         case 'cart':
             self::cart();
             break;
         case 'discounts':
             self::discounts();
             break;
         case 'login':
             self::login();
             break;
         case 'paypalIpnCheck':
             // OBSOLETE -- Handled by PaymentProcessing::checkIn() now
             $objPaypal = new \PayPal();
             $objPaypal->ipnCheck();
             exit;
         case 'sendpass':
             self::view_sendpass();
             break;
         case 'changepass':
             self::_changepass();
             break;
             // Test for PayPal IPN.
             // *DO NOT* remove this!  Needed for site testing.
         // Test for PayPal IPN.
         // *DO NOT* remove this!  Needed for site testing.
         case 'testIpn':
             \PayPal::testIpn();
             // die()s!
             // Test for PayPal IPN validation
             // *DO NOT* remove this!  Needed for site testing.
         // die()s!
         // Test for PayPal IPN validation
         // *DO NOT* remove this!  Needed for site testing.
         case 'testIpnValidate':
             \PayPal::testIpnValidate();
             // die()s!
             // Test mail body generation
             // *DO NOT* remove this!  Needed for site testing.
         // die()s!
         // Test mail body generation
         // *DO NOT* remove this!  Needed for site testing.
         case 'testMail':
             // Test with
             // http://localhost/contrexx_300/de/index.php?section=Shop&act=testMail&key=&order_id=5
             //MailTemplate::errorHandler();die();
             $order_id = !empty($_GET['order_id']) ? $_GET['order_id'] : 10;
             $key = !empty($_GET['key']) ? $_GET['key'] : 'order_confirmation';
             $arrSubstitution = Orders::getSubstitutionArray($order_id);
             $customer_id = $arrSubstitution['CUSTOMER_ID'];
             $objCustomer = Customer::getById($customer_id);
             if (!$objCustomer) {
                 die("Failed to get Customer for ID {$customer_id}");
                 return false;
             }
             $arrSubstitution += $objCustomer->getSubstitutionArray($customer_id) + self::getSubstitutionArray();
             $arrMailTemplate = array('section' => 'Shop', 'key' => $key, 'lang_id' => $arrSubstitution['LANG_ID'], 'substitution' => &$arrSubstitution, 'to' => '*****@*****.**');
             \DBG::activate(DBG_LOG_FIREPHP);
             //                DBG::activate(DBG_LOG_FILE);
             die(nl2br(contrexx_raw2xhtml(var_export($arrMailTemplate, true))));
             //                DBG::log(MailTemplate::send($arrMailTemplate) ? "Sent successfully" : "Sending FAILED!");
             //                DBG::deactivate(DBG_LOG_FILE);
             break;
         case 'testAttachment':
             \Cx\Core\MailTemplate\Controller\MailTemplate::send(array('from' => '*****@*****.**', 'to' => '*****@*****.**', 'subject' => 'Test Attachment', 'message' => 'Test', 'attachments' => array(0 => 'images/content/banner/qualidator.gif', 'images/content/banner/itnews.gif' => 'Sch�nes Bild')));
             die("Done!");
         case 'pricelist':
             self::send_pricelist();
             break;
         case 'terms':
             // Static content only (fttb)
             break;
             // TODO: Add Order history view (see History.class.php)
             //            case 'history':
             //                self::view_history();
             //                break;
         // TODO: Add Order history view (see History.class.php)
         //            case 'history':
         //                self::view_history();
         //                break;
         case 'destroy':
             self::destroyCart();
             // TODO: Experimental
             //                self::destroyCart(true);
             // No break on purpose
         // TODO: Experimental
         //                self::destroyCart(true);
         // No break on purpose
         case 'lastFive':
         case 'products':
         default:
             self::view_product_overview();
     }
     // Note that the Shop Navbar *MUST* be set up *after* the request
     // has been processed, otherwise the cart info won't be up to date!
     self::setNavbar();
     // TODO: Set the Messages in the global template instead when that's ready
     \Message::show(self::$objTemplate);
     //\DBG::deactivate();
     return self::$objTemplate->get();
 }
Ejemplo n.º 5
0
 protected function sql2Yaml($sql)
 {
     \DBG::activate(DBG_PHP);
     $em = \Env::get('em');
     $em->getConfiguration()->setMetadataDriverImpl(new \Doctrine\ORM\Mapping\Driver\DatabaseDriver($em->getConnection()->getSchemaManager()));
     $cmf = new \Doctrine\ORM\Tools\DisconnectedClassMetadataFactory();
     $cmf->setEntityManager($em);
     return;
     $metadata = $cmf->getMetadataFor('ContrexxContentPage');
     //$metadata = $cmf->getAllMetadata();
     $exporter = $cme->getExporter('yml', '/path/to/export/yml');
     $exporter->setMetadata($metadata);
     return $exporter->export();
 }
Ejemplo n.º 6
0
 /**
  * Expands debugging behaviour with behaviour stored in session if specified and active.
  *
  * @access  protected
  */
 protected function restoreDebuggingParams()
 {
     if (isset($this['debugging']) && $this['debugging']) {
         \DBG::activate(\DBG::getMode() | $this['debugging_flags']);
     }
 }