Code Monkey home page Code Monkey logo

refreak's Introduction

refreak

taskfreak fork

Hi, I'm using Taskfreak from two or three years ago. I made many changes to the original code but is a poor Hell modify this code and finally I decide to make my own Taskfreak.

Actually I'm in development stage.

What is Refreak?

Refreak is a simple but efficient web based task manager written in PHP and Code Igniter. Originally created in September 2005 and maintained by Stan Ozier and Tirzen with their Tirzen Framework.

###Features

  • easy to use task manager
  • order tasks by deadline, project, etc ..
  • user management for tasks and system
  • easy project management
  • import from Taskfreak! when install.
  • Plugin Ready

###Future Features

  • a lot of plugins

TODO

Stage 3

  • GTD Plugin
  • Subtasks plugin
  • E-Mail Notification Plugin
  • File Attachment Plugin
  • Google Docs Plugin
  • Time Tracking Plugin
  • Bitbucket plugin
  • github plugin

Please, feel free to add issue or comment.

INSTALL

Parameters for database configuration are in:

application/config/database.php

You only need configure hostname, username, password and database parameters inside database.php. Save it and then access to www.yourdomain.com/install and click Install button.

Also need to modify config variable $config['base_url'] value with your new url in:

application/config/config.php

Additionaly you can configure some parameters in:

application/config/refreak.php

(subtask system are activated in refreak.php)

PLUGINS

You can easy create plugin. I have this part of project in a very beginning stage, but actually anyone can write a plugin. A little example can be found in:

application/plugin/example

Then, go to menu config/Plugin and install.

You can attach the next events. (The parentesis word references the refreak section that plugin fires, every plugin needs to be limited to one section or always section )

EVENTS

List of plugin events fired in Refreak.

