• Google.play: «Не поддерживается на Вашем устройстве»?

    bohdaniel
    @bohdaniel
    Мне попался китайский телефон с такой же проблемой. Первый раз угробил прошивку, редактируя файл build.prop
    Причина, по которой некоторые приложения были "неподдерживаемые" через Google Play, оказалась довольно банальная:

    В /system/etc/permissions есть файл handheld_core_hardware.xml, в нем прописано то что есть на девайсе. Китайцы зачем-то закомментировали там 2 строчки:

    <!--<feature name="android.hardware.location.network" />-->
      <!--<feature name="android.hardware.sensor.compass" />-->

    Все что нужно было сделать - это снять комментарии и все, такие приложения, которые зависять от этих параментров успешно устанавливаются из Google Play

    P. S. После того, как сделаете изменения, не забудьте почистить кэш приложения Google Play
    Ответ написан
  • Как генерировать скидочный купон на PHP?

    bohdaniel
    @bohdaniel Автор вопроса
    До того, как понял, что предложенный мной вариант мне немного не подходит, делал так...
    Может кому пригодится...

    1) Допустим, нужно сгенерировать купон типа 314420-ABG
    2) Генерируем рандомно число от 65 до 90 (=65)
    3) Генерируем первую букву из ascii (=А)
    4) Отнимаем от кода буквы 64 (65-64=1)
    5) Умножаем 1х2 = 2
    6) Переводим это число в радианы: 2*пи/180 = 0,03 (с округлением)
    7) Узнаем остаток этого числа после комы (=03)
    8) Разбиваем число на две части: 0 и 3
    9) Получаем первое (3) и последнее (0) число из числового набора
    10) Умножаем эти числа и додаем 14 (результат всегда будет двузначным = 14)
    11) Раскладываем это число на отдельные числа 1 и 4. Это будет второе (1) и четвертое (4) число из числового набора
    12) Умножаем 1-е, 2-е и 4-е число (=12). Разбиваем на отдельные символы (1, 2). Узнаем кто из них больше (=2). Это и будет наше 5-е число из числового набора.
    13) Генерируем случайно вторую букву (66=B)
    14) Отнимаем 64 = 2
    15) abs(cos(2)) = 0.41
    16) узнаем первое число после комы (4)
    17) Это и будет наше последнее, 3е число из числового ряда.
    18) Последняя буква тоже генерируется рандомно. Но она для красоты :)

    Проверяем код, в таком же порядке, как и генерировали. Если на каком-то этапе возникла ошибка, значит код недействительный.
    Минус такой генерации купонов в том, что один купон можно использовать бесконечное количество раз. Это как лицензионный ключ.
    Ответ написан
  • Календарь событий php - выборка из базы?

    bohdaniel
    @bohdaniel Автор вопроса
    то есть, все равно придется, пробегая циклом по всем дням месяца, обращаться каждый раз к базе и смотреть есть ли события для определенной даты? Одним запросом нельзя ли это сделать? Дело в том, что события имеют начало и конец. Например, премьера фильма начинается 15.05.2014, а заканчивается показ 15.09.2014. Я формирую календарь на 6 месяц 2014 года. Тогда все дни должны будут быть подсвечены ссылкой (так как для каждого дня есть событие). Вот другой пример, есть выставка, которая длиться 2 дня - с 15.05.2014 по 16.05.2014, тогда будут подсвечиваться только 2 дня - 16 и 17.
    думаю, я понятно изложил суть проблемы...

    Кажется, нашел элегантное и простое решение проблемы:
    SELECT id FROM events WHERE start_date <= 2014-05-31 AND end_date >= 2014-05-01;
    где 2014-05-31 и 2014-05-01 - последняя и первая даты календаря выбранного месяца и года

    Этим запросом выберутся все события, которые проходят через выбранный месяц
    Ответ написан