Jump to content
Prosíme všetkých užívateľov, ktorý sa chcú opätovne pripojiť na discord aby znovu spárovali svoje účty kliknutím na "Discord" v navigácií a pripojili sa na server Read more... ×

jAk3r

Uživatel
  • Příspěvků

    685
  • Registrován

  • Aktivní

  • Vítězných dnů

    9

jAk3r last won the day on Květen 16 2017

jAk3r had the most liked content!

Reputace

47 Dwaine

About jAk3r

  • Moto
    jAk3r
  • Narozeniny 23.10.1994

Kontaktní údaje

  • Web
    https://www.inspire-gaming.eu
  • Skype
    Killzone.gm
  • Steam
    jak3rs

Portfolio

  • Github
    https://github.com/jAKErCZ
  • Pastebin
    https://pastebin.com/u/jAk3r

Návštěvníci

The recent visitors block is disabled and is not being shown to other users.

  1. Můžu nějakou ukázku jak to myslíš abych to z toho líp pochopil takhle nějak mám šablonu {snippet comments} <div n:foreach="$comments as $comment" class="media"> <a class="media-left" href="#"> <img src="{$basePath}/images/user/avatar3.jpg" alt="" /> </a> <div class="media-body"> <div class="media-content"> <a href="#" class="media-heading"></a> <a n:if="$user->isLoggedIn()" n:href="reply! $comment['comment_id']" id="reply" class="btn btn-sm btn-primary pull-right ajax">reply</a> <span class="date">{$comment['created_at']|date:'j. n. Y H.i'}</span> <p>{$comment['content']}</p> </div> <div n:foreach="$comment['comments'] as $comm" class="media"> <a class="media-left" href="#"> <img src="{$basePath}/images/user/avatar.jpg" alt="" /> </a> <div class="media-body"> <div class="media-content"> <a href="#" class="media-heading">YAKUZI</a> <a href="#" class="btn btn-sm btn-primary pull-right">reply</a> <span class="date">{$comm['created_at']|date:'j. n. Y H.i'}</span> <p>{$comm['content']}</p></div> </div> </div> </div> </div> {/snippet}
  2. https://doc.nette.org/cs/2.4/database-explorer no ale já mám ty komentáře ve stejné tabulce i reply a to určuje parent_id.
  3. No dělám to na Nette takže popravdě tohle nevím
  4. Čau, dělám si komentáře ke článkům a vše mi funguje ale narazil jsem na to že nemám absolutně nápad jak udělat výpis komentářů a odpovědi k daným komentářům. Představoval bych si to něco jako: Foreach na komentáře a v něm vnořený další foreach na odpovědi. Můj aktuální pokus public function getComments($article_id, $parent_id = null){ $comments = null; if ($parent_id === null) { $comments = $this->database->table(self::TABLE_COMMENTS)->where(self::COLUMN_COM_ARTICLE_ID, $article_id)->order('created_at')->fetchAll(); } else { $comments = $this->database->table(self::TABLE_COMMENTS)->where(self::COLUMN_COM_ARTICLE_ID ,$article_id)->where(self::COLUMN_COM_PARENT_ID, $parent_id)->fetchAll(); } $_comments = []; foreach ($comments as $comm) { // zpracování komentáře $_comment = [ 'comment_id' => $comm->comment_id, 'user_id' => $comm->user_id, 'created_at' => $comm->created_at, 'content' => $comm->content, ]; } if ($parent_id === null) { // pokud je to hlacní komentář zjistit pod-komentáře $_comment['comments'] = $this->getComments($article_id, $parent_id); } $_comments[] = $_comment; return $_comments; // vrátit komentáře } ALe to mi háže : Maximum function nesting level of '256' reached, aborting! Tudíž tam mám nějaké blbé zacyklení... Tady mám starý kód který mě dělal Ewwe $pocetKomentaru = 0; function processComments($clanek_id, $parent_id = NULL) { global $pocetKomentaru; $komentare = NULL; if ($parent_id === NULL) { $komentare = dibi::query(" SELECT k.*, a.nick, a.avatar FROM komentare k LEFT JOIN accounts a ON k.author_id = a.id WHERE k.clanek_id = %i AND k.parent_id IS NULL", $clanek_id); } else { $komentare = dibi::query(" SELECT k.*, a.nick, a.avatar FROM komentare k LEFT JOIN accounts a ON k.author_id = a.id WHERE k.clanek_id = %i AND k.parent_id ", $clanek_id, " = %i", $parent_id); } $_komentare = []; foreach ($komentare as $komentar) { // zpracování komentáře $_komentar = [ 'id' => $komentar->id, 'avatar' => $komentar->avatar, 'komentar' => $komentar->komentar, 'pridano' => $komentar->pridano, 'nick' => $komentar->nick, ]; if ($parent_id === NULL) { // pokud je to hlacní komentář zjistit pod-komentáře $_komentar['komentare'] = processComments($clanek_id, $komentar->id); } $pocetKomentaru++; $_komentare[] = $_komentar; // přidat zpracovaný komentář do pole komentářů } return $_komentare; // vrátit komentáře } Děkuji všem za rady a pomoc
  5. jAk3r

    pomoc PW

    Možná by bylo fajn říct o co přesně máš zájem a co ti nejde..
  6. jAk3r

    pomoc PHP-Fusion - Problém s přihlášením

    Taky jsem si všiml
  7. jAk3r

    pomoc PHP-Fusion - Problém s přihlášením

    Je to jednoduchý ve souboru config.php ( Nebo tak nějak ) jsou údaje do DB. Tudíž pokud máš FTP není problém se do DB dostat
  8. jAk3r

    pomoc Nelze odeslat celý form

    Zdravím,mám takový problém mám formulář kde validuji pomocí javascriptu a měl jsem problém že když jsem chtěl přidat nový řádek tak mi to chtělo validovat celý form to jsem s pomocí upravil že již když chci přidat nový řádek nevaliduje to a přidá ho... ale problém nastává jakmile chci odeslat celý form... tak se mi ta stránka reloaduje a vyskočí mi nahoru a nic se nestane... jako kdybych někde něco nevyplnil ale vše je vyplněné...Tento kód je ten kde sice nešlo přidávat nový řádek ale zase vše odeslal.... Tento kód je ten kde sice nešlo přidávat nový řádek ale zase vše odeslal.... $(".validate-form").submit(function(){ var check = true; for(var i=0; i<input.length; i++) { if(validate(input[i]) == false){ showValidate(input[i]); check=false; } } return check; }); Tento kód je nový kde mi pomohli to upravit aby při přidání nového řádku neprobíhala validace celého formu ( To funguje ale při odeslání celého formu se nic nestane jak jsme psal výš ) $(".validate-form").submit(function(e) { var noValidate = $(this).find('[clicked="true"][formnovalidate]').length !== 0; if (noValidate) { return true; } e.preventDefault(); var check = true; for(var i=0; i<input.length; i++) { if(validate(input[i]) == false){ showValidate(input[i]); check=false; } } if (check) { $(this).unbind('submit').submit(); } return check; }); Podle mě si myslím že ten js je nejspíš blbě napsaný že to dělá tohle ale já osobně v js nejsem zase tak dobrý proto sem se obrátil na Vás Díky za případnou pomoc
  9. jAk3r

    hledám vHackOS

    A na iOS to asi není co? Jelikož se mi to líbí
  10. jAk3r

    wowresource.eu WoWResource.eu

    Opraveno na aktuálně poslední datadisk Což snad každý ví Ano také jsme na tom vyrůstal ale chceme to obnovit tak se můžeš přijít zase podívat
  11. & Zdravím Vás, mnozí z Vás znají projekt WoWResource.eu projekt který byl špičkou ve vývoji a developingu hry World of Warcraft a i když upadlo stále mnozí z vývojářů free serverů na toto fórum chodilo pro rady či návody kterých je na tomto projektu spousty. Mnohé z Vás potěšíme že tento projekt jsme se rozhodli obnovit a pokusit se získat opět tu slávu kterou měl a samozřejmě dovést nové developery aby se opět podělily o nové rady či typy jak na co. Také další novinkou je že tento reborn zaštiťuje projekt Inspire-Gaming.eu. To by bylo ode mně asi vše. Děkuji všem za pozornost Tým WoWResource.eu & Inspire-Gaming.eu
  12. Čau kluci, mám takový pro náš nový internetový obchod děláme nový systém ale potřeboval bych pomoci s úpravou cronu pro nový systém... dle struktury... product Pro produkty vytvoříme tabulku product. Bude obsahovat následující sloupce: product_id (int) - Id produktu, primární klíč, autoincrement code (varchar 255) - Kód produktu pro obchodníka (např. EAN nebo cokoli jiného) url (varchar 255) - URL adresa produktu (např. zeleny-kvetinac-ella) pro lepší SEO optimalizaci title (varchar 255) - Titulek produktu short_description (varchar 255) - Krátký popisek do HTML meta tagu description (text) - Delší popisek pro detail produktu, může obsahovat HTML formátování price (decimal(10,1)) - Cena produktu old_price (decimal(10,1)) - Stará cena produktu (pokud je zlevněný) rating_sum (int) - Součet hodnocení produktu (celkový počet udělených hvězdiček uživateli) ratings (int) - Počet hodnocení produktu stock (int) - Počet kusů produktu na skladu images_count (int) - Počet obrázků u produktu hidden (tinyint) - Označuje zda je produkt skrytý (1/0), viz dále. Přidejme tabulku category s následujícími sloupci: category_id (int) - Id kategorie, primární klíč, autoincrement url (varchar 255) - URL adresa odkazu title (varchar 255) - Titulek order_no (int) - Určuje pořadí položek hidden (tinyint) - Určuje, zda je položka skrytá (můžeme tak skrýt nějaké systémové kategorie, viz dále) parent_catego­ry_id (int, nullový) - Id rodičovské položky (pod kterou má být položka zařazena) nebo NULL, cizí klíč řidáme tabulku product_category s následujícími sloupci: product_catego­ry_id (int) - Id vazebního řádku, primární klíč, autoincrement product_id (int) - Id produktu, cizí klíč category_id (int) - Id kategorie, do které produkt patří, cizí klíč Zde mám již upravený cron ve kterém mi dělají problémy obrázky. <?php /** * Description of Import * * @author David Skála <skala2524@gmail.com> */ class Import { CONST URL = 'http://navratws:ws13852@WWW.SPOKEY.CZ/i6ws/Default.asmx/GetResult?resultType=X-StoItemBaseComplEl'; private $slozka; private $slozkaDb; /** @var DibiConnection */ private $dibi; public function __construct($dibi) { $this->log('init'); $this->dibi = $dibi; $this->slozka = __DIR__ . '/../images/products/'; $this->slozkaDb = 'images/products/'; /* $cdir = scandir($this->slozka); foreach ($cdir as $value) { if (intval($value) > 112) $this->rrmdir($this->slozka . $value); } exit; */ } private function rrmdir($dir) { if (is_dir($dir)) { $objects = scandir($dir); foreach ($objects as $object) { if ($object != "." && $object != "..") { if (is_dir($dir . "/" . $object)) $this->rrmdir($dir . "/" . $object); else unlink($dir . "/" . $object); } } rmdir($dir); } } /** * * @param string $message */ private function log($message) { echo sprintf('<span style="color: #CCC;">bellugio:</span> %s<br>', $message); } /** * * @return type */ public function getXml() { $this->log('getXml: ' . self::URL); return file_get_contents(self::URL); } public function zpracujXmlKategorie($xml) { $poleLevel1 = [ 'Míčové a společenské sporty' => 2, 'Fitness a posilovna' => 2, 'Vodní sporty' => 2, 'Skating' => 2, 'Bojové sporty' => 2, 'Tenis a badminton' => 2, 'Outdoor' => 3, 'Sport. obuv a nazouváky' => 4, 'Termoprádlo' => 4, 'Funkční oblečení' => 4 ]; foreach ($xml->StoItem as $item) { $tmp1 = explode(' ', $item->SPresentTree->Level1); unset($tmp1[0]); $level1 = trim(implode(' ', $tmp1)); $idLevel0 = isset($poleLevel1[$level1]) ? $poleLevel1[$level1] : 'false'; /* level 1 */ if ($idLevel0) { $data = $this->vratDataProKategorii($idLevel0, $level1); $kategorieId_1 = $this->dibi->query(sprintf('SELECT category_id FROM [category] WHERE [url] = "%s" LIMIT 1', $data['url']))->fetchSingle(); if (!$kategorieId_1) { $this->dibi->query('INSERT INTO [category]', $data); $this->log(sprintf('Vytvořena kategorie úrovně %d s názvem %s', 1, $level1)); $kategorieId_1 = $this->dibi->getInsertId(); } /* level 2 */ $tmp2 = explode(' ', $item->SPresentTree->Level2); unset($tmp2[0]); $level2 = trim(implode(' ', $tmp2)); if ($level2) { $data = $this->vratDataProKategorii($kategorieId_1, $level2); $kategorieId_2 = $this->dibi->query(sprintf('SELECT category_id FROM [category] WHERE [url] = "%s" LIMIT 1', $data['url']))->fetchSingle(); if (!$kategorieId_2) { $this->dibi->query('INSERT INTO [category]', $data); $this->log(sprintf('Vytvořena kategorie úrovně %d s názvem %s', 2, $level2)); $kategorieId_2 = $this->dibi->getInsertId(); } /* level 3 */ $tmp3 = explode(' ', $item->SPresentTree->Level3); unset($tmp3[0]); $level3 = trim(implode(' ', $tmp3)); if ($level3) { $data = $this->vratDataProKategorii($kategorieId_2, $level3); $kategorieId_3 = $this->dibi->query(sprintf('SELECT category_id FROM [category] WHERE [url] = "%s" LIMIT 1', $data['url']))->fetchSingle(); if (!$kategorieId_3) { $this->dibi->query('INSERT INTO [category]', $data); $this->log(sprintf('Vytvořena kategorie úrovně %d s názvem %s', 3, $level3)); } } } } } } private function vratDataProKategorii($parentId, $jmeno) { $orderid = $this->dibi->query("SELECT max(category.order_no) AS order_nos FROM [category]")->fetchSingle() + 1; return [ 'url' => $this->webalize($jmeno), 'title' => $jmeno, 'order_no' => $orderid++, 'hidden' => 0, 'parent_category_id' => $parentId ]; } /** * * @param type $xml */ public function zpracujXmlZbozi($xml) { foreach ($xml->StoItem as $item) { $idKat = $this->dibi->query(sprintf("SELECT product_id FROM [product] WHERE [code] = '%s' LIMIT 1", $item->Code))->fetchSingle(); $nazev = $idKat ? $this->dibi->query(sprintf("SELECT title FROM [product] WHERE [product_id] = %s LIMIT 1", $idKat))->fetchSingle() : false; if (!$nazev) { $this->log($item->Id . ': ' . $item->Name); if ($item->SisName == 'Výprodej') $action = 1; if ($item->SisName == 'Novinka') $news = 1; $dataCatalog = [ 'product_id' => intval($item->Id), 'code' => (string) ($item->Code), 'url' => $this->webalize($item->Name), 'title' => (string) $item->Name, 'shortname' => (string) $item->Name, 'short_description' => (string) $item->Note, 'description' => (string) $item->Note, 'price' => intval($item->PriceEU), 'old_price' => intval($item->PriceDea), 'rating_sum' => 0, 'ratings' => 0, 'stock' => 1, 'images_count' => 0, 'hidden' => 0 ]; $this->dibi->query('INSERT INTO [product]', $dataCatalog); $lastId = $this->dibi->getInsertId(); /* katerogie */ foreach (['Level1', 'Level2', 'Level3'] AS $_level) { $tmp = explode(' ', $item->SPresentTree->{$_level}); unset($tmp[0]); $level = implode(' ', $tmp); $kategorieId = $this->dibi->query(sprintf('SELECT category_id FROM [category] WHERE [title] = "%s" LIMIT 1', $level))->fetchSingle(); if ($kategorieId) { $dataKat = [ 'product_id' => $lastId, 'category_id' => $kategorieId ]; $this->dibi->query('INSERT INTO [product_category]', $dataKat); } } $idFotky = $this->dibi->getInsertId(); /* obrazky */ if (!file_exists($this->slozka)) mkdir($this->slozka, 0777, true); copy($item->ImgUrl, $this->slozka . $this->intval($item->Id) . '.jpg'); $this->dibi->query('UPDATE [product] SET images_count= ' . $idFotky . ' WHERE product_id = ' . $lastId); } else { $lastId = $this->dibi->query(sprintf("SELECT product_id FROM [product] WHERE [product_id] = %s LIMIT 1", $idKat))->fetchSingle(); foreach (['Level1', 'Level2', 'Level3'] AS $_level) { $tmp = explode(' ', $item->SPresentTree->{$_level}); unset($tmp[0]); $level = implode(' ', $tmp); if ($level) { $kategorieId = $this->dibi->query(sprintf('SELECT category_id FROM [category] WHERE [title] = "%s" LIMIT 1', $level))->fetchSingle(); if ($kategorieId) { $bindCat = $this->dibi->query(sprintf("SELECT product_id FROM [product_category] WHERE [product_id] = %s AND [category_id] = %s LIMIT 1", $lastId, $kategorieId))->fetchSingle(); if (!$bindCat) { $dataKat = [ 'product_id ' => $lastId, 'category_id' => $kategorieId ]; $this->dibi->query('INSERT INTO [product_category]', $dataKat); } } } } } } } private function webalize($string) { $url = preg_replace('~[^\\pL0-9_]+~u', '-', $url); $url = trim($url, "-"); $url = iconv("utf-8", "us-ascii//TRANSLIT", $url); $url = strtolower($url); $url = preg_replace('~[^-a-z0-9_]+~', '', $url); return $url; } } Ale mám problém s ukládáním obrázku... Mám složku images/product ve které se obrázky ukládají tak ze IdProduktu_kolikatyObrazekToJe.jpg To znamená mám obrázek s ID 1 a u nej mám 3 obrázky a ve složce mám 1_0.jpg,1_1.jpg,1_2.jpg a v Db product ve sloupci images_count se mi vytvoří argument kolik těch obrázku to dané ID ma v tomto případě 3 a pokud nějaký smažu odstraní se ze složky a v Db se aktualizuje na počet 2 Mohl by mi někdo poradit nebo pomoci abych dospěl k funkčnosti cronu? Díky všem
  13. Lidi kdo by chtěl Hru: STAR WARS Battlefron Season Pass je FREE!!! https://www.origin.com/irl/en-us/store/star-wars/star-wars-battlefront/expansion/star-wars-battlefront-season-pass?searchString=Battlefr Nemáte zač
  14. jAk3r

    pomoc Linux - RouteConnectorPlugin

    A díval si se na google? Jelikož něco jsem tam našel ani ne za pár sec... ->
  15. jAk3r

    hledám Plugin Mastera

    Cože 250€/h? to je trošičku přehnané...
×