PHP Events

  • Base Controller

    • base_pre_init: first event fired before init base Refreak system. (always)
    • base_set_theme: set theme directory. (always)
    • base_user_loaded: loaded actual user. (always)
    • base_create_left_menu: create array with left menu items. (always)
    • base_create_right_menu: create array with right menu items. (always)
    • base_set_js_vars: Set base javascript variables and messages. (always)
    • base_post_init: last event fired after init base Refreak system. (always)
    • layout_view_header: Render header part. (always)
  • Projects

    • projects_pre_init: first event fired before init project Refreak controller. (projects)
    • projects_post_init: last event fired after init project Refreak controller. (projects)
    • projects_list: Get list of projects. (projects)
    • projects_create_validation_form: Validate data form for create project. (in revision, needs form_validation parameter by ref?) (projects)
    • projects_create_pre_prepare_data: Create project form, event previous setting data for form. (projects)
    • projects_create_post_prepare_data: Create project form, event post setting data for form. (projects)
    • projects_edit_validation_form: Validate data form for edit project. (in revision, needs form_validation parameter by ref?) (projects)
    • projects_edit_get_project: Get project by id. (projects)
    • projects_edit_get_project_users: Get users from project. (projects)
    • projects_edit_saved: Just after update project. (Move from controller to model??) (projects)
    • projects_edit_pre_prepare_data: Edit project form, event previous setting data for form. (projects)
    • projects_edit_post_prepare_data: Edit project form, event post setting data for form. (projects)
    • projects_edit_deleted: After delete project. (projects)
    • projects_ajax_added_user_project: After user added to project. (projects)
    • projects_ajax_remove_user_project: After user is removed from project. (projects)
    • projects_ajax_change_user_position: After user is changed their position in project. (projects)
    • projects_model_init: Initializing model. (projects)
    • projects_model_projects_list: Selecting projects list. (projects)
    • projects_model_insert_data: Inserting project. (projects)
    • projects_model_insert_status_data: Inserting status project. (projects)
    • projects_model_update_data: Updating projects. (projects)
    • projects_model_get_project: Get Project. (projects)
    • projects_model_get_users_project: Get Users of Project. (projects)
    • projects_model_get_user_project_position: Get Users position of Project. (projects)
    • projects_model_set_user_project: Set User of Project. (projects)
    • projects_model_remove_user_project: Remove User of Project. (projects)
    • projects_model_update_user_position: Change User Position in Project. (projects)
    • projects_view_list_head_table: Project list table head columns. (projects)
    • projects_view_list_content_table_column: Fires every project row with columns (projects)
    • projects_view_list_content_table_row: Project list rows for table (projects)
    • projects_view_create_project_form: Create project form view (projects)
    • projects_view_edit_project_info: Fires after construct upper part for project edit (projects)
    • projects_view_edit_add_user_to_project: Show add user tot project selectors (projects)
    • projects_view_edit_user_columns: Fires every project row with columns (projects)
    • projects_view_edit_user_rows: Assigned users to project (projects)
    • projects_view_edit_select_user: All user table for project (projects)
    • projects_view_edit_project_user: Before render all edit screen (projects)
  • Tasks

    • tasks_pre_init: first event fired before init task Refreak controller. (tasks)
    • tasks_post_init: lost event fired after init task Refreak controller. (tasks)
    • tasks_list: Get list of tasks. (tasks)
    • tasks_search_result_list: Get list of tasks after search. (need to send parameters?) (tasks)
    • tasks_list_from_project: Get list of tasks from project. (tasks)
    • tasks_list_from_user: Get list of tasks from user. (tasks)
    • tasks_show_edit_task: When load task for edit popup. (tasks)
    • tasks_save_task_validation: Validation form on save task. (tasks)
    • tasks_save_task_data: Fires before save data. (tasks)
    • tasks_save_task_saved: Fires after save task. (tasks)
    • tasks_list_projects_from_user: Gets projects of especified user. (tasks)
    • tasks_show_task: Popup show task layer. (tasks)
    • tasks_change_status: Fires when user change status. (tasks)
    • tasks_model_init: Init model. (tasks)
    • tasks_model_get_tasks: Get task list. (tasks)
    • tasks_model_get_users: Get Users. (tasks)
    • tasks_model_get_project_users: Get users from project. (tasks)
    • tasks_model_insert_task: Insert task. (tasks)
    • tasks_model_update_task: Update task. (tasks)
    • tasks_model_get_task: Get a single task. (tasks)
    • tasks_model_get_task_description: Get task description. (tasks)
    • tasks_model_get_task_comment: Get task comments. (tasks)
    • tasks_model_get_task_history: Get task history. (tasks)
    • tasks_model_insert_comment_data: Insert comment. (tasks)
    • tasks_model_update_comment_data: Update comment. (tasks)
    • tasks_model_delete_comment: Delete comment. (tasks)
    • tasks_model_set_status: Change task status. (tasks)
    • tasks_model_close_task: Close task. (tasks)
    • tasks_model_delete_task: Delete task. (tasks)
    • tasks_model_delete_task_status: Delete task Status. (tasks)
    • tasks_model_delete_task_comments: Delete task Comments. (tasks)
    • tasks_model_get_user_project_position:Get Users position of Task. (tasks)
    • tasks_model_is_owner: Know if user is owner of task. (tasks)
    • tasks_model_get_project_task: Get project id from task (task)
    • tasks_view_list_head_table: Tasks list table head columns. (tasks)
    • tasks_view_list_content_table_column: Fires every task row with columns (tasks)
    • tasks_view_list_content_table_row: Tasks list rows for table (tasks)
    • tasks_view_table_no_tasks: No task table part (tasks)
    • tasks_view_show_task_buttons: Close, edit, delete task buttons (tasks)
    • tasks_view_show_task_info: Show task info part (tasks)
    • tasks_view_show_task_tabs: Show task tabs part (tasks)
    • tasks_view_show_task_status: Show task status part (tasks)
    • tasks_view_edit_task_pr_dead: Edit task, first line with priority and deadline date (tasks)
    • tasks_view_edit_task_project: Edit task, project selector (tasks)
    • tasks_view_edit_title_description: Edit task, title description (tasks)
    • tasks_view_edit_user_status: Edit task, user status (tasks)
    • tasks_search_result_print: Return list of tasks for print
    • tasks_print_task_content: Fire for every task with their html content
    • tasks_print_all_content: Return all html content for print
  • Users

    • users_pre_init: first event fired before init users Refreak controller. (users)
    • users_post_init: lost event fired after init users Refreak controller. (users)
    • users_list: Get list of Users. (users)
    • users_create_validation_form: Validate data form for create users. (in revision, needs form_validation parameter by ref?) (users)
    • users_pre_register: Before Register User. (users)
    • users_registered: After Register User. (users)
    • users_create_post_prepare_data: Create user form, event previous setting data for form. (users)
    • users_edit_validation_form: Validate data form for edit users. (in revision, needs form_validation parameter by ref?) (users)
    • users_edit_update: Validate user data for update users. (users)
    • users_edit_group_updated: Group changed. (users)
    • users_edit_updated: User Updated. (users)
    • users_edit_post_prepare_data: Edit user form, event previous setting data for form. (users)
    • users_details_post_prepare_data: Details/Show user form, event previous setting data for form. (users)
    • users_edit_deleted: User deleted. (users)
    • users_edit_activated: User activated. (users)
    • users_edit_deactivated: User deactivated. (users)
    • users_model_init: Init model. (users)
    • users_model_projects_user: Get projects of user. (users)
    • users_model_users_with_group: Get users with group. (users)
    • users_model_country: Get countries. (users)
    • users_view_list_head_table: Users list table head columns. (users)
    • users_view_list_content_table_column: Fires every user row with columns (users)
    • users_view_list_content_table_row: User list rows for table (users)
    • users_view_detail_user_info: User detail page user info part (users)
    • users_view_detail_user_projects: User detail page user projects part (users)
    • users_view_edit_user_info: Edit user personal info (users)
    • users_view_edit_user_account: Edit user account (users)
  • Auth

    • auth_logged_in: When users logged (auth)
    • auth_login_error: When error login (auth)
    • auth_logged_out: Logged out user (auth)
    • auth_password_changed: Password Changed (auth)
    • auth_password_forgot: Password Forgot (auth)
    • auth_user_activated: User Activated (auth)
    • auth_user_deactivated: User Deactivated (auth)

