Покажи Публикации - VladSun
* Виж публикациите на потр. | Виж темите на потр. | Виж прикачените файлове на потр
Страници: 1 2 3 [4] 5 6 ... 148
46  Програмиране / Web development / Re: Имам проблем с браузърите -: Oct 04, 2011, 15:12
Когато имаш "частични рендери" на View-то (т.е. композитен модел на View-то) таблиците са *изключително* неизползваеми. Дори при 2-steps View е така.

Пример:

layouts/index.phtml
Код
GeSHi (PHP):
  1. <div id="ct-wrap">
  2.  <div id="ct">
  3.    <div id="north">
  4. <?php echo $this->placeholder('logo'); ?>
  5. <?php echo $this->placeholder('menu'); ?>
  6. <?php echo $this->placeholder('shopping_cart_bar'); ?>
  7. <?php echo $this->placeholder('localization'); ?>
  8. </div>
  9.    <div id="banner">
  10. <?php echo $this->placeholder('banner'); ?>
  11. </div>
  12. <div id="center-ct">
  13.      <div id="navlinks">
  14.      <div class="breadcrumb">
  15. <?php echo $this->placeholder('navigation_bar'); ?>
  16. <?php echo $this->placeholder('share_buttons'); ?>
  17.  </div>
  18.      <div id="west">
  19. <?php echo $this->placeholder('sidebar'); ?>
  20.  </div>
  21.      <div id="center">
  22. <?php echo $this->placeholder('site_update'); ?>
  23. <?php echo $this->placeholder('series'); ?>
  24. <?php echo $this->placeholder('models'); ?>
  25. <?php echo $this->placeholder('products'); ?>
  26. <?php echo $this->placeholder('details'); ?>
  27.  
  28. <?php echo $this->placeholder('shopping_cart'); ?>
  29. <?php echo $this->placeholder('related_products'); ?>
  30. <?php echo $this->placeholder('order_form'); ?>
  31. <?php echo $this->placeholder('order_completed'); ?>
  32. <?php echo $this->placeholder('dealer_login'); ?>
  33. <?php echo $this->placeholder('search_form'); ?>
  34. <?php echo $this->placeholder('contact_us_form'); ?>
  35. <?php echo $this->placeholder('inquery_completed'); ?>
  36.  
  37. <?php echo $this->placeholder('header_sub_content'); ?>
  38. <?php echo $this->placeholder('page_content'); ?>
  39. <?php echo $this->placeholder('footer_sub_content'); ?>
  40.      </div>
  41.      <div id="east"></div>
  42.  <div id="clear"></div>
  43. </div>
  44.    <div id="south">
  45. <?php echo $this->placeholder('footer'); ?>
  46. <?php echo $this->placeholder('dealer_bar'); ?>
  47. </div>
  48.  </div>
  49. </div>
  50.  

Прост контролер:
Код
GeSHi (PHP):
  1. public function siteUpdateAction()
  2. {
  3. $request = clone $this->getRequest();
  4. $request->setActionName('index')
  5. ->setControllerName('side-bar');
  6. $this->_helper->actionStack($request);
  7.  
  8. $request = clone $this->getRequest();
  9. $request->setActionName('bar')
  10. ->setControllerName('shopping-cart');
  11. $this->_helper->actionStack($request);
  12.  
  13. $request = clone $this->getRequest();
  14. $request->setActionName('header-menu')
  15. ->setControllerName('page');
  16. $this->_helper->actionStack($request);
  17.  
  18. $request = clone $this->getRequest();
  19. $request->setActionName('footer-menu')
  20. ->setControllerName('page');
  21. $this->_helper->actionStack($request);
  22.  
  23. $request = clone $this->getRequest();
  24. $request->setActionName('bar')
  25. ->setControllerName('dealer');
  26. $this->_helper->actionStack($request);
  27.  
  28. $this->_helper->_layout->setLayout('index');
  29.  
  30. $this->view->headTitle($this->view->translation->_('MAIN_PAGE_TITLE'));
  31.  
  32. $this->view->render('index/_site-update.phtml');
  33. $this->view->render('index/_logo.phtml');
  34. $this->view->render('index/_localization.phtml');
  35. $this->view->render('index/_banner.phtml');
  36. }
  37.  

Мога просто да махна (или пробавя) всеки един от последните 4 реда и това няма да ми счупи layout-a.
47  Програмиране / Web development / Re: Имам проблем с браузърите -: Oct 03, 2011, 01:45
21 век сме, стига с това подреждане на базата на таблици. Таблиците са за таблични данни.  ;)

