За последние 24 часа нас посетили 20337 программистов и 1090 роботов. Сейчас ищут 732 программиста ...

Хороший Open-Source, существует ?

Тема в разделе "Прочие вопросы по PHP", создана пользователем Vladson, 30 окт 2006.

  1. Anonymous

    Anonymous Guest

    Чебурген, тебя никто и не заставляет голосовать =))))
     
  2. логично
    пожалуй, и не буду.
    ни голосовать, ни в болтовне участвовать.
     
  3. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Вот я и говорю, никого не надо принуждать, хочешь критики покажи своё творение
    Именно так, я даже более скажу, не в кнопке дело и не в баллах, дело в том чтоб баллы ставили люди способные адекватно оценить скрипт

    (чтоб таким скриптам как phpBook кнопку не давали просто потому что спят с блондинкой которая его написала)
     
  4. Anonymous

    Anonymous Guest

    Vladson, мне все равно рыжие больше нравятся....
     
  5. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Подниму ка тему :)

    Наткнулся на несколько скрптов написанных нашими индийскими коллегами (хотя я бы их скорее назвал калеками) http://www.hscripts.com/scripts/php/index.php это ваще надо наверное в юмор кидать :)

    Например скрипт отправки мыла...
    PHP:
    1. <?php
    2.  
    3. /* recipients */
    4. $to1  = $_POST['to'];
    5.  
    6. /* message */
    7. $name1 = $_POST['name'];
    8. $from1 = $_POST['from'];
    9. $website1 = $_POST['website'];
    10. $feedback1= $_POST['feedback'];
    11.  
    12. $feedback1= str_replace("\\\\","",$feedback1);
    13. $feedback1= str_replace("\'","'",$feedback1);
    14. $feedback1= str_replace("\\\"","\"",$feedback1);
    15.  
    16. $message1 = "NAME :".$name1."\r\n";
    17. $message1 .= "MAIL :".$from1."\r\n";
    18. $message1 .= "WEB :".$website1."\r\n";
    19. $message1 .= "Message :".$feedback1."\r\n";
    20.  
    21. $subject1 = "Mail from $name1";
    22.  
    23. /* To send HTML mail, you can set the Content-type header. */
    24. $headers1  = "MIME-Version: 1.0\r\n";
    25. $headers1 .= "Content-type: text/html; charset=iso-8859-1\r\n";
    26.  
    27. /* additional headers */
    28. $headers1 .= "To: ".$to1."\r\n";
    29. $headers1 .= "From: ".$from1."\r\n";
    30. $headers1 .= "Reply-To: ".$from1."\r\n";
    31. $headers1 .= "Cc: \r\n";
    32.  
    33.  
    34. /*echo($to1."<br>");
    35. echo($subject1."<br>");
    36. echo($message1."<br>");
    37. echo($headers1."<br>");
    38. */
    39.  
    40.  
    41. /* and now mail it */
    42. if(@mail($to1, $subject1, $message1, $headers1))
    43. {
    44. echo("<table aligh=left><tr><td><font color=$FONTCOLOR>");
    45. echo("Dear $name1,<br>");
    46. echo("<br>");
    47. echo("<b> We welcome </b> your Message<br>");
    48. echo("<br>");
    49. echo("Your Message has been sent successfuly.<br>");
    50. echo("Our team will get back to you.");
    51. echo("<br>");
    52. echo("<br>");
    53. echo("Regards,<br>");
    54. echo("Support Team.<br>");
    55. echo("<br>");
    56. echo("</font></td></tr></table>");
    57. }
    58. else
    59. {
    60. echo("<br><br><br><br><br>");
    61. echo("Sorry unable to sent the Message.<br>");
    62. echo("<br><br><br><br><br>");
    63. }
    64. ?>
    Догадайтесь с трёх раз есть туд дыры или нет :D
     
  6. simpson

    simpson Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    1.650
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    отличная помощь спамерам =)
     
  7. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Практически готовый скрипт для рассылки спама, всё что осталось это найти сайты на которых стоит этот скрипт :)
     
  8. simpson

    simpson Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    1.650
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    Vladson
    а на сайте, который ты указал, и установлен этот скрипт... :)
     
  9. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Ещё один "шедевр" Open-сорца

    PHP:
    1. <?php
    2.     $f = fopen('counter.txt', 'a');
    3.     fwrite($f, '.');
    4.     fclose($f);
    5.     echo filesize('counter.txt') . ' visits';
    6. ?>
    Created by Ivan Peevski (cyberhorse at sourceforge)
     
  10. ONK

    ONK Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    281
    Симпатии:
    0
    Адрес:
    СПб
    Предлагаю на критическую оценку вот такой код:

    PHP:
    1. <?php
    2.  
    3. function privileges(){
    4.     global $CCSIS_NS;
    5.     main_init();
    6.     CCSIS::get_message('ERR193 ERR194 ERR195');
    7.     get_sys_mess('M5 M8 M54 M55 M56 M57 M58 M59 M60 E2 I10 I11');
    8.     if(CCSIS::input('_GET','rid')){
    9.         $iRid = intval(CCSIS::input('_GET','rid'));
    10.     }else if(CCSIS::input('_POST','rid')){
    11.         $iRid = intval(CCSIS::input('_POST','rid'));
    12.     }else{
    13.         $iRid = 1 + $CCSIS_NS->db->getOne("SELECT MAX(priv_id) FROM `".$CCSIS_NS->CNF['TAB_PREF']."_system_privileges`");
    14.     }
    15.     $sDescription = $CCSIS_NS->db->safe_getOne("SELECT priv_desc FROM `%1\$s_system_privileges` WHERE priv_id = '%2\$d'",$CCSIS_NS->CNF['TAB_PREF'],$iRid);
    16.     if(CCSIS::input('_POST','rule_desc')){
    17.         $sDescription = htmlspecialchars(CCSIS::input('_POST','rule_desc'));
    18.         if(!check_form_id(1)){
    19.             $rule = new EditTabManager();
    20.             if($rule->get_thread()){
    21.                 if($CCSIS_NS->db->safe_getOne("SELECT priv_id FROM `%1\$s_system_privileges` WHERE priv_id = '%2\$d'",$CCSIS_NS->CNF['TAB_PREF'],$iRid)){
    22.                     $CCSIS_NS->db->safe_query("UPDATE `%1\$s_system_privileges` SET priv_desc = '%2\$s' WHERE priv_id = '%3\$d'",$CCSIS_NS->CNF['TAB_PREF'],$sDescription,$iRid);
    23.                     $CCSIS_NS->oSystem->add_mess(sprintf($CCSIS_NS->aLang['I10'],$iRid,$sDescription));
    24.                 }else{
    25.                     $CCSIS_NS->db->safe_query("INSERT INTO `%1\$s_system_privileges` (priv_id,priv_desc)VALUES('%2\$d','%3\$s')",$CCSIS_NS->CNF['TAB_PREF'],$iRid,$sDescription);
    26.                     $CCSIS_NS->oSystem->add_mess(sprintf($CCSIS_NS->aLang['I11'],$iRid,$sDescription));
    27.                 }
    28.                 $rule->unlock();
    29.             }
    30.         }else{
    31.             $CCSIS_NS->oSystem->addError($CCSIS_NS->aLang['E2']);
    32.         }
    33.     }
    34.     $sForm_id = CCSIS::get_registered_fid(16);
    35.     $oForm = new Form($CCSIS_NS->aLang['M54'],'index.php',40,60);
    36.     $oForm->input_hidden("form_id",$sForm_id);
    37.     $oForm->input_hidden("action",$CCSIS_NS->action);
    38.     $oForm->input_hidden("rid",$iRid);
    39.     if(!empty($sDescription)){
    40.         $submit_mess = $CCSIS_NS->aLang['M5'];
    41.         $oForm->url_block($CCSIS_NS->aLang['M55'],$CCSIS_NS->aLang['M56'],'index.php?action='.$CCSIS_NS->action,$CCSIS_NS->CNF[90],1,0);
    42.     }else{
    43.         $submit_mess = $CCSIS_NS->aLang['M8'];
    44.     }
    45.     $oForm->textarea($CCSIS_NS->aLang['M57'],'rule_desc',$sDescription,$CCSIS_NS->CNF[90],3);
    46.     $oForm->input_submit($submit_mess,$CCSIS_NS->CNF[86]);
    47.     $oTable = new Table_constructor($CCSIS_NS->aLang['M58']);
    48.     $oTable->add_column($CCSIS_NS->aLang['M59'],'10%',CCSIS_CENTER);
    49.     $oTable->add_column($CCSIS_NS->aLang['M60'],'90%');
    50.     $SQL = "SELECT priv_id,priv_desc FROM `".$CCSIS_NS->CNF['TAB_PREF']."_system_privileges` ORDER BY priv_id";
    51.     $result = $CCSIS_NS->db->query($SQL);
    52.     if($result->numRows() > 0){
    53.         while($row = $result->fetchRow()){
    54.             $oTable->row($CCSIS_NS->CNF[90],new T_url($row[0],'index.php?action='.$CCSIS_NS->action.'&rid='.$row[0]),$row[1]);
    55.         }
    56.     }
    57.     show_page($oForm->show_form(),$oTable->show_table(),$CCSIS_NS->aLang['M58']);
    58. }
    59. ?>
    С ходу могу сказать, что тут нет комментариев,,, вобщем ужас. ;)
     
  11. Anonymous

    Anonymous Guest

    ничотаг. миленько.
     
  12. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    Мне предыдущий пример больше понравился. "Жадный алгоритм" так сказать :D
     
  13. ONK

    ONK Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    281
    Симпатии:
    0
    Адрес:
    СПб
    Dagdamor, зато в этом примере можно почти любую строчку обсуждать. Начнём хотябы с того, что этот модуль объединяет вывод записей из бд, генерацию формы создания/редактирования записи и обработчик добавления / редактирования записей в базе данных. К тому-же применена спорная тактика обработки POST запроса без редиректа.
    Про одноразовые идентификаторы форм, конструктор безопасных SQL запросов и полную многоязычность я упоминаю лишь вскользь, как бы случайно. :)

    И всё это помещается в какието 60 строк прикладного кода.
     
  14. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    а что, этакий «шведский нож» на php
    если что, то сразу понятно в какой функции ошибка. Хотя таких функций там может и много. :)

    P.S. почитал с чего начался топик. Основную обсуждаемую идею как всегда похоронили :?:
     
  15. ONK

    ONK Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    281
    Симпатии:
    0
    Адрес:
    СПб
    Luge, для полноценной реализации обсуждаемой идеи надо написать модуль к этому форуму. А это несколько дней продумывания, составления подробного ТЗ, день программирования, ещё пара дней на тестирование и отладку.
    Как я понимаю, все кто мог бы этим заняться и так достаточно занятые люди, чтобы вдруг найти неделю свободного времени.
     
  16. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    *перечитывает топик*

    Идея, мягко говоря, неплохая... не понимаю почему покрасили и выбросили ;)
     
  17. dark-demon

    dark-demon Активный пользователь

    С нами с:
    16 фев 2007
    Сообщения:
    1.920
    Симпатии:
    1
    Адрес:
    леноград
    Dagdamor, если это должен быть бесплатный сервис, то гиблая затея.
     
  18. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    dark-demon
    Господи - да почему же гиблая - наоборот, нет ничего проще. Назначается коллектив "жюри" - члены форума, которые более-менее доверяют суждениям друг друга, и которые готовы субъективно оценивать новые системы. Выбирается список критериев. Каждый член жюри оценивает систему по каждому из критериев и дает оценку от 1 до 5 (можно дробную), с хотя бы небольшим обоснованием. Результаты усредняются и выдаются за объективную оценку, все "обоснования" публикуются. Не согласен с оценкой - вступай в жюри сам, но помни, что тогда тебе придется оценивать другие системы тоже. Не согласен с идеей в целом - твое право. Главное не в том, чтобы оценка была супер пупер справедливой и объективной, а в том, чтобы она вообще была. Со временем такие оценки получат признание и будут цениться, главное - это вкладывать свое участие, а не говорить сразу, что мол "затея гиблая".
     
  19. dark-demon

    dark-demon Активный пользователь

    С нами с:
    16 фев 2007
    Сообщения:
    1.920
    Симпатии:
    1
    Адрес:
    леноград
    Ты забыл добавить - жюри должно быть авторитетным. и не только на этом форуме. а ещё у жюри должен быть стимул. да, скрипты на оценку 1 легко выявляются, но вот чтобы выбрать поставить 4 или 5 - нужно хорошо вникнуть как в сам скрипт, так и в решаемую им проблему

    а насчёт "вступай сам"... ну вступит в жюри куча ламеров - толку от такой оценки?
     
  20. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    dark-demon
    Ничего подобного - авторитет не должен быть изначально, его нужно будет заслужить. Людям с других форумов и сайтов глубоко начхать, кто такой dark-demon или Dagdamor, судить о них они будут по оценкам и отзывам, а не по каким-либо другим критериям.

    Если "ламер" способен оценить систему по нескольким критериям и по каждому их них написать отзыв - никакой он не ламер. Вообще надо быть осторожнее, называя окружающих ламерами... это опять к вопросу об авторитете ;)
     
  21. ONK

    ONK Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    281
    Симпатии:
    0
    Адрес:
    СПб
    Предвижу одну проблему, энтузиазму у народа на долго не хватит. Тут назначение авторитетов не прокатит, тут надо более сложную систему городить, которая сама, "автоматически назначает авторитетов" в зависимости от набора объективных и субъективных критериев. Я вобщем-то занимался этим, но в практической работе я этого не видел.
     
  22. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    Вобщем понятно, отсутствие финансового стимула и свободного времени губят все проекты. Жаль.
    На самом деле, поначалу желающих будет довольно много, со временем число участников, конечно же, уменьшится, возможно, даже на каком-то этапе команда сменится полностью, но не будет даже этого, если просто сидеть и думать что будет в том или ином случае. Надо хотя бы начать. Бросить никогда не поздно.
    Ой не знаю, это сколько же людей будет...
    необходимость обосновывать каждую оценку либо сама отсеит, либо даст толчок изучить вопрос глубже, наконец-то разобраться в том, что не дано было понять раньше.
     
  23. dark-demon

    dark-demon Активный пользователь

    С нами с:
    16 фев 2007
    Сообщения:
    1.920
    Симпатии:
    1
    Адрес:
    леноград
    и у многих будет желание давать развёрнутую оценку совсем никакого скрипта?
     
  24. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    не
    а краткое объективное объяснение по каждому пункту из выбранных для оценки
     
  25. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    Совсем уж никакие скрипты "обзирать" наверное смысла нет, но это относится только к самым дешевым поделкам, сильно важничать тоже не стоит. Как отличать поделки и как принимать решение, что имеет смысл рассматривать, а что нет - я не знаю, но что-то мне подсказывает, что сейчас это не самое главное препятствие. ;) Для начала надо решить, есть ли здесь люди, готовые поддержать идею, и с критериями надо определиться. Я готов войти в состав жюри, раз уж поднял идею :) кто еще готов, пишите сюда. Оценивать будем самым простым способом - для каждой разработки создается новая тема, в которую каждый из "судей" выкладывает обзор, потом подводятся итоги и начинается неизбежное их обсуждение + еще одна тема для заявок. Насчет критериев сложнее... я предлагаю учитывать такие вещи, которые важны для конечного разработчика и конечного пользователя:
    1. Простота установки и начала работы с системой;
    2. Оценка возможностей системы, ее ценности как разработки;
    3. Внятность исходного кода, качество комментариев;
    4. Оценка архитектуры системы и идей, заложенных в нее;
    5. Общее впечатление от системы (сюда можно валить в кучу все остальное - объем исходников и скорость работы, обнаруженные баги и уязвимости, замечания и предложения).