Circle Tasks 2: новая версия моего ToDo скрипта

Владимир | | Web разработка, Разное.

circle tasks logo

Приветствую всех читателей!

На днях я закончил работу над второй версией ToDo скрипта и теперь хочу о нёй рассказать 😉 И, самое главное, почитать ваши отзывы.

Т.к. после релиза первой версии прошло уже больше месяца, я кратко напомню, о чем идет речь.

Думаю, представить себе простейший ToDo список могут все. Это просто перечень дел с отметками «выполнено / не выполнено».

Но существует множество вариантов усовершенствования такого списка. Например, можно придумать различные состояния для задач и обозначить их какими-нибудь символами. Такой подход значительно упрощает работу с большими списками, т.к. вы можете сортировать и фильтровать задачи по различным критериями (состояние, дата).

Для этого скрипта я использовал одну из таких систем обозначений. Её разработал Sigurdur Armannsson. Подробно её описание вы найдете в предыдущей статье.

Сейчас речь пойдет именно об изменениях по сравнению с предыдущей версией.

Сразу дам ссылки на страницу с демо версией и архив.

Demo Source

UPD: Добавил версию, предназначенную для установки в папку сайта, а не на отдельный хост

Source

Для входа можно использовать demo аккаунт (логин: admin@todo.loc, пароль: password) или создать нового пользователя (ссылка «Регистрация» под. формой входа). Только учтите, что приложение позволяет изменять пароль, и если кто-то успеет изменить его до вас, то вам останется только регистрация.

1) Изменилось название 🙂 . Теперь скрипт называется Circle Tasks. Это название ближе к названию оригинала.

2) Изменился дизайн. Тут изменения не очень большие. Подобраны более подходящие иконки для операций «Изменить» и «Удалить», перерисованы иконки состояний задач. Изменена цветовая гамма (надеюсь в лучшую сторону 🙂 ).

3) Интерфейс. Вот здесь изменений больше всего.

Во-первых, я учел отличные рекомендации Steward и убрал inline редакторы. Сначала мне казалось, что они будут ускорять работу, но оказалось что это не так. Теперь чтобы изменить задачу нужно кликнуть по кнопке «Изменить», откроется форма, содержащая все необходимые поля.

update_note

Во-вторых, в меню добавлен пункт «Настройки». Он ведет на страницу, которая позволяет изменить язык приложения и пароль.

Предпочитаемый язык сохраняется отдельно для каждого пользователя в базе данных. Если точно определить язык не возможно (например, вы не залогинились), то используются данные из заголовка Accept-Language, который отправляет ваш браузер.

На данный момент доступны русский и английский языки.

4) Поддержка неограниченного количества пользователей.

Я хочу сразу пояснить, что это приложение задумывалось как однопользовательское. А «поддержка неограниченного количества пользователей» означает, что можно регистрировать сколько угодно пользователей, но ToDo список будет у каждого свой. Отправлять задания другим пользователям нельзя.

И, честно говоря, я сомневаюсь, что этот функционал нужно добавлять. Т.к. в результате получится совершенно другое приложение, более сложное и рассчитанное на другую аудиторию. Примеры таких приложений вы можете посмотреть здесь.

В общем, если я когда-нибудь и займусь такой разработкой, то это будет совершенно другое приложение, а не очередная версия Circle Tasks.

5) Уменьшился размер JS файлов. В основном за счет замены jQuery UI () на JQuery Tools.

Кстати я первый раз использовал JQuery Tools и впечатления самые положительные. Функционала, конечно, меньше, чем в jQuery UI, но его должно хватить в 90% случаев. Легко изменяется оформление компонентов. И главное преимущество – размер. В общем, всем рекомендую попробовать.

Об основных изменениях я рассказал. Если у вас возникли вопросы, замечания или пожелания, пишите, буду рад на них ответить!

  • bullder

    Как бы тестовый заход интересно сразу бы )

    А то регистрироваться приходиться

    • Тестовый вход есть
      логин: admin@todo.loc, пароль: password
      но проблема в том, что кто угодно может изменить пароль. База данных восстанавливается каждые 24 часа, но это проблему не решает. Если сегодня кто-то залогинился с тестовым аккаунтом до вас и изменил пароль, то вы сможете только зарегистрироваться.
      Я специально упростил регистрацию (никаких captcha и подтверждений на email).

  • bullder

    Как бы тестовый заход интересно сразу бы )

    А то регистрироваться приходиться

    • Тестовый вход есть
      логин: admin@todo.loc, пароль: password
      но проблема в том, что кто угодно может изменить пароль. База данных восстанавливается каждые 24 часа, но это проблему не решает. Если сегодня кто-то залогинился с тестовым аккаунтом до вас и изменил пароль, то вы сможете только зарегистрироваться.
      Я специально упростил регистрацию (никаких captcha и подтверждений на email).

  • Привет. Сейчас гляну, тоже что-нибудь напишу 🙂

  • Привет. Сейчас гляну, тоже что-нибудь напишу 🙂

  • 1. Есть скролл горизонтальный под 1024х768 FF. Не эстетично 🙂
    2. Иконки статусов по-моему неоднозначны, фиг знает. Хотя, это на первый взгляд так, если подумать вроде понимаешь что к чему.

    Вообще классно, надо туда ссылки еще вставить и форматирование текста.

    • Иконки придумал не я. В статье автора есть подробное описание этой системы.

      • Может показалось… но WYSIWYG в силе 🙂

        • Я вообще-то думал, что нужно прикрутить к полю с текстом какой-нибудь редактор, но не был уверен. Хочется оставить приложение максимально простым.

        • Тогда, думаю, как минимум, автодобавление ссылки к тексту ссылки.

        • Я наверное сделаю версию с редактором и попробую поработать.

        • В любом случае, спасибо, полезный скрипт.

  • 1. Есть скролл горизонтальный под 1024х768 FF. Не эстетично 🙂
    2. Иконки статусов по-моему неоднозначны, фиг знает. Хотя, это на первый взгляд так, если подумать вроде понимаешь что к чему.

    Вообще классно, надо туда ссылки еще вставить и форматирование текста.

    • Иконки придумал не я. В статье автора есть подробное описание этой системы.

      • Может показалось… но WYSIWYG в силе 🙂

        • Я вообще-то думал, что нужно прикрутить к полю с текстом какой-нибудь редактор, но не был уверен. Хочется оставить приложение максимально простым.

        • Тогда, думаю, как минимум, автодобавление ссылки к тексту ссылки.

        • Я наверное сделаю версию с редактором и попробую поработать.

        • В любом случае, спасибо, полезный скрипт.

  • Be3

    Изменить запись -> Статус
    Ситуация: Случайно кликнул на статус
    Действия: Что бы оставить прежний статус, необходимо найти его в списке и выбрать.
    На мой взгляд не совсем юзер френдли. К тому же наличие в списке такого же статуса немного сбивает с толку +)

    Но это называется нашел к чему прикопаться +) В целом молодец, Вов!
    Вечерком почитаю код +)

    • Be3

      Случайно вывел в списке дел notice. Удалив из формы поле «Статус» с помощью firebug… а говорили все поля обязательные +)

  • Be3

    Изменить запись -> Статус
    Ситуация: Случайно кликнул на статус
    Действия: Что бы оставить прежний статус, необходимо найти его в списке и выбрать.
    На мой взгляд не совсем юзер френдли. К тому же наличие в списке такого же статуса немного сбивает с толку +)

    Но это называется нашел к чему прикопаться +) В целом молодец, Вов!
    Вечерком почитаю код +)

    • Be3

      Случайно вывел в списке дел notice. Удалив из формы поле «Статус» с помощью firebug… а говорили все поля обязательные +)

  • Sam

    Начинает напоминать http://planary.ru/ 😉

    • Спасибо за наводку, я этот сервис раньше не видел.

  • Sam

    Начинает напоминать http://planary.ru/ 😉

    • Спасибо за наводку, я этот сервис раньше не видел.

  • классный скриптик, спасибо!

  • классный скриптик, спасибо!

  • serator

    Не лучше ли сделать при заходе загрузку всех данных на json'е (формат на вкус и цвет) и далее строить / фильтрировать с помощью js. Данных-то с копейку по сути выходит.

    + в некоторых записях в нижней строке не видно нижних частей букв вроде «j», «q», «g» и подобных. Нижняя часть у них просто обрезается.

    + A PHP Error was encountered
    Severity: Notice
    Message: Undefined index:
    Filename: views/todolist.php
    Line Number: 26

    + У одной из записей статус «undefined».

    В целом задумка неплохая, но реализация пока хромает… Продолжайте развивать, возможно выйдет нечто толковое 😉

    • Данных действительно с копейку, но отправляется лишний запрос.

  • serator

    Не лучше ли сделать при заходе загрузку всех данных на json'е (формат на вкус и цвет) и далее строить / фильтрировать с помощью js. Данных-то с копейку по сути выходит.

    + в некоторых записях в нижней строке не видно нижних частей букв вроде «j», «q», «g» и подобных. Нижняя часть у них просто обрезается.

    + A PHP Error was encountered
    Severity: Notice
    Message: Undefined index:
    Filename: views/todolist.php
    Line Number: 26

    + У одной из записей статус «undefined».

    В целом задумка неплохая, но реализация пока хромает… Продолжайте развивать, возможно выйдет нечто толковое 😉

    • Данных действительно с копейку, но отправляется лишний запрос.

  • Большое спасибо за отзывы!
    Я постараюсь в ближайшее время исправить ошибки.

  • Большое спасибо за отзывы!
    Я постараюсь в ближайшее время исправить ошибки.

  • Отличная задумка и реализация.
    Но хотелось бы увидеть реализацию в виде программы. Быстро открыл, написал, свернул в трей.
    Установка на локалке наверное не выход.
    или возможно сменить немного дизайн и ставить на рабочий стол активным содержимым

    • Я подумаю что можно сделать. По-идее приложение на adobe air должно подойти… правда я с air не работал ))

      • air кстати да. можно как вариант.

  • Отличная задумка и реализация.
    Но хотелось бы увидеть реализацию в виде программы. Быстро открыл, написал, свернул в трей.
    Установка на локалке наверное не выход.
    или возможно сменить немного дизайн и ставить на рабочий стол активным содержимым

    • Я подумаю что можно сделать. По-идее приложение на adobe air должно подойти… правда я с air не работал ))

      • air кстати да. можно как вариант.

  • Как зарегиться на сайте? Что-то не догоняю ):

    • Кликнуть по ссылке «Регистрация» под кнопкой «Войти» и заполнить форму. После этого можно залогиниться.

  • Как зарегиться на сайте? Что-то не догоняю ):

    • Кликнуть по ссылке «Регистрация» под кнопкой «Войти» и заполнить форму. После этого можно залогиниться.

  • Во-первых, я учел отличные рекомендации Steward и убрал inline редакторы. Сначала мне казалось, что они будут ускорять работу, но оказалось что это не так.

    Можно подробнее? Мне всегда казалось, что inline-редакторы и быстрее и удобнее (во всяком случае, для меня)…

    • Там проблема была не в inline редакторах как таковых, а в их реализации 🙂 и в специфике приложения.
      Часто возникает необходимость изменить статус задачи и одновременно что-то добавить в описание. В таких случаях inline редакторы тормозили работу, т.к. выполнялось два отдельных запроса для сохранения изменений.

  • Во-первых, я учел отличные рекомендации Steward и убрал inline редакторы. Сначала мне казалось, что они будут ускорять работу, но оказалось что это не так.

    Можно подробнее? Мне всегда казалось, что inline-редакторы и быстрее и удобнее (во всяком случае, для меня)…

    • Там проблема была не в inline редакторах как таковых, а в их реализации 🙂 и в специфике приложения.
      Часто возникает необходимость изменить статус задачи и одновременно что-то добавить в описание. В таких случаях inline редакторы тормозили работу, т.к. выполнялось два отдельных запроса для сохранения изменений.

  • Есть большая проблема, может здесь кто нибудь подскажет как ее решить, буду очень благодарен….
    Есть ли скрипт который автоматически удаляет все файлы из определенной папки на сервере скажем раз в 24 часа?

    • Зачем скрипт? Файлы можно удалить обычной командой из консоли.
      Создаете задачу в планировщике (Cron) и указываете нужную команду. А периодичность можно задать практически любую.

  • Есть большая проблема, может здесь кто нибудь подскажет как ее решить, буду очень благодарен….
    Есть ли скрипт который автоматически удаляет все файлы из определенной папки на сервере скажем раз в 24 часа?

    • Зачем скрипт? Файлы можно удалить обычной командой из консоли.
      Создаете задачу в планировщике (Cron) и указываете нужную команду. А периодичность можно задать практически любую.

  • Бакалавр — ну такой срипт за 2 минуты можно написать 🙂

    Владимир — ToDo скрипт — опять же очень к месту !
    пол интернета перерыл в поисках ОНЛАЙН (локальные не интересуют), остановился на супер простом виджете «Список дел» от гугла — но там как оказалось ограничение в 10 дел 🙂 и снова проблема повисла в воздухе — а самому писать вообще в ломы 🙂

    а тут готовый скрипт — так вообще секьюрно получается — все твои дела, у тебя же на сервере 🙂

    ща заюзаю скриптец … !

  • Бакалавр — ну такой срипт за 2 минуты можно написать 🙂

    Владимир — ToDo скрипт — опять же очень к месту !
    пол интернета перерыл в поисках ОНЛАЙН (локальные не интересуют), остановился на супер простом виджете «Список дел» от гугла — но там как оказалось ограничение в 10 дел 🙂 и снова проблема повисла в воздухе — а самому писать вообще в ломы 🙂

    а тут готовый скрипт — так вообще секьюрно получается — все твои дела, у тебя же на сервере 🙂

    ща заюзаю скриптец … !

  • блин — ну ничего у меня с первого раза не работает 🙂
    на денвере вообще кнопка добавить задачу не пашет,
    на серваке при создании задачи дата обведена красным — типа неправильно
    2009-09-22
    и кнопка добавить не жмется 🙁
    вообще я без даты хотел бы задач понавтыкать !
    я задачи ставлю без дат — просто чтоб не забыть
    а вот возможность добавлять приоритеты для каждой задачи — это необходимо ! (хотябы звёздочками выделять)

  • блин — ну ничего у меня с первого раза не работает 🙂
    на денвере вообще кнопка добавить задачу не пашет,
    на серваке при создании задачи дата обведена красным — типа неправильно
    2009-09-22
    и кнопка добавить не жмется 🙁
    вообще я без даты хотел бы задач понавтыкать !
    я задачи ставлю без дат — просто чтоб не забыть
    а вот возможность добавлять приоритеты для каждой задачи — это необходимо ! (хотябы звёздочками выделять)

  • второй раз попробовал — ничего красным не обведено, кнопку «добавить» жму — а она не нажимается

    • Вы ставите скрипт в корень или отдельную папку?

  • второй раз попробовал — ничего красным не обведено, кнопку «добавить» жму — а она не нажимается

    • Вы ставите скрипт в корень или отдельную папку?

  • в демку тоже войти не получилось — ни со стандартной учеткой, ни с вновь зарегестрированной
    «Неверная пара логин/пароль, попробуйте ещё раз»

  • в демку тоже войти не получилось — ни со стандартной учеткой, ни с вновь зарегестрированной
    «Неверная пара логин/пароль, попробуйте ещё раз»

  • Спасибо! Будем тестить. В связке с микроТУДУ от Тормаза думаю будет самое оно!

  • Спасибо! Будем тестить. В связке с микроТУДУ от Тормаза думаю будет самое оно!

  • вообще готовое приложение с открытым кодом — очень здорово, но мне как начинающему в CodeIgniter было бы здорово создание подобного приложения кратенько по шагам …
    есть какой нить материальчик подобный ?

  • вообще готовое приложение с открытым кодом — очень здорово, но мне как начинающему в CodeIgniter было бы здорово создание подобного приложения кратенько по шагам …
    есть какой нить материальчик подобный ?

  • Не понял…

    Firefox определил, что сервер перенаправляет запрос на этот адрес таким образом, что он никогда не завершится.

  • Не понял…

    Firefox определил, что сервер перенаправляет запрос на этот адрес таким образом, что он никогда не завершится.

  • Поставился нормально вроде как. Но даже первую страницу не хочет открывать. Висит

    • Вы создавали виртуальный домен или ставили в отдельную папку?
      Попробуйте ввести адрес страницы вход
      http://localhost/main/login (никаких редиректов при этом отправляться не должно)
      Мне нужно больше информации чтобы понять в чем дело.

      • Ставил на поддомен на реальном хосте. Может чото с настройками PHP не так?

        • Скрипт не требует каких-то особых настроек. Если у вас работает CodeIgniter и есть доступ к MySQL, то все должно быть в порядке.

          Попробуйте просто установить CI, а потом замените папку application.

  • Поставился нормально вроде как. Но даже первую страницу не хочет открывать. Висит

    • Вы создавали виртуальный домен или ставили в отдельную папку?
      Попробуйте ввести адрес страницы вход
      http://localhost/main/login (никаких редиректов при этом отправляться не должно)
      Мне нужно больше информации чтобы понять в чем дело.

      • Ставил на поддомен на реальном хосте. Может чото с настройками PHP не так?

        • Скрипт не требует каких-то особых настроек. Если у вас работает CodeIgniter и есть доступ к MySQL, то все должно быть в порядке.

          Попробуйте просто установить CI, а потом замените папку application.

  • Спасибо за програмку, все работает. Жду полноценной версии.

  • Спасибо за програмку, все работает. Жду полноценной версии.

  • VRuslan

    Пожелания для последующих версий:
    — реализация функций, подобных http://www.toodledo.com/info/index.php:
    1) создание представлений списка задач по периодам (на неделю, месяц…), для печати (в виде PDF-буклета);
    2) синхронизация с мобильными устройствами;

    — разделить маркеры:
    1) выполнения задачи (можно предложенные кружочки) и
    2) важности задачи (A-«важно и срочно», B-«важно», C-«срочно», D-«не важно и не срочно»), см. Тайм-менеджмент по Бодо Шеферу http://wayleader.blogspot.com/2009/04/blog-post_17.html
    ;

    Спасибо за скрипт!

    • Спасибо за советы! Я стараюсь учитывать пожелания, но при этом по возможности оставлять приложение максимально простым.

      Например. Очень часто важные дела автоматически являются срочными.

  • VRuslan

    Пожелания для последующих версий:
    — реализация функций, подобных http://www.toodledo.com/info/index.php:
    1) создание представлений списка задач по периодам (на неделю, месяц…), для печати (в виде PDF-буклета);
    2) синхронизация с мобильными устройствами;

    — разделить маркеры:
    1) выполнения задачи (можно предложенные кружочки) и
    2) важности задачи (A-«важно и срочно», B-«важно», C-«срочно», D-«не важно и не срочно»), см. Тайм-менеджмент по Бодо Шеферу http://wayleader.blogspot.com/2009/04/blog-post_17.html
    ;

    Спасибо за скрипт!

    • Спасибо за советы! Я стараюсь учитывать пожелания, но при этом по возможности оставлять приложение максимально простым.

      Например. Очень часто важные дела автоматически являются срочными.

  • VRuslan

    Владимир, у меня не добавляется новая задача — поля заполнил, дата введена в верном формате, но работает только кнопка «отмена».
    Что может быть не так?

    • Если не сложно, проверьте firebug'ом куда уходит запрос (при клике по кнопке запрос появится в консоле).

      • VRuslan

        Запрос данные передает:

        n_date 2009-09-29
        n_text Simple task

        , уходит по следующему адресу и получает ошибку:

        The link on the referring page seems to be wrong or outdated. Please inform the author of that page about the error.

  • VRuslan

    Владимир, у меня не добавляется новая задача — поля заполнил, дата введена в верном формате, но работает только кнопка «отмена».
    Что может быть не так?

    • Если не сложно, проверьте firebug'ом куда уходит запрос (при клике по кнопке запрос появится в консоле).

      • VRuslan

        Запрос данные передает:

        n_date 2009-09-29
        n_text Simple task

        , уходит по следующему адресу и получает ошибку:

        The link on the referring page seems to be wrong or outdated. Please inform the author of that page about the error.

  • Запрос должен уходить на
    _http://demosites.org.ua/simpletasks/main/addnote
    В адресе не должно быть index.php, т.к. .htaccess его автоматически добавляет.
    Проверьте application/config/config.php

  • Запрос должен уходить на
    _http://demosites.simplecoding.org/simpletasks/main/addnote
    В адресе не должно быть index.php, т.к. .htaccess его автоматически добавляет.
    Проверьте application/config/config.php

  • Было-бы не плохо для таска не только дату редактировать но еще и время.
    Например Task 1 нужно выполнить до 09-09-2009 14:30.

    ПС.
    Скрипт понравился. =)

  • Было-бы не плохо для таска не только дату редактировать но еще и время.
    Например Task 1 нужно выполнить до 09-09-2009 14:30.

    ПС.
    Скрипт понравился. =)

  • Рекомендую сделать как в iPhone программе ToDo`s:
    — возможность переставлять по приоритетам (вверх или вниз)
    — три уровня важности (важный, средний и малый)
    — Заметки.

    Будет оень удобно.

    • Спасибо за совет.
      Но такие изменения приведут к изменению принципа работы. Например, сейчас можно указать состояние задачи «Важная» или «Требующая особого внимания» и выполнять поиск с учетом этих состояний. Если еще добавить и уровни важности, то, боюсь, возникнет путаница.

  • Рекомендую сделать как в iPhone программе ToDo`s:
    — возможность переставлять по приоритетам (вверх или вниз)
    — три уровня важности (важный, средний и малый)
    — Заметки.

    Будет оень удобно.

    • Спасибо за совет.
      Но такие изменения приведут к изменению принципа работы. Например, сейчас можно указать состояние задачи «Важная» или «Требующая особого внимания» и выполнять поиск с учетом этих состояний. Если еще добавить и уровни важности, то, боюсь, возникнет путаница.

  • Алексей

    При добавлении и удалении, работает кнопка отмена, кнопка добавить и удалить — работает, но окно не закрывает

    Fatal error: Call to undefined function json_encode() in /system/application/controllers/main.php on line 503

    • Это значит, что на сервере не включена поддержка json.
      Либо у вас PHP 4, либо ее просто нужно включить в php.ini.
      Варианты решения. Если нет доступа к php.ini и возможности поменять сервер, то можно использовать эту функцию.

      • Алексей

        Спасибо, получилось.
        Еще один вопрос: Возможно ли в настройках отключить регистрацию, для чего настройки smtp?

        • В конфиге отключение регистрации не предусмотрено, но вы можете заблокировать к ней доступ.
          Для этого в файле applicationcontrollersmain.php измените строку 38.
          Текущий вариант
          $allowedPages = array('login', 'checklogin', 'register', 'checkregister');
          вам нужно
          $allowedPages = array('login');

          После этого можно убрать ссылку «Зарегистрироваться». Файл applicationviewsloginform.php
          Убрать нужно строку 14 в которой вызов
          anchor('main/register'…

        • Какие настройки smtp?

        • Алексей

          applicationconfigemail.php — там 🙂

        • Это стандартные настройки фреймворка (CodeIgniter). С ним в комплекте идет библиотека для отправки email. В этом приложении не используется.

  • Алексей

    При добавлении и удалении, работает кнопка отмена, кнопка добавить и удалить — работает, но окно не закрывает

    Fatal error: Call to undefined function json_encode() in /system/application/controllers/main.php on line 503

    • Это значит, что на сервере не включена поддержка json.
      Либо у вас PHP 4, либо ее просто нужно включить в php.ini.
      Варианты решения. Если нет доступа к php.ini и возможности поменять сервер, то можно использовать эту функцию.

      • Алексей

        Спасибо, получилось.
        Еще один вопрос: Возможно ли в настройках отключить регистрацию, для чего настройки smtp?

        • В конфиге отключение регистрации не предусмотрено, но вы можете заблокировать к ней доступ.
          Для этого в файле application\controllers\main.php измените строку 38.
          Текущий вариант
          $allowedPages = array('login', 'checklogin', 'register', 'checkregister');
          вам нужно
          $allowedPages = array('login');

          После этого можно убрать ссылку «Зарегистрироваться». Файл application\views\loginform.php
          Убрать нужно строку 14 в которой вызов
          anchor('main/register'…

        • Какие настройки smtp?

        • Алексей

          application\config\email.php — там 🙂

        • Это стандартные настройки фреймворка (CodeIgniter). С ним в комплекте идет библиотека для отправки email. В этом приложении не используется.

  • Возникает ошибка при работе со скриптом. Не удаётся открыть даже main/login

    No input file specified.

    Пробовал ставить как в отдельную папку, так и на суб домен. Никак не могу найти где в скриптах берётся значение document_root, так как хочется всё же с папку установить =)

    • DocumentRoot — этот параметр указывается в настройках сервера (httpd.conf). В нем указывается папка в которой находятся ваши скрипты. Параметр может быть один для всего сайта или указываться отдельно для каждого виртуального домена.
      Т.е. вы должны распаковать архив с приложением в эту папку.

  • Возникает ошибка при работе со скриптом. Не удаётся открыть даже main/login

    No input file specified.

    Пробовал ставить как в отдельную папку, так и на суб домен. Никак не могу найти где в скриптах берётся значение document_root, так как хочется всё же с папку установить =)

    • DocumentRoot — этот параметр указывается в настройках сервера (httpd.conf). В нем указывается папка в которой находятся ваши скрипты. Параметр может быть один для всего сайта или указываться отдельно для каждого виртуального домена.
      Т.е. вы должны распаковать архив с приложением в эту папку.

  • В общем так на денвере кнопки «Добавить», «Удалить» и «Редактировать» не пашут, на выделенном сервере всё окей.

    Пробовал firebug'ом глянуть — при клике по кнопке запрос появится в консоле не появился 🙁

    как ещё можно попробовать диагностировать проблему ?

    $config['base_url'] = «http://todo/»;

  • В общем так на денвере кнопки «Добавить», «Удалить» и «Редактировать» не пашут, на выделенном сервере всё окей.

    Пробовал firebug'ом глянуть — при клике по кнопке запрос появится в консоле не появился 🙁

    как ещё можно попробовать диагностировать проблему ?

    $config['base_url'] = «http://todo/»;

  • почему то линк
    a href=»http://todo/#» rel=»#newnote»

    нихрена не обрабатывается нормально

  • почему то линк
    a href=»http://todo/#» rel=»#newnote»

    нихрена не обрабатывается нормально

  • при загрузке страницы в фаербурге
    K.style is undefined строка 30
    L is null строка 31

    • Если кнопки не работают, значит, либо js файлы не загрузились, либо не назначены обработчики.
      Попробуйте поставить точку останова в firebug'е и посмотреть как скрипты выполняются.
      Кроме того, в firebug'е вы можете посмотреть содержимое всех скриптов, если вы этого содержимого не видите, значит скрипты не загружены.

  • при загрузке страницы в фаербурге
    K.style is undefined строка 30
    L is null строка 31

    • Если кнопки не работают, значит, либо js файлы не загрузились, либо не назначены обработчики.
      Попробуйте поставить точку останова в firebug'е и посмотреть как скрипты выполняются.
      Кроме того, в firebug'е вы можете посмотреть содержимое всех скриптов, если вы этого содержимого не видите, значит скрипты не загружены.

  • Pingback: И снова о CodeIgniter (PHP фреймворк) | Заработок в интернете - о способах и инструментах()

  • Гарик

    Скачал, установил на локалхосте (Денвер). При просмотре кода вдруг выяснил, что мой CuteFTP 8 не корректно отображает текст на русском (не понимает utf-8?). Победил таким способом: открывал ручками в блокноте каждый файл и копипастил в файл на локалхосте. Помогло — все формы стали отображаться на русском. Но. Возникла другая проблема (или продолжение прежней) — создаю новую запись, сохраняю её и до обновления страницы она остаётся читаемой, а после обновления страницы (после подгрузки из БД) русский текст превращается в кракозябры. При этом в БД он без кракозябр, а при отображении в форме становится кракозябрами.
    Помогите! Где ковырять?

    • Проверять все кодировки.
      1) файлов (это вы уже сделали);
      2) базы данных (нужно проверить не только кодировку таблиц, но и кодировку соединения);
      3) веб сервера.

  • Гарик

    Скачал, установил на локалхосте (Денвер). При просмотре кода вдруг выяснил, что мой CuteFTP 8 не корректно отображает текст на русском (не понимает utf-8?). Победил таким способом: открывал ручками в блокноте каждый файл и копипастил в файл на локалхосте. Помогло — все формы стали отображаться на русском. Но. Возникла другая проблема (или продолжение прежней) — создаю новую запись, сохраняю её и до обновления страницы она остаётся читаемой, а после обновления страницы (после подгрузки из БД) русский текст превращается в кракозябры. При этом в БД он без кракозябр, а при отображении в форме становится кракозябрами.
    Помогите! Где ковырять?

    • Проверять все кодировки.
      1) файлов (это вы уже сделали);
      2) базы данных (нужно проверить не только кодировку таблиц, но и кодировку соединения);
      3) веб сервера.

  • Плохо, что оно в субдиректории не живёт. А искать проблемные места, так проще свою написать 🙂

    • Я добавил исправленную версию. Ссылка в статье. Будут проблемы, обращайтесь!

  • Плохо, что оно в субдиректории не живёт. А искать проблемные места, так проще свою написать 🙂

    • Я добавил исправленную версию. Ссылка в статье. Будут проблемы, обращайтесь!

  • Спасибо за оперативность! Но я уже… впрочем, это не важно. Всё равно СПАСИБО.

    • Пожалуйста 🙂
      В любом случае, эта версия уже была готова, я просто забыл выложить ссылку. Так что, это вам спасибо 🙂

  • Спасибо за оперативность! Но я уже… впрочем, это не важно. Всё равно СПАСИБО.

    • Пожалуйста 🙂
      В любом случае, эта версия уже была готова, я просто забыл выложить ссылку. Так что, это вам спасибо 🙂

  • Alex

    Хотелось бы иметь возможность указать для задания начало и окончание, чтобы на протяжении этого периода задание было в списке на сегодня.

    А за скрипт спасибо!

  • Alex

    Хотелось бы иметь возможность указать для задания начало и окончание, чтобы на протяжении этого периода задание было в списке на сегодня.

    А за скрипт спасибо!

  • как говориться «а что можно было?» (за ответами на комменты то слежу)
    🙂
    я о том — подумалось, что Владимир демонстрирует возможности фреймворков и т.д., на модификацию и улучшения даже и не думал в каменты писать.
    в принципе реально полезный продукт и если Владимир возмётся за улучшение оного, приму участие не только в качестве тестра

    • У меня действительно большинство статей — демонстрация каких-то возможностей. Но это приложение сделано по рабочей системе и реализует весь её функционал (во всяком случае тот, который доступен на бумаге).

      Я сам действительно пользуюсь этой системой (правда, чаще при записи дел в обычный ежедневник). И больше всего в нем мне нравится простота.

      Я написал @Alex, что учту пожелание, и я это сделаю, но это не означает, что изменения будут именно такие. Если задать время начала и окончания задания, например, с разницей в три дня и поместить все такие невыполненные задания в список «На сегодня», то название этого пункта потеряет смысл. С другой стороны, есть пункт «Не выполненные» в которые попадают все невыполненные задания. Я, например, не уверен, что хотел бы, чтобы невыполненные задания исчезали из этого списка после того как заканчивается их срок выполнения. Поэтому я пока не знаю как лучше использовать время начала и окончания задания так, чтобы всем было однозначно понятно, что при этом произойдет.

      И я с радостью приму любую помощь. В принципе, можно будет разместить исходники на google codes. Только сначала хотелось бы составить ориентировочный план действий и продумать изменения, чтобы они были понятны не только разработчикам, но и пользователям 😉

  • как говориться «а что можно было?» (за ответами на комменты то слежу)
    🙂
    я о том — подумалось, что Владимир демонстрирует возможности фреймворков и т.д., на модификацию и улучшения даже и не думал в каменты писать.
    в принципе реально полезный продукт и если Владимир возмётся за улучшение оного, приму участие не только в качестве тестра

    • У меня действительно большинство статей — демонстрация каких-то возможностей. Но это приложение сделано по рабочей системе и реализует весь её функционал (во всяком случае тот, который доступен на бумаге).

      Я сам действительно пользуюсь этой системой (правда, чаще при записи дел в обычный ежедневник). И больше всего в нем мне нравится простота.

      Я написал @Alex, что учту пожелание, и я это сделаю, но это не означает, что изменения будут именно такие. Если задать время начала и окончания задания, например, с разницей в три дня и поместить все такие невыполненные задания в список «На сегодня», то название этого пункта потеряет смысл. С другой стороны, есть пункт «Не выполненные» в которые попадают все невыполненные задания. Я, например, не уверен, что хотел бы, чтобы невыполненные задания исчезали из этого списка после того как заканчивается их срок выполнения. Поэтому я пока не знаю как лучше использовать время начала и окончания задания так, чтобы всем было однозначно понятно, что при этом произойдет.

      И я с радостью приму любую помощь. В принципе, можно будет разместить исходники на google codes. Только сначала хотелось бы составить ориентировочный план действий и продумать изменения, чтобы они были понятны не только разработчикам, но и пользователям 😉

  • Прежде всего спасибо за замечательный софт, Владимир!

    Поправки, которые по-моему, сделают софт лучше:

    1. Добавить список статусов и при создании новой задачи. Довольно часто в список приходится вносить уже начатую или очень важную задачу и хочется указать это при добавлении записи, дабы не открывать ее снова.

    2. Обнуление прошлых значений полей «Создать задачу», при неоднократном добавлении задач. Довольно неюзабельно выделять текст, стирать перед вводом нового, листать выбирать новую дату, если предыдущая была «не сегодня». Хотелось бы чтобы все начиналось с чистого листа.

    3. Ну это мое имхо, сортировать по умолчанию можно по дате в убывающем порядке — новые вверху. Ведь после аяксового добавления последняя задача и так вверху.

    Хотелось бы сказать, что все эти три пункта я реализовал сегодня у себя и если понадобится, могу выслать.

  • Спасибо вам за такое внимание к моей работе! Это очень приятно.

    И за советы.
    Со вторым и третьим согласен полностью, это мои недоработки.

    С первым можно немного поспорить, т.к. исходя из идеологии системы
    любая задача начинается с пустого кружка к которому потом добавляются
    дополнительные отметки. С другой стороны, если такая функция экономит
    время, то ее имеет смысл реализовать.

    В общем, буду благодарен, если вы пришлете код. Я напишу новый пост со
    ссылкой на вас.

  • Greg

    Здраствуйте Владимир, в ваших дистро не указано как их можно использовать(я имею ввиду лицензию). Я например считаю что ваша система(to do) намного удобней чем та которой мы пользуемся в нашей конторе. Хотелось бы знать насколько ее можно использовать.
    В идеале конечно пивная лицензия(если встретимся то угощаю сколько влезет :))

  • Ваша работа заслуживает внимания. Выслал модифицированную версию.

    Вот добавил еще маленькое условие при добавлении и изменении задачи,
    при клике на статус, раньше только выпадал список.
    Теперь если он выпавший — сворачивается.

    А еще можно чекбоксы добавить в список и выполнять
    действия над несколькими задачами сразу: Удалить/Поменять статус.
    Постраничная навигация, опять же (или есть?).
    Ну и треугольнички для сортировки списков рядом с Состояние Текст Дата. Или это из категории «… и тут Остапа понесло»?

  • Да, это моя недоработка 🙂
    Вы можете использовать код как угодно, за исключением:
    — торговли им (без меня);
    — включения в состав платных продуктов;
    — удаления моего имени и ссылок на simplecoding.org из кода.

    Т.е. можете спокойно ставить и пользоваться 🙂

    Если захотите доработать и поделиться результатом, пишите.

  • Pingback: Особое программирование » Post Topic » Неожиданное обновление CircleTasks()

  • VLD

    При входе как админ пишет вот что:

    Fatal error: Call to a member function num_rows() on a non-object in Z:homelocalhostwwwcircle_taskssystemapplicationmodelsmoptions.php on line 41

  • Похоже какая-то проблема с базой. Импорт файла с базой прошел нормально?
    Таблица options в создалась?

  • Много deprecated ошибок 🙁
    PHP 5.3.2

    ошибка при логине

    An Error Was Encountered
    The URI you submitted has disallowed characters.

    проблема в добавлении экранирования в файле URI.php line 189
    должно быть кажется так:
    if ( ! preg_match(«|^[«.($this->config->item('permitted_uri_chars')).»]+$|i», $str))

  • Deprecated: Assigning the return value of new by reference is deprecated in D:homectaskssystemcodeigniterCommon.php on line 130

    Deprecated: Assigning the return value of new by reference is deprecated in D:homectaskssystemcodeigniterCommon.php on line 136
    A PHP Error was encountered

    Severity: 8192

    Message: Function set_magic_quotes_runtime() is deprecated

    Filename: codeigniter/CodeIgniter.php

    Line Number: 60
    A PHP Error was encountered

    Severity: 8192

    Message: Assigning the return value of new by reference is deprecated

    Filename: libraries/Loader.php

    Line Number: 255
    A PHP Error was encountered

    Severity: 8192

    Message: Assigning the return value of new by reference is deprecated

    Filename: database/DB.php

    Line Number: 133

  • К сожалению, обновления фреймворка (CodeIgniter) не было очень давно, поэтому в версях PHP 5.3+ и возникают эти сообщения.
    Исправлять исходники фреймворка — занятие, на мой взгляд, неблагодарное. К тому же, разработчики все-таки обещаю показать новую версию.
    К тому же у большинство хостеров на данный момент не обновились до версии 5.3+.

  • Alextekkk

    Если добавить разбивку по категориям, то ценность скрипта возрастет…
    Буду качать и доделывать под себя — классный скриптик )))

    • Не уверен. Идея таких TODO списков состоит в том, что задачи вы выполняете достаточно быстро. А категории скорее предназначены для классификации записей, которые будут долго храниться.

  • Добра желатель :)

    1. Хорошо добавить цветовую маркировку в меню. Например, красным в меню выделить «Важные», а зеленым — «Все».
    2. Неплохо добавить в список задач. Важные и требующие особого внимания — красные; выполненные — серые.3. Колонка «Правка» лишняя, лучше щелкать в название задачи и статус.4. Заодно получаем больше места вширь для длинных названий.5. Для новичков к значкам (чтобы легче освоить незнакомую систему знаков) пририсовать бы дополнения. Лично для меня значок «Проект начался» по внешнему виду скорее «Проект отменен».А вот маленький зеленый треугольничек «Play» в углу значка этот диссонанс заметно сгладит (все нормально, работа идет). Напротив, мелкий зеленый значок «Пауза» обозначал бы, что проект приостановлен.5. Попутно получаем отличную гибкость обозначений:- Начат — и в работе- Начат — и приостановлен- Выполнен на 1/2 — и работа продолжается- Выполнен на 1/2 — и приостановлен.

    • Интересное предложение. Но мне систему значков менять не хочется. В конце концов, к любой системе нужно привыкать, а здесь условных обозначений очень немного и через пару дней использования дополнительные пояснения теряют смысл.

  • Добра желатель :)

    mainmenu выводить бы с font-weight:bold. Я сделал — сразу стало лучше.

    P.S. а куда исчез мой предыдущйи комментарий? Пока не закрыл страницу — он выглядел как успешно отправленный. Премодерация?

    • Оба комментария автоматически получили статус Approved.

  • Отличный скрипт, спасибо, очень помог!

  • Dark Smoke

    Прочел что вы не хотите делать ТуДу лист с остановкой задач другим пользователям. Уже с ног сбился. Как раз нуж очень простой ТуДу лист, но с возможностью давать задачи другим пользователям с минимумом функций. Очень бы хотелось такое увидеть.

    • Установка задач другим пользователям автоматически подразумевает контроль их выполнения, разграничение прав по уровням (иначе пользователь сможет удалить задачу без вашего ведома), создание соответствующих отчетов и т.п.
      Попробуйте использовать redmine.

      • Mail

        Предложение на пару пачек поп-корна, не меньше. 

        Догадались сравнить огромный тяжеловесный управлятор под рельсами с маленьким шустрым скриптом без спецтребований к хостингу.

        • Mail

          Уточню: Ваш скрипт — один из лучших в своей категории. Его бы всего чуть-чуть нарастить. 
          Гантты, трекеры, файлохранилица, SVN, вики и дополнительные условия для установки — не нужны.

        • Большое спасибо за такой отзыв 🙂

          Но мой скрипт простой только по одной причине — он рассчитан на индивидуальное использование. Добавим других пользователей — сразу нужно будет делить права, заполнять справочники, создавать отчеты и т.п.

          Я сам часто пользуюсь redmine'ом. Если трекеры, файлохранилица, SVN, вики и остальное не нужны — их можно не настраивать. Хотя вики — очень полезный инструмент при коллективной работе. Интерфейс у redmine очень удобный, настройка занимает минимум времени.

          С установкой, конечно, сложнее. Нужно поставить библиотеки для руби нужной версии, но все-равно это намного проще чем писать подобную систему самому (даже если нужна только часть возможностей).