Да ама не... Таблиците са незаменини при подреждане на страници. Опитай се да направиш с DIV/css някоя по-сложна структура/по-сложно подравняване(таблици в таблица, цепене и обединяване на кутийки) и ще стане абсолютна каша.

Няколко пъти сам се пробвал с DIV/css, само нерви,усилия,време - и накрая нищо, най-много да заприлича на нещо но само с един браузер. Търкам всичко правя си го с таблици за 1 час, слагам им css на таблиците и готово. Навсякъде еднакво, става точно това което искаш, кодът разбирем! [_]3

То и затова още ги използват. А DIV елемента с css, според мен е нищо повече за пакетиране на поточен текстов блок - така както върви текста/параграфите в едно списание. Кой ли е измислил, че може да се използва и за подравняване ??? ??? ???


Колкото до това да се изобразява навсякъде еднакво - мисля че няма универсална рецепта. Трябва много добре да се разбират HTML таговете и CSS, да се използват по стандартни опции и всеки един случай да се разрешава индивидулано.

Като има някъде проблем почваш да четеш, намираш къде е проблема, теглиш една ........ на съответният браузер да ти олекне и продължаваш нататък.

Аз лично ( + тримата дизайнери, с които работя) отдавна не ползвам таблици за layout. Таблиците са за таблични данни - +1
48  Linux секция за напреднали / Хардуерни и софтуерни проблеми / Re: syn flood в локална мрежа -: Sep 20, 2011, 15:58
А дали не си буташ switch'a ?
Да. И на мен ми прилича повече на MAC flood атака срещу суича.
49  Програмиране / Web development / Re: HTML parse - DOM или preg_match ? -: Sep 14, 2011, 10:56
В зависимост от за какво ти трябва резултата от парсването, можеш да използваш и XSLT и да получиш прим. удобен XML файл.
50  Linux секция за напреднали / Хардуерни и софтуерни проблеми / Re: iptables mark + tc over bond -: Sep 02, 2011, 12:52
Отдавна не съм си играл с tc, но ще пробвам да помогна. Първо, ако ще ползваш IPMARK (или IPCLASSIFY) не ти трябват филтри за всяко ИП, а един "празен" филтър (за IPMARK, IPCLASSIFY няма нужда от никакви филтри).

Отделно, мисля, че default class-а ти няма нужда от филтър към него.

Никъде не виждам queueing discipline (qdisc) за ИП-то. Това е лощо! :)

Малко за четене :
http://www.linux-bg.org/cgi-bin/y/index.pl?id=advices&key=380752598&page=article
http://www.linux-bg.org/cgi-bin/y/index.pl?page=article&id=advices&key=386924398
51  Сигурност / Системна Сигурност / Re: ssh attack -: Aug 30, 2011, 19:41
Не зная дали смяташ че е сериозно, паролите ми обикновенно са такива, за щастие и ги помня  :)

То помненето лесно, но писането трудно ... особено когато не виждаш символите.
52  Сигурност / Системна Сигурност / Re: ssh attack -: Aug 30, 2011, 09:37
В тези iptables команди има нещо гнило. Никой пакет няма да попадне в последните две правила, понеже -j SSH_WHITELIST вече е пратило пакета в друга верига.

Ако няма изпълнение на -j ACCEPT/DROP/REJECT в тази верига пакетът се праща към следващия ред на поредицата от правила, точно след "скока" към веригата
53  Сигурност / Системна Сигурност / Re: ssh attack -: Aug 30, 2011, 09:30
http://www.linux-bg.org/cgi-bin/y/index.pl?page=article&id=advices&key=393512859

може и без ipset в нея
54  Linux секция за начинаещи / Настройка на програми / Re: Пускане на няколко програми с едно действие -: Aug 29, 2011, 10:16
Благодаря за отговорите.

@tonitochev - това го правех преди, но не е точно това, което искам. Все пак не мога да пускам *всичко*, което ми трябва за *всички* активни проекти при стартиране.

@task_struct - това звучи много добре. А как се оправя "Активността" с приложенията, които не пускат нова инстанция в случай на съществуваща такава? Прим. NetBeans IDE май не може да пусне втори проект в нова инстанция - просто зарежда проекта в текущата инстанция?