###Javascript General events

  • Boxes:

    • refreak.boxes.init: Fires when message box initialize
    • refreak.boxes.show: When message box shows message
    • refreak.boxes.destroy: When message box hides.
  • Tasks:

    • refreak.task_new.init: Initialize new task window
    • refreak.task_new.render: Render new task window, fired after ajax call.
    • refreak.task_new.bind: When buttons and other events binded after show window
    • refreak.task_new.load_users: Load users to populate select box.
    • refreak.task_new.render_input_project: Shows input box for new project
    • refreak.task_new.render_list_project: Shows select box for projects
    • refreak.task_new.pre_send_data: Before send data to server with new task.
    • refreak.task_new.send_data_done: After send data to server.
    • refreak.task_new.close: Window close and object destroy.
    • refreak.task_show.init: Initialize show window
    • refreak.task_show.render: Render show window
    • refreak.task_show.bind: Bind other events.
    • refreak.task_show.to_edit: Jump to edit.
    • refreak.task_show.to_create: Create new task from subtask show
    • refreak.task_show.pre_delete: Pre delete task
    • refreak.task_show.deleted: Task deleted
    • refreak.task_show.show_description: Show tab description
    • refreak.task_show.show_comments: Show comments tab
    • refreak.task_show.show_history: Show comments history
    • refreak.task_show.get_description: After ajax call for get task description
    • refreak.task_show.get_comments: After ajax call for get task comments
    • refreak.task_show.get_history: After ajax call for get task history
    • refreak.task_show.edit_comment: When edit comment
    • refreak.task_show.pre_delete_comment: Before delete comment
    • refreak.task_show.deleted_comment: Comment Deleted
    • refreak.task_show.send_comment: Send comment
    • refreak.task_show.close: Close and destroy show task window.
    • refreak.task_list.init: Initializing task list
    • refreak.task_list.showtask: Click on show task trigger
    • refreak.task_list.edittask: Edit task button
    • refreak.task_list.pre_delete: Pre deleting task
    • refreak.task_list.deleted: Deleted Task
    • refreak.task_list.status_changing: Change status
    • refreak.task_list.status_changed: Status Changed
    • refreak.task_list.close: Closing object
    • refreak.task_list.create_subtask: Push create sub task button
  • Projects:

    • refreak.project_edit.invite_user: Inviting user to project in edit page
    • refreak.project_edit.nouser: No user was selected.
    • refreak.project_edit.user_invited: User was invited
    • refreak.project_edit.user_added: User added to table in edit project page
    • refreak.project_edit_member.init: Edit member in project initializing
    • refreak.project_edit_member.edit: Pre-edit member
    • refreak.project_edit_member.edited: Member edited
    • refreak.project_edit_member.delete: Delete member from project
    • refreak.project_edit_member.deleted: Member deleted
    • refreak.project_edit_member.change_position: Change position in project
    • refreak.project_edit_member.changed_position: Changed position in project

refreak's People

Contributors

fromcouch avatar

Stargazers

zjhxmjl avatar Nikolay avatar MarQuis Knox avatar  avatar agung susanto avatar Bruno Cabral avatar Eric Enold avatar  avatar

Watchers

agung susanto avatar James Cloos avatar Larry Bislew avatar  avatar  avatar kikoot avatar  avatar Gene Waxman avatar  avatar Nikolay avatar

refreak's Issues

Task Comments- formatting

Line breaks are not recognized in the comments. All text is run together even if a blank line is entered.

Task Creation - New Project - devel ver Jul28/13

