1. Список говнокодов пользователя Rijen

    Всего: 10

  2. PHP / Говнокод #20920

    +545

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    <?php
    /**
     * Объединяет массивы, сохраняя элементы присутствующие лишь в одном из массивов
     * + сортирует без сохранения ключей
     * @param array $a1
     * @param array $a2
     * @return array
     */
    function array_xor_merge($a1, $a2) {
    	$allr	 = array_merge($a1, $a2);
    	$allp	 = array_flip($allr);
    	foreach (array_count_values($allr) as $key => $cnt) {
    		if ($cnt > 1) {
    			unset($allp[$key]);
    		}
    	}
    	$res = array_flip($allp);
    	sort($res);
    	return $res;
    }

    Rijen, 22 Августа 2016

    Комментарии (5)
  3. SQL / Говнокод #19358

    −40

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    select
     distinct
        P.CART_ID,
        sum(P.COST) COST,
        cast(P.BUY_DATE as date) BUY_DATE,
        '[' || U.ID || '] ' || U.FAM || ' ' || U.NAME || ' ' || U.VATHERNAME UNAME,
     
    
        list(coalesce((select
                           USERS.NAME
                       from
                           USERS
                       where
                           USERS.ID = C.USERID), 'System') || '(' || C.DATETIME || ') - ' || C.comment, ascii_char(10))
     from
        PRODUCTS_HISTORY P
    right join
        PARTNERS U on U.ID = P.USERID
    join
        COMMENTS C on C.PRODUCTID = P.CART_ID
    where
       -- P.CART_ID is not null and
                p.cart_id = 11888
    group by 1, 3, 4

    Аккуратненький запросик.. Но почему-то он в листе c.comment умножает на p.cart_id.

    Rijen, 28 Января 2016

    Комментарии (4)
  4. SQL / Говнокод #19352

    −50

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    use [oktell]
    select 
    	(case when SUBSTRING([Call_status_note],1,1)='1' 
    	then 'Расписание специалиста, '	else ''	end)
    	+(case when SUBSTRING([Call_status_note],2,1)='1' 
    	then 'Стоимость услуг, ' else '' end)
    	+(case when SUBSTRING([Call_status_note],3,1)='1' 
    	then 'Адрес, ' 	else '' end)
    	+(case when SUBSTRING([Call_status_note],4,1)='1' 
    	then 'Вакцина, 'else '' end)
    	+(case when SUBSTRING([Call_status_note],5,1)='1' 
    	then 'Эл.почта, 'else '' end)
    	+(case when SUBSTRING([Call_status_note],6,1)='1' 
    	then 'Перевод звонка в офис и др., 'else '' end)
    	+(case when SUBSTRING([Call_status_note],7,1)='1' 
    	then 'Стоматология, 'else '' end)
    	+(case when SUBSTRING([Call_status_note],8,1)='1' 
    	then 'Неверная информация, 'else '' end)
    	+(case when SUBSTRING([Call_status_note],9,1)='1' 
    	then 'Ведение беременности, 'else '' end)
    	+(case when SUBSTRING([Call_status_note],10,1)='1' 
    	then 'Услуги, операции, анализы, 'else '' end)
    	+(case when SUBSTRING([Call_status_note],11,1)='1' 
    	then 'Вопросы скорой помощи, 'else '' end)
    	+(case when SUBSTRING([Call_status_note],12,1)='1' 
    	then 'Звонок сорвался, 'else '' end) [Заметка]
    from [dbo].[AbonentsMedPark]

    Потребовали максимально быстро реализовать функциолнал. Есть текстовое поле вида "111111000000", надо по флагам вывести текст.
    Конкретно с самим MSSQL работал мало. Я предлагал использовать функцию, мне отказали. Возможно ли реализовать этот запрос более оптимально?

    Rijen, 27 Января 2016

    Комментарии (18)
  5. PHP / Говнокод #17824

    +159

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    /**
     * @package mod_jlcurrency
     * @author Zhukov Artem ([email protected])
     * @version 1.1
     * @copyright (C) 2012 by JoomLine (http://www.joomline.net)
     * @license GNU/GPL: http://www.gnu.org/copyleft/gpl.html
     *
    */
    // No direct access
    defined('_JEXEC') or die('Restricted access');
    $vl = array();
    $vl[$params->get('JPY')]=$params->get('JPY');$vl[$params->get('ZAR')]=$params->get('ZAR');
    $vl[$params->get('KRW')]=$params->get('KRW');$vl[$params->get('CHF')]=$params->get('CHF');
    $vl[$params->get('SEK')]=$params->get('SEK');$vl[$params->get('CZK')]=$params->get('CZK');
    $vl[$params->get('UAH')]=$params->get('UAH');$vl[$params->get('UZS')]=$params->get('UZS');
    $vl[$params->get('TRY')]=$params->get('TRY');$vl[$params->get('TMT')]=$params->get('TMT');
    $vl[$params->get('TJS')]=$params->get('TJS');$vl[$params->get('SGD')]=$params->get('SGD');
    $vl[$params->get('XDR')]=$params->get('XDR');$vl[$params->get('RON')]=$params->get('RON');
    $vl[$params->get('PLN')]=$params->get('PLN');$vl[$params->get('NOK')]=$params->get('NOK');
    $vl[$params->get('MDL')]=$params->get('MDL');$vl[$params->get('LTL')]=$params->get('LTL');
    $vl[$params->get('LVL')]=$params->get('LVL');$vl[$params->get('CNY')]=$params->get('CNY');
    $vl[$params->get('KGS')]=$params->get('KGS');$vl[$params->get('CAD')]=$params->get('CAD');
    $vl[$params->get('KZT')]=$params->get('KZT');$vl[$params->get('INR')]=$params->get('INR');
    $vl[$params->get('EUR')]=$params->get('EUR');$vl[$params->get('USD')]=$params->get('USD');
    $vl[$params->get('DKK')]=$params->get('DKK');$vl[$params->get('HUF')]=$params->get('HUF');
    $vl[$params->get('BRL')]=$params->get('BRL');$vl[$params->get('BGN')]=$params->get('BGN');
    $vl[$params->get('BYR')]=$params->get('BYR');$vl[$params->get('AMD')]=$params->get('AMD');
    $vl[$params->get('GBP')]=$params->get('GBP');$vl[$params->get('AZN')]=$params->get('AZN');
    $vl[$params->get('AUD')]=$params->get('AUD');

    Эмм. Это так и должно быть?

    Rijen, 20 Марта 2015

    Комментарии (50)
  6. 1C / Говнокод #17737

    −121

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    КодТек = Каст(ID);
    
    Возвр = "{";
    
    ТекПользоваетель Контрагенты.НайтиПоКоду(КодТек);
    Если ТекПользователь = Контрагенты.ПустаяСсылка тогда
    		возврат 1;//Пользователь не найден
    конецЕсли;
    
    ТекЛев = Контрагенты.НайтиПоКоду(ТекПользователь.ЛеваяНога);
    
    Если не ТекЛев = Контрагенты.ПустаяСсылка тогда
    		Возвр=Возвр+"""cur_left"":{"+
    			"""id"":"""+ТекЛев.ID+""","+
    			"""last_name"":"""+ТекЛев.Фамилия+""","+
    			"""first_name"":"""+ТекЛев.Имя+""","+
    			"""middle_name"":"""+ТекЛев.Отчество+"""},";
    		
    		ТекЛевЛев = Контрагенты.НайтиПоКоду(ТекЛев.ЛеваяНога);
    
    		Если не ТекЛевЛев = Контрагенты.ПустаяСсылка тогда
    				Возвр=Возвр+"""cur_left_left"":{"+
    					"""id"":"""+ТекЛевЛев.ID+""","+
    					"""last_name"":"""+ТекЛевЛев.Фамилия+""","+
    					"""first_name"":"""+ТекЛевЛев.Имя+""","+
    					"""middle_name"":"""+ТекЛевЛев.Отчество+"""},";
    		конецЕсли;
    			
    		ТекЛевПрв = Контрагенты.НайтиПоКоду(ТекЛев.ПраваяНога);
    
    		Если не ТекЛевПрв = Контрагенты.ПустаяСсылка тогда
    				Возвр=Возвр+"""cur_left_right"":{"+
    					"""id"":"""+ТекЛевПрв.ID+""","+
    					"""last_name"":"""+ТекЛевПрв.Фамилия+""","+
    					"""first_name"":"""+ТекЛевПрв.Имя+""","+
    					"""middle_name"":"""+ТекЛевПрв.Отчество+"""},";
    		конецЕсли;
    конецЕсли;
    
    
    ТекПрв = Контрагенты.НайтиПоКоду(ТекПользователь.ПраваяНога);
    
    Если не ТекПрв = Контрагенты.ПустаяСсылка тогда
    		Возвр=Возвр+"""cur_right"":{"+
    			"""id"":"""+ТекПрв.ID+""","+
    			"""last_name"":"""+ТекПрв.Фамилия+""","+
    			"""first_name"":"""+ТекПрв.Имя+""","+
    			"""middle_name"":"""+ТекПрв.Отчество+"""},";
    		
    		ТекПрвЛев = Контрагенты.НайтиПоКоду(ТекПрв.ЛеваяНога);
    
    		Если не ТекПрвЛев = Контрагенты.ПустаяСсылка тогда
    				Возвр=Возвр+"""cur_right_left"":{"+
    					"""id"":"""+ТекПрвЛев.ID+""","+
    					"""last_name"":"""+ТекПрвЛев.Фамилия+""","+
    					"""first_name"":"""+ТекПрвЛев.Имя+""","+
    					"""middle_name"":"""+ТекПрвЛев.Отчество+"""},";
    		конецЕсли;
    			
    		ТекПрвПрв = Контрагенты.НайтиПоКоду(ТекПрв.ПраваяНога);
    
    		Если не ТекПрвПрв = Контрагенты.ПустаяСсылка тогда
    				Возвр=Возвр+"""cur_right_right"":{"+
    					"""id"":"""+ТекПрвПрв.ID+""","+
    					"""last_name"":"""+ТекПрвПрв.Фамилия+""","+
    					"""first_name"":"""+ТекПрвПрв.Имя+""","+
    					"""middle_name"":"""+ТекПрвПрв.Отчество+"""},";
    		конецЕсли;
    конецЕсли;
    
    
    ДлСтр = ДлинаСтроки(Возвр);
    
    Если ДлСтр=1 тогда 
    	возврат 2;//Ноги пусты
    иначе
    	Возрв = Лев(Возвр, ДлСтр-1)+"}";
    	возврат Возвр;
    конецЕсли;

    1С - хорошая среда. В этой среде очень просто и весело писать говнокод, причем с вполне серьезной мордой.

    Rijen, 05 Марта 2015

    Комментарии (7)
  7. 1C / Говнокод #17736

    −125

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    ТекущийПользователь = Справочники.Контрагенты.НайтиПоКоду(НовыйПользователь.Спонсор); //Выдергиваем указанного спонсора чтобы запихать ему в ногу
    Курсор = ТекущийПользователь.НастройкаКурсорНоги;//Определяет в какую ногу будут попадать новые рефералы
    Итератор = 0;
    
    Пока Истина цикл
    	Спонсор = ТекущийПользователь;//Небольшой финт
    	Если Итератор = 0 тогда
    		Если Курсор = "Левая" тогда
    			ТекущийПользователь = Справочники.Контрагенты.НайтиПоКоду(ТекущийПользователь.ЛеваяНога);
    		Иначе
    			ТекущийПользователь = Справочники.Контрагенты.НайтиПоКоду(ТекущийПользователь.ПраваяНога);
    		КонецЕсли;
    	Иначе
    		ТекущийПользователь = Справочники.Контрагенты.НайтиПоКоду(ТекущийПользователь.ПраваяНога); //Всех в "Правую ногу"
    	КонецЕсли;
    	
    	Если ТекущийПользователь = Справочники.Контрагенты.ПустаяСсылка тогда
    		Если Итератор = 0 тогда
    			Если Курсор = "Левая" тогда
    				Спонсор.ЛеваяНога = ТекущийПользователь;
    			Иначе
    				Спонсор.ПраваяНога = ТекущийПользователь;
    			КонецЕсли;
    		Иначе
    			Спонсор.ПраваяНога = ТекущийПользователь;
    		КонецЕсли;
    		Прервать;//Успешное завершение
    	КонецЕсли;
    КонецЦикла;

    Rijen, 05 Марта 2015

    Комментарии (10)
  8. 1C / Говнокод #17734

    −119

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    {""code"":"""+Строка(Результат.ID)+""","+
    """gender"":"""+Результат.Пол+""","+
    """dob"":"""+Результат.ДатаРождения+""","+
    """passport"":"""+Результат.ПаспортныеДанные+""","+
    """address"":"""+Результат.Адрес+""","+
    """phone"":"""+Результат.Телефон+""","+
    """skype"":"""+Результат.Skype+""","+
    """email"":"""+Результат.Email+""","+
    """last_name"":"""+Фамилия+""","+
    """first_name"":"""+Имя+""","+
    """middle_name"":"""+Отчество+""","+
    """ref_first_name"":"""+ИмяСпонсора+""","+
    """ref_last_name"":"""+ФамилияСпонсора+""","+
    """ref_middle_name"":"""+ОтчествоСпонсора+""","+
    """ref_id"":"""+Строка(Результат.РефералID)+""","+
    """money"":"""+СтрЗаменить(Строка(Результат.БалансРуб),",",".")+
    ""","+"""balls"":"""+СтрЗаменить(Строка(Результат.БалансБалл),",",".")+""","+
    """pack"":"""+Результат.Пакет+""","+
    """password"":"""+Результат.Пароль+""""+"}";

    "Простая библиотека для кодирования JSON"

    Rijen, 05 Марта 2015

    Комментарии (8)
  9. PHP / Говнокод #17632

    +159

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    function build_period($crews){
    	global $start_time, $end_time, $memc;
    	cache_smens();
    	//Добавление смен и исключений
    	foreach ($crews as $k => $v){
    		$re1 = @$memc->get($v['ID']);
    		if (is_array($re1)){
    			foreach ($re1 as $v1){
    				$crews[$k]['sm'][] = $v1;
    			}
    		}
    		$re2 = get_exception($v);
    		foreach ($re2 as $v2){
    			$crews[$k]['sm'][] = $v2;
    		}
    	}
    
    	$flags = array();
    	foreach ($crews as $v){//Если есть смена
    		if (isset($v['sm'])){
    			$flags[$v['ID']] = array();
    			//Генерируем флаги
    			//Есть смена - false, иначе если эту минуту надо замерять - true
    			for ($i = $start_time; $i <= $end_time; $i = $i + (60)){
    				if (!isset($flags[$v['ID']][$i])){
    					$flags[$v['ID']][$i] = true;
    				}
    				foreach ($v['sm'] as $v1){
    					if ($i >= $v1['begin'] && $i <= $v1['end']){
    						$flags[$v['ID']][$i] = false;
    					}
    				}
    			}
    		}
    		else{
    			//Если смены нет забъем массив труями.
    			for ($i = $start_time; $i <= $end_time; $i = $i + (60)){
    				if (!isset($flags[$v['ID']][$i])){
    					$flags[$v['ID']][$i] = true;
    				}
    			}
    		}
    	}
    
    
    	$xor_per = array();
    	foreach ($flags as $k => $v){
    		$l1 = 0;
    		$l2 = 0;
    		foreach ($flags[$k] as $k1 => $v1){
    			/**
    			 * На основе флагов генерируем ключи старта - конца замера.
    			 *
    			 * Если не установлен предыдущий флаг или предыдущий флаг - смена
    			 *  и текущий флаг - True, смены нет, ставим отметку начала периода
    			 */
    			if ((!isset($flags[$k][$k1 - 60]) || !$flags[$k][$k1 - 60]) && $v1){
    				$xor_per[$k][$l1]['begin'] = $k1;
    				$l1++;
    			}
    			/**
    			 * Если следующий флаг false или неустановлен и текущий true
    			 * ставим отметку конца смены.
    			 */
    			if ((!isset($flags[$k][$k1 + 60]) || !$flags[$k][$k1 + 60]) && $v1){
    				/**
    				 * Если время в итерации равно времени конца суток
    				 *  укажем концом периода замера конец суток
    				 *  иначе нахерато добавим минуту
    				 */
    				$xor_per[$k][$l2]['end'] = $k1 == $end_time ? $end_time : $k1 + 60;
    				$l2++;
    			}
    		}
    
    		#need вкурить что я тут написал
    		if (isset($xor_per[$k])){
    			$crews[$k]['ps'] = $xor_per[$k];
    		}else{
    			//Если целые сутки смена
    			unset($crews[$k]);
    		}
    		unset($flags[$k]);
    	}
    
    	return $crews;
    }

    "Вот жопой чую, можно было сделать проще"

    Rijen, 12 Февраля 2015

    Комментарии (5)
  10. PHP / Говнокод #17626

    +158

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    //Получим все пробеги за все периоды
    		$ps_res = array();
    		foreach ($crews as $v)
    		{
    			foreach ($v['ps'] as $ps)
    			{
    				/**
    				 * Отправим горку запросов в виалон на получение километража.
    				 * Можноо, конечно сделать по людски и генерировать массив и
    				 * получить это всё одним запросом, но мне лень,
    				 * буду лучше как мудак грузить систему виалона.
    				 */
    				$g = $api->call('gps/get_c_report',
    						array('car_id'	 => $v['WI'],
    					'begin_time' => $ps['begin'],
    					'end_time'	 => $ps['end']));
    				$cnt = (float) str_replace(' km', '', $g[1]->reportResult->stats[0][1]);
    				if ($cnt > 2)
    				{
    					/**
    					 * Если проехали больше 2 км, то упаковать данные на
    					 * выставление пиздюлей
    					 */
    					$ps_res[$v['ID']][] = array('id' => $v['ID'], 'cnt' => $cnt, 'ps' => $ps);
    				}
    			}
    			if (!empty($ps_res))
    			{
    
    				/**
    				 * Выполним операции на каждой итерации, ибо виалон - зло.
    				 *  отваливается при большом количестве запросов.
    				 * Нет, я не настолько мудак в любом случае у них ограничение на кол-во
    				 *  операций варьирующееся от количества нагрузки на сервер.
    				 */
    				set_op($ps_res);
    				unset($ps_res[$v['ID']]);
    			}
    		}

    Комменты доставили, да.

    Rijen, 11 Февраля 2015

    Комментарии (4)
  11. Куча / Говнокод #17625

    +129

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    @servers(['web' => '[email protected]'])
     
    <?php
    $repo = '[email protected]:webbox/lb.git';
    $release_dir = '/home/admin/web/releases';
    $app_dir = '/home/admin/web/likebox-dev/public_html';
    $release = 'release_' . date('YmdHis');
    ?>
     
    @macro('deploy', ['on' => 'web'])
    fetch_repo
    run_composer
    update_permissions
    update_symlinks
    @endmacro
     
    @task('fetch_repo')
    [ -d {{ $release_dir }} ] || mkdir {{ $release_dir }};
    cd {{ $release_dir }};
    git clone {{ $repo }} {{ $release }};
    @endtask
     
    @task('run_composer')
    cd {{ $release_dir }}/{{ $release }};
    composer install --prefer-dist;
    @endtask
     
    @task('update_permissions')
    cd {{ $release_dir }};
    chgrp -R www-data {{ $release }};
    chmod -R ug+rwx {{ $release }};
    @endtask
     
    @task('update_symlinks')
    ln -nfs {{ $release_dir }}/{{ $release }} {{ $app_dir }};
    chgrp -h www-data {{ $app_dir }};
    @endtask

    Гит не нужен =)

    Rijen, 11 Февраля 2015

    Комментарии (0)