Мислех си, че моя скрипт може да се направи реверсивен - при втори клик на иконата да затваря всички spawn-ати процеси.
55  Linux секция за начинаещи / Настройка на програми / Пускане на няколко програми с едно действие -: Aug 26, 2011, 09:39
Имам следния проблем - работя по няколко проекта едновременно, като разработката на всеки проект се нуждае от няколко софтуерни продукта - прим. NetBeans IDE, MysqlWorkBench, FF + FireBug, различни документации отворени в браузер. Малко досадно ми е всеки път като трябва да си  приготвя обкръжението да ги отварям едно по едно, след това да отварям в тях нужните местоположения на файлове/проекти/линкове.

Дойде ми идеята за десктоп икони, които да стартират гореизброените неща и да подават нужните параметри.

Тъй като съм малко бос в десктоп областта, си реших проблема по мой си начин:

/usr/local/bin/multirun
Код
GeSHi (Perl):
  1. #!/usr/bin/perl
  2. use POSIX;
  3.  
  4. sub afork (\@$&)
  5. {
  6. my ($data, $max, $code) = @_;
  7. my $c = 0;
  8. foreach my $data (@$data)
  9. {
  10. wait unless ++ $c <= $max;
  11. die "Fork failed: $!\n" unless defined (my $pid = fork);
  12. exit $code -> ($data) unless $pid;
  13. }
  14. 1 until -1 == wait;
  15. }
  16.  
  17.  
  18.  
  19. afork (@ARGV,10,\&run);
  20.  
  21. sub run
  22. {
  23. my $data = $_[0];
  24. `$data`;
  25. }
  26.  
  27. exit();

За всеки проект си създавам bash скрипт (може и в иконата ама е много дълго). Прим.:

Код
GeSHi (Bash):
  1. #!/bin/bash
  2.  
  3.  
  4. /usr/local/bin/multirun \
  5. "/usr/local/netbeans-7.0.1/bin/netbeans /www/site/site1" \
  6. "/usr/bin/mysql-workbench /www/site/site1/site1.mwb" \
  7. "firefox -new-window http://site1.work" \
  8. "opera http://dev.sencha.com/deploy/ext-3.3.1/docs/"

И накрая правя икона сочеща към този скрипт.

Решението работи, но се чудех дали няма някакво по-елегантно решение с инструментите на Windows manager-a (Gnome в моя случай).
56  Хумор, сатира и забава / Живота, вселената и някакви други глупости / Re: Хакнаха ми блог-а. -: Aug 24, 2011, 16:34
Не съм аз :) [_]3
57  Програмиране / Web development / Re: Скрипт за сваляне на списък с непрочетени теми от SMF форум (като линукс-бг) -: Aug 24, 2011, 15:03
Кое, какво не става?

Не е точно, последната страница а последното менение:
Код
GeSHi (PHP):
  1. if(preg_match('/topic=\d+\.msg\d+;topicseen#new$/',$url))
  2.  

?

T.e.?

http://www.linux-bg.org/forum/index.php?topic=41443.msg230753;topicseen#new ми вади тази страница с последият пост - "бившия" , де :)

това вади последните теми във форума .

Порблемът е, че не взима заглавието тъй като е друг линк :)
Може да се вземе лесно,обаче :)


Код
GeSHi (PHP):
  1. for ($i = 0; $i < $hrefs->length; $i++)
  2. {
  3.    $url = $hrefs->item($i)->getAttribute('href');
  4.    $title = $hrefs->item($i - 1)->nodeValue;
  5.  
  6. if(preg_match('/topic=\d+\.msg\d+;topicseen#new$/',$url))
  7. {
  8. if(!isset($links[$url]))
  9. {
  10. $links[$url] = $title;
  11. }
  12. }
  13. }
  14.  
58  Програмиране / Web development / Re: Скрипт за сваляне на списък с непрочетени теми от SMF форум (като линукс-бг) -: Aug 24, 2011, 12:55
Намерих си един  бъг в XSLT-файла - при една страница, няма пейджър и дава празен линк.
Поправено:

Код
GeSHi (XML):
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  3.  
  4. <xsl:output
  5. method="xml"
  6. omit-xml-declaration="no"
  7. doctype-public="//Netscape Communications//DTD RSS 0.91//EN"
  8. doctype-system="http://my.netscape.com/publish/formats/rss-0.91.dtd"
  9. indent="yes"
  10. />
  11.  
  12. <xsl:template match="/">
  13. <rss>
  14. <channel>
  15. <title>Linux за българи: Форум</title>
  16. <xsl:apply-templates select="/html/body//table/tr/td/table/tr[position() > 1]/td[position()=3]/a[position()=1]"/>
  17. </channel>
  18. </rss>
  19. </xsl:template>
  20.  
  21. <xsl:template match="a">
  22. <item>
  23. <title><xsl:value-of select="." /></title>
  24. <link>
  25. <xsl:choose>
  26.  
  27. <xsl:when test="../span/a[last()-1]/@href">
  28. <xsl:value-of select="../span/a[last()-1]/@href" />
  29. </xsl:when>
  30.  
  31. <xsl:otherwise>
  32. <xsl:value-of select="./@href" />
  33. </xsl:otherwise>
  34.  
  35. </xsl:choose>
  36. </link>
  37. </item>
  38. </xsl:template>
  39. </xsl:stylesheet>
  40.  

Код
GeSHi (PHP):
  1. <?php
  2.  
  3. function getContent()
  4. {
  5. $ch = curl_init();
  6.  
  7. curl_setopt($ch, CURLOPT_URL, 'http://www.linux-bg.org/forum/index.php?action=login2');
  8. curl_setopt ($ch, CURLOPT_POST, 1);
  9. curl_setopt ($ch, CURLOPT_POSTFIELDS, 'user=USERNAME&passwrd=PASSWORD');
  10. curl_setopt ($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
  11. curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
  12. $store = curl_exec ($ch);
  13. curl_setopt($ch, CURLOPT_URL, 'http://www.linux-bg.org/forum/index.php?action=unreadreplies');
  14. $content = curl_exec ($ch);
  15. curl_close ($ch);
  16.  
  17. return $content;
  18. }
  19.  
  20. $html = getContent();
  21.  
  22. $dom = new DOMDocument();
  23. @$dom->loadHTML($html);
  24.  
  25. $xslDoc = new DOMDocument();
  26. $xslDoc->load("rss.xsl");
  27.  
  28. $proc = new XSLTProcessor();
  29. $proc->importStylesheet($xslDoc);
  30.  
  31. header("Content-type: application/rss+xml; encoding=utf-8");
  32. echo $proc->transformToXML($dom);
59  Програмиране / Web development / Re: Скрипт за сваляне на списък с непрочетени теми от SMF форум (като линукс-бг) -: Aug 24, 2011, 12:39
Кое, какво не става?

Не е точно, последната страница а последното менение:
Код
GeSHi (PHP):
  1. if(preg_match('/topic=\d+\.msg\d+;topicseen#new$/',$url))
  2.  
60  Програмиране / Web development / Re: Скрипт за сваляне на списък с непрочетени теми от SMF форум (като линукс-бг) -: Aug 23, 2011, 22:23
Малко не толковa PHP :)

rss.xsl
Код
GeSHi (XML):
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  3.  
  4. <xsl:output
  5. method="xml"
  6. omit-xml-declaration="no"
  7. doctype-public="//Netscape Communications//DTD RSS 0.91//EN"
  8. doctype-system="http://my.netscape.com/publish/formats/rss-0.91.dtd"
  9. indent="yes"
  10. />
  11.  
  12. <xsl:template match="/">
  13. <rss>
  14. <channel>
  15. <title>Linux за българи: Форум</title>
  16. <xsl:apply-templates select="/html/body//table/tr/td/table/tr[position() > 1]/td[position() = 3]/a[position() = 1]"/>
  17. </channel>
  18. </rss>
  19. </xsl:template>
  20.  
  21. <xsl:template match="a">
  22. <item>
  23. <title><xsl:value-of select="." /></title>
  24. <link><xsl:value-of select="../span/a[last()-1]/@href" /></link>
  25. </item>
  26. </xsl:template>
  27. </xsl:stylesheet>
  28.  

Код
GeSHi (PHP):
  1. ...
  2. $html = curl_get_links();
  3.  
  4. $dom = new DOMDocument();
  5. @$dom->loadHTML($html);
  6.  
  7. $xslDoc = new DOMDocument();
  8. $xslDoc->load("rss.xsl");
  9.  
  10. $proc = new XSLTProcessor();
  11. $proc->importStylesheet($xslDoc);
  12.  
  13. echo $proc->transformToXML($dom);
  14.  
Страници: 1 2 3 [4] 5 6 ... 148