Omlouvám se, nejedná se o Zencart, ale o Zend Framework. Můj problém nyní: dohledal jsem na internetu, že nastavení přístupů do DB je v souboru application/configs/application.ini, žádnou sloužku configs tady ale nemám. Jak je to možné? Děkuji za rady.
Příspěvky odeslané z IP adresy 81.201.60.–
Ano, takovou radu jsem našel při hledání na internetu, ale mám tu jen složky:
application
lang
library
log
public
tmp
v index.php se vkládá soubor require_once 'application/Core.php';
a v Core pak require_once './application/plugins/DbConnectPlugin.php';
ale tam žádné přihl. údaje uvedeny nejsou.
Přikládám celý zdroj:
<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Auth
* @copyright Copyright (c) 2005-2007 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id: Auth.php 3467 2007-02-15 22:40:55Z darby $
*/
class DbConnectPlugin extends Zend_Controller_Plugin_Abstract
{
private $_dbSettings;
private $_db;
//public function __construct(array $dbSettings)
public function __construct()
{
//$this->_dbSettings = $dbSettings;
$this->_dbSettings = Core::getConfig()->database->toArray();
}
/**
* Establish connection to database. If connection fails we go to @link ErrorController.
*
* @param Zend_Controller_Request_Abstract $request
* @return void
*/
public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request)
{
try {
/*
$config = new Zend_Config(
array(
'database' => array(
'adapter' => 'Pdo_PgSQL',
'params' => array(
'host' => 'localhost',
'dbname' => 'controlpanel',
'username' => 'postgres',
'password' => 'heslo'
)
)
)
);
$this->_db = Zend_Db::factory($config->database);
*/
if (intval($this->_dbSettings['uppercase']) === 1) {
$options = array(
//Zend_Db::CASE_FOLDING => Zend_Db::CASE_UPPER
Zend_Db::CASE_FOLDING => Zend_Db::CASE_LOWER
);
$this->_dbSettings['params']['options'] = $options;
}
$this->_db = Zend_Db::factory($this->_dbSettings['adapter'], $this->_dbSettings['params']);
$this->_db->query('SET NAMES '.$this->_dbSettings['encoding']);
//$this->_db->query('SET CHARACTER SET '.$this->_dbSettings['encoding']);
if ($this->_dbSettings['profiler'] == true) {
$this->_db->getProfiler()->setEnabled(true);
}
if (!empty($this->_dbSettings['prefix'])) {
Zend_Registry::set('prefix', $this->_dbSettings['prefix']);
//$this->setTablePrefix(trim($this->_dbSettings['prefix'], '_').'_');
}
Zend_Db_Table_Abstract::setDefaultAdapter($this->_db);
//Zinn_Db_Table_Abstract::setDefaultAdapter($this->_db);
$serverRoot = Zend_Registry::get('serverRoot');
$frontendOptions = array('automatic_serialization' => true);
//$backendOptions = array('cache_dir' => 'cacheDir');
$backendOptions = array('cache_dir' => $serverRoot . 'tmp');
$cache = Zend_Cache::factory('Core', 'File', $frontendOptions, $backendOptions); // Next, set the cache to be used with all table objects
Zend_Db_Table_Abstract::setDefaultMetadataCache($cache);
Zend_Registry::set('db', $this->_db);
//$this->setTablePrefix('ds');
//$this->removeTablePrefix('ds');
} catch(Exception $e) {
$frontController = Zend_Controller_Front::getInstance();
if ($frontController->throwExceptions()) {
throw $e;
}
$error = new ArrayObject(array(), ArrayObject::ARRAY_AS_PROPS);
$exception = $e;
$exceptionType = get_class($e);
$error->exception = $exception;
$error->type = Zend_Controller_Plugin_ErrorHandler::EXCEPTION_OTHER;
$request->setParam('message', 'Došlo k chybě při spojení s databází');
$error->request = clone $request;
$errorHandler = $frontController->getPlugin('Zend_Controller_Plugin_ErrorHandler');
$request->setParam('error_handler', $error)
->setModuleName($errorHandler->getErrorHandlerModule())
->setControllerName($errorHandler->getErrorHandlerController())
->setActionName($errorHandler->getErrorHandlerAction())
->setDispatched(false);
}
}
/* Called before Zend_Controller_Front exits its dispatch loop.
*
* @return void
*/
public function dispatchLoopShutdown()
{
if ($this->_dbSettings['profiler'] == true) {
$profiler = $this->_db->getProfiler();
$totalTime = $profiler->getTotalElapsedSecs();
$queryCount = $profiler->getTotalNumQueries();
$longestTime = 0;
$longestQuery = null;
$out = '<div style="width: 900px; text-align: left; background-color: #000000; color: #ffffff; border: 2px solid #ffffff; padding: 20px 20px; margin: 10px auto;">' . "\n";
$out .= '<h3 style="padding-top: -20px; color: #ffffff; margin-bottom: 20px;">Database profiler (only for development purposes)</h3>' . "\n";
$out .= 'Executed ' . $queryCount . ' queries in ' . $totalTime . ' seconds<br /><br />' . "\n";
if ($totalTime > 0 && $queryCount > 0) {
foreach ($profiler->getQueryProfiles() as $query) {
if ($query->getElapsedSecs() > $longestTime) {
$longestTime = $query->getElapsedSecs();
$longestQuery = $query->getQuery();
}
}
$out .= 'Average query length: ' . ($totalTime / $queryCount) . ' seconds<br /><br />' . "\n";
$out .= 'Queries per second: ' . ($queryCount / $totalTime) . '<br /><br />' . "\n";
$out .= 'Longest query length: ' . $longestTime . ' seconds<br /><br />' . "\n";
$out .= 'Longest query: ' . $longestQuery . '<br /><br />' . "\n";
$out .= '<br /><br />' . "\n\n";
foreach ($profiler->getQueryProfiles() as $query) {
$out .= $query->getQuery() . '<br /><br />' . "\n\n";
}
}
$out .= '</div>' . "\n";
$this->_response->appendBody($out);
}
if ($this->_dbSettings['logQueries'] == true) {
$logger = Core::setLogger('queries');
$profiler = $this->_db->getProfiler();
if (intval($profiler->getTotalNumQueries()) > 0) {
foreach ($profiler->getQueryProfiles() as $query) {
$logger->log($query->getQuery(), Zend_Log::DEBUG);
}
}
}
}
public function setTablePrefix($prefix = '')
{
$tables = $this->_db->listTables();
if (!empty($prefix)) {
$prefix = trim($prefx, '_') . '_';
foreach ($tables as $table) {
$this->_db->query('RENAME TABLE `' . $table . '` TO `' . $prefix . $table . '`');
}
}
Zend_Debug::dump('OK');
exit();
/*
$query = $this->_db->query('SHOW TABLES');
$tables = $query->fetchAll();
foreach($tables as $table)
{
$this->_db->query('RENAME TABLE `'.$table['Tables_in_portaly'].'` TO `ds_'.$table['Tables_in_portaly'].'`');
$this->_db->query('RENAME TABLE `'.$table['Tables_in_portaly'].'` TO `'.str_replace("ds_", "", $table['Tables_in_portaly']).'`');
}
Zend_Debug::dump('OK');
exit();
*/
}
public function removeTablePrefix($prefix = '')
{
$tables = $this->_db->listTables();
$pattern = '';
if (!empty($prefix)) {
$prefix = trim($prefx, '_') . '_';
$pattern = '/' . $prefix . '/';
}
if (!empty($pattern)) {
foreach ($tables as $table) {
$this->_db->query('RENAME TABLE `' . $table . '` TO `' . preg_replace($pattern, '', $table, 1) . '`');
}
}
Zend_Debug::dump('OK');
exit();
}
}
Kde může být problém? Děkuji za rady
Dobrý večer, rád bych požádal o radu. Přesunul jsem e-shop Zencart na jiný hosting (= přesun souborů + databáze) a nyní bych potřeboval nahradit přístupová data k databázi za nová. Nemá někdo zkušenost, v jakém souboru tyo údaje najdu, abych je mohl nahradit aktuálními? Když nyní jdu na adresu e-shopu zobrazí se jen bílá stránka, je to způsobeno tím nebo je problém někde jinde? Výpis chybových hlášek je zapnutý, proto tomu nerozumím.
Děkuji za pomoc.
Dobrý večer, snažím se vytvořit hezké URL adresy tak, že z výchozího řetězce odstraním diakritiku a různé paznaky. Takto:
function url($text) {
$text = strtr($text, "áäčďéěëíµňôóöŕřšťúůüýžÁÄČĎÉĚËÍĄŇÓÖÔŘŔŠŤÚŮÜÝŽ", "aacdeeeilnooorrstuuuyzaacdeeelinooorrstuuuyz");
$text = preg_replace("~[^\\pL0-9_]+~u", "-", $text);
$text = trim($text,"-");
$text = StrToLower($text);
$text = preg_replace("~[^-a-z0-9_]+~", "", $text);
return $text;
}
Můj problém: pokud je ve výchozím textu např. znak: ´ , funkce nevrátí vůbec nic. Je nějaký způsob, jak mohu stoprocentně zajistit, aby se cokoliv, co uživatel zadá, správně převedlo na text hezké URL?
Děkuji za rady.
Dobrý večer, rád bych požádal o radu/pomoc s chybou 324(net::ERR_EMPTY_RESPONSE):. Tu a tam se objevuje na webu na různých stránkách (mám ale pocit, že se vždy jedná o skripty, které ukládají uživatelem zadaná data do DB). Google Chrome chybu interpretuje jako 324, ostatní prohlížeče jako bílou stránku. Obnovení stránky znamená většinou návrat do normálu. Mohl by mi prosím někdo poradit cokoliv, co se týče tohoto tématu? Jsem vděčný za každou věc, která mě posune směrem vpřed. Na internetu jsem ohledně řešení této problematiky nenašel žádné řešení, respektive jen řešení pro případ, že se tato chyba zobrazuje permanentě a ne jen nahodile, jako v mém případě. Zajímala by mě jakákoliv možnost vypisování do error_logu. Nevím, jak se dostanu k souboru error_log, jedná se o hosting Forpsi. Jestliže ten soubor nevidím v FTP, je třeba o něj nějak žádat? Nastavení vlastního error_logu pomocí .htaccess mně nefunguje, objeví se chyba 500. Jsem bezradný, potřebuji jednoduše odhalit příčinu té chyby.
Děkuji za ochotu.
Dobrý večer, rád bych požádal o radu.
Můj problém:
Na webu používám kódování Windows-1250, stejně tak je nastaveno v MySQL databázi. Uživatelé píší data do formuláře, ten se pak odešle a data ukládají do databáze. Kódování je ve většině případů v pořádku, tu a tam (zřejmě je to záležitost konkrétního prohližeče), se ale místo diakritiky uloží do databáze jen otazníky. Nemá někdo ponětí, v čem by mohl být problém?
Volám mimo jiné také funkce
mysql_query("SET NAMES 'cp1250'");
mysql_set_charset("cp1250");
Děkuji za rady.
Dobry vecer, obracim se na Vas s prosbou o radu.
Chci vytvorit skript pro jednoduche TOPovani inzeratu na inzertnim portale (uzivatel zasle na SMS ve tvaru TOP XX, kde XX je cislo inzeratu, ktery si preje topovat). Jako poskytovatel byl zvolen XPay (implementace tohoto systemu by podle toho, co jsem nasel na internetu, mela byt snadna). Problem je ale v tom, ze nejsem schopny nikde v materialech XPay dohledat, co presne by mel takovyto skript obsahovat nebo jednoduchy priklad toho skriptu). Na jejich webovych strankach jsou ke stazeni priklady jen takove, kde jsou napr. videt 2 obrazky a pod nimi moznost hlasovani pro kazdy z nich prave formou zaslani SMS, ale zadny ukazkovy kod nebo neco podobneho k videni neni). Kdyz jsem se obratil na technickou podporu XPay, odpovedi mi bylo, ze vse je popsane v jejich materialech, coz je ale 100strankovy manual, dle me, plny teoretickych poznamek, ale to, co potrebuji pouzit v praxi,v nem proste nejsem schopny dohledat.
Byl by prosim nekdo tak ochotny, a mohl mi poradit? Nekdo, kdo uz se implementaci podobneho systemu zabyval?
Budu vdecny za kazdou radu.
Dekuji.
přesně. protože je to výběr, nemůže se rozmazat za výběr. Jasný jako facka :-)bukaj napsal:
BeRRi
Pokud však použiji rozostření na výběr vyplněný barvou
Mohu se zeptat, jak by se asi tak měla rozostřit plocha vyplněná jednou barvou? :o) Pokud vím, tak Gaussovo rozostření funguje na nějakém principu odvozování výsledku pomocí sousedních pixelů, ne? A když jsou všechny pixely stejné barvy, stejné barva ti z toho zase vzejde.
To tomiczech : jeste jsem mel dodat, ze pouzivam windows vista 32
Ahoj, potrebuju v gimpu ukladat do formatu *.ai , vim ze ta moznost existuje, ale vsude ve forech nachazim pouze otvirani techto pripon, nikoliv jak postupovat pokud chci ulozit. Pokud se nekdo najde a poradi, staci treba jen odkaz ceske nebo anglicke forum. diky