The old link to create a new project from within task edit or new todo task left over from a previous fix should be removed. All it now does is toggle to a message that says "Show list". It serves no useful purpose.

rf0

Task Comments - a wish

It would be really nice if the program opened the comment tab directly when the user clicks on the comments column for the task. It saves another mouse action and the user intends to go there anyway.

12-26-2013 12-26-18 pm
12-26-2013 12-29-59 pm

SQL Data - tables not being cleaned up after deletes

After having created a couple of projects and then deleting them, I notice that the Manage >>Projects screen displays shows extra members on the existing project.

I have 3 users but the display shows 5.
rf11

The SQL table (RFK_USERS) correctly contains the right number of users
rf12

Table RFK_USERS_GROUPS data is ok.

The RFK_PROJECTS table contains 1 deleted project
rf13

The RFK_PROJECT_STATUS table contains a deleted project.
rf14

The RFK_USER_PROJECT contains wrong data
rf15

Guest - Manage User

Guest access allows the user to access the Manage >> Users.
The following error appears:

A PHP Error was encountered
Severity: Notice
Message: Undefined variable: action
Filename: decorators/user_helper.php
Line Number: 59

Guest should not be able to access this function.

Task Comment - Delete

When a user clicks on "Delete" comment for a task, the "Error Server Side" error appears.
The comment is deleted.

There should be a yes/no confirmation on the delete as well

The quantity of comments field should be auto updated when a comment is deleted. It does update when the whole screen is refreshed.

Permissions - a wish

Hello, is it possible to enable all administrative users to any new project by default?

This would help administrator to keep overview.

Thanks in advance

Peter

Print Tasks

Sub Tasks with are not displayed in the "Print Tasks" output.
Only the main tasks are displayed.

Sub Tasks - Contexts - Question ?

Currently, sub tasks can have a context different than the main task assigned.

  1. Should the sub task context be visible ??
  2. Should the context filtering that works on tasks also apply to the sub tasks as well ??

Task Select - with deleted project

Doing a select (clicking on the task) on a open (uncompleted) task in which the project was deleted results in a php error message.

This does not happen if the task edit icon is clicked.

rf10

Configuration of Priority and Status Levels

Where are the configuration settings for the Status and Priority levels located ?

reference config code from TaskFreak:
// number of priority levels
define('FRK_PRIORITY_LEVELS',3); // 3, 5 or 9
// how many levels to get status at 100%
define('FRK_STATUS_LEVELS',1); // 1 to 5

Closed Sub Tasks not visible

Closed Sub Tasks are not visible.
View>>Project>>All Tasks shows the closed main tasks but no subs that were closed.

Config - Plugin

Master Branch

When selecting the Config >> Plugin get the following error

12-23-2013 2-14-05 pm

Manage Users - Error Message - Admin - devel ver Jul31/13

When an administrator is logged in and selects Manage>>Users and selects his own name (img *1) get an error message (img *2). Selecting the edit icon allows normal edit (img *3).
Selecting the users edit icon (img *4) directly works ok ... no error.

*1
rf0

*2
rf1

*3
rf4

*4
rf5

Wish List - Logout

I would like to see a Logout link on the menu bar.
None of my users that have been exposed to the program could intuitively find the logout in the present location (upper right corner) and even when told where it was couldn't remember where it was.
Certainly to small when using a mobile device.

It's ok to leave it where it is now but maybe an additional link on the menu bar would be nice.
rf7

Administrator - Manage Users Profile

When a administrator edit's a users profile, the drop down level defaults to "Administrator". This default value is stored when the record is saved.

This in not good because the level could be missed during a edit. It should show whatever level the user WAS assigned.

rf3

Project Status - settings do nothing ? - devel ver Jul31/13

There is a Status setting for projects which offers choices of New, Proposal, In Progress, Completed, Cancelled but it appears they have no effect.

If a project is set to Completed, Canceled, Proposal they and their tasks should not not be displayed in the task list.

I'm not sure what the purpose of New would be.

In summary ... the only projects that should have tasks appear would be In Progress.

rf0

Task Viewing - limit tasks by days

Enhancement:

It's possible that there may be many tasks stretching over many days. It may be desirable to have a configuration option to limit the number of days that future tasks will be viewed.
eg: Limit number of future days for task viewing,0 ; // 0= unlimited, 1-999 = number of days.

thus .... a value of 31 would show only the next 31 days worth of tasks.

It would be nice to have a "Read More..." as the last entry so that the user could click on that to see a longer list.

No task listed when create

Hi,

  1. When I create a task with no project, the task does not appear.
  2. When I create a project and I assigns a task it appears in administrator interface but not in the user interface.

Someone can help me
refreak_admin1
refreak_marco

Nice Project, Keep going !

TaskFreak have a lot of die-hard fans, and refreak is an excellent alternative.
Its a matter of time to become the new favorite guy on the block.

For me, I just miss the subtasks and time tracking.

Thank you for this, and keep the good work !

Database Error - ver Jul.22/13

Added a new project = ok
deleted a project and got following error

A Database Error Occurred

Error Number: 1064

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'inner join rfk_tasks on rfk_tasks.task_id = rfk_task_status.task_id ' at line 2

delete from rfk_task_status inner join rfk_tasks on rfk_tasks.task_id = rfk_task_status.task_id where rfk_tasks.project_id = '1'

Filename: C:\xampp\htdocs\cchm_may9\refreak-4\system\database\DB_driver.php

Line Number: 330

Administrator - Manage Users

When administrator does Manage>>Users and then picks a user, the display shows the Project the user is assigned to and the user's position = "Leader" even though the user has been assigned a different position in the manage projects screen.

rf1

rf2

Guest - Tasks To Do

A user with a Level = Guest and assigned to a Project with a position = Visitor has the ability to create new tasks.
This should not be.... I think

Ron...

Task Creation - Project

When creating a new task - leaving the Project field as "--------" results in a task being created but NOT assigned to a project and is NOT visible to the user.
It has a project_id = 0 in the _tasks table.

Task Priority - duplication

There is a duplication of "Low Priority" and "Very Low Priority" for tasks.
/application/language/english/tasks_lang.php

rf4

Permission Error - devel ver Jul28/13

User A with Level = Manager and assigned to project 1 with position = Moderator.
User A clicks Manage>>Users
User A clicks on User B with level =Guest
User A selects a project 2 that user B is assigned to with position = Member but user A is not assigned to project 2.

I think Manager should NOT be able to access a project they are not a assigned to.

rf1

Guest - Manage Project

Guest "appears" to have the Manage a Project. The program allows the Guest to select the project and access the Status drop down dialog box and then do a save.
The save does not appear to be written to the database.

This function should be disabled for this class of user.

project still on ???

Hi,

I would be interested in open source task management software (and its development). Is this project still ON? Or was it abandoned?

Are there any screenshots to show the current user interface of refreak?

Thanks.

View Projects - Project filter - devel ver Jul31/13

Looks like all filtering is broken.....

The View>>Projects>> (All Tasks, Past Tasks or Future Tasks) does not filter appropriately for the specified project.

My Tasks does not work either.

Context filtering does not work.

In all cases, all projects and tasks are displayed.

Task Date

When creating a new task - NOT entering a date into the DEADLINE field results in a date of " 1969-12-31 ".
Maybe this should be a required field so that a null cannot be entered ??

login

when i have run the install and it has completed, i just get a blank page when i goto try and log in
http://xxx.xxx.xxx.xxx/refreak/auth/login
apache error log....
[Sat Jun 08 06:43:44 2013] [error] [client 86.10.41.34] PHP Warning: require_once(/var/www/refreak/core/CodeIgniter.php): failed to open stream: No such file or directory in /var/www/refreak/index.php on line 202
[Sat Jun 08 06:43:44 2013] [error] [client 86.10.41.34] PHP Fatal error: require_once(): Failed opening required '/var/www/refreak/core/CodeIgniter.php' (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/refreak/index.php on line 202

Project Delete - confirmation message

When deleting a project, a confirmation dialog box appears BUT it is asking about deleting a user .... should be asking about deleting the project.
rf9

Configuration - User access and functions

I require a user access that will allow the following:

  1. View all projects and their tasks
  2. Change status of tasks
  3. Input comments
  4. NOT be able to create new tasks, projects

In TaskFreak I can do this with level = guest and project level = visitor

Which user configuration does this in ReFreak ?? I can also agree that there needs to be a visitor access that has no capabilities other than just viewing.

Users view - 404 error when click new user button

I got a 404 error when i click on the create new user button in the users view table header.

In the user view file,
line 12 causes error

site_url() . '/users/create_user/',

fixed

site_url() . 'users/create_user/',

Task Details- a wish

It would be very nice if the quantity of comments could be displayed on the comments tab when viewing the tasks detail page. It would alert the user that there is more info associated with the task and they may not have seen the comments quantity displayed on the far right hand column.

12-26-2013 12-35-17 pm

Manage Users - Create New User - devel ver Jul31/13

Administrator clicks on Manage>>New Users and clicks new icon. Gets the new user profile screen but the City field has the administrators login name filled in and the password appears to be filled in as well.

rf0

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.