function goto_tasks_page_for_user()
 {
     $user = Users::findById($this->request->getId('selected_user_id'));
     $page_title = $user->getName() . ' - Task List';
     $link = mysql_connect(DB_HOST, DB_USER, DB_PASS);
     mysql_select_db(DB_NAME, $link);
     $query = "select id from healingcrystals_project_objects where type='Page' and project_id='" . TASK_LIST_PROJECT_ID . "' and name='" . mysql_real_escape_string($page_title) . "'";
     $result = mysql_query($query, $link);
     if (mysql_num_rows($result)) {
         $info = mysql_fetch_assoc($result);
         $this->redirectToUrl(assemble_url('project_page', array('project_id' => TASK_LIST_PROJECT_ID, 'page_id' => $info['id'])));
     } else {
         $query = "select id from healingcrystals_project_objects where type='Category' and module='pages' and project_id='" . TASK_LIST_PROJECT_ID . "' and name='General'";
         $page_category = mysql_query($query);
         $page_category_info = mysql_fetch_assoc($page_category);
         $page_data = array('type' => 'Page', 'module' => 'pages', 'visibility' => VISIBILITY_NORMAL, 'name' => $page_title, 'body' => 'Auto-generated Task List Page', 'integer_field_1' => '1');
         db_begin_work();
         $this->active_page = new Page();
         $this->active_page->setAttributes($page_data);
         $this->active_page->setProjectId(TASK_LIST_PROJECT_ID);
         $this->active_page->setCreatedBy($this->logged_user);
         $this->active_page->setState(STATE_VISIBLE);
         $this->active_page->setParentId($page_category_info['id']);
         $save = $this->active_page->save();
         if ($save && !is_error($save)) {
             //$subscribers = array($this->logged_user->getId());
             //if(!in_array($this->active_project->getLeaderId(), $subscribers)) {
             //	$subscribers[] = $this->active_project->getLeaderId();
             //}
             //Subscriptions::subscribeUsers($subscribers, $this->active_page);
             db_commit();
             $this->active_page->ready();
             $query = "select * from healingcrystals_project_users where user_id='" . $user->getId() . "' and project_id='" . TASK_LIST_PROJECT_ID . "'";
             $result = mysql_query($query, $link);
             if (!mysql_num_rows($result)) {
                 //mysql_query("insert into healingcrystals_project_users (user_id, project_id, role_id, permissions) values ('" . $user->getId() . "', '" . TASK_LIST_PROJECT_ID . "', '" . $user->getRoleId() . "', 'N;')");
                 mysql_query("insert into healingcrystals_project_users (user_id, project_id, role_id, permissions) values ('" . $user->getId() . "', '" . TASK_LIST_PROJECT_ID . "', '7', 'N;')");
             } elseif ($user->getRoleId() == '2') {
                 mysql_query("update healingcrystals_project_users set role_id='7' where user_id='" . $user->getId() . "' and project_id='" . TASK_LIST_PROJECT_ID . "'");
             }
             $this->redirectToUrl(assemble_url('project_page', array('project_id' => TASK_LIST_PROJECT_ID, 'page_id' => $this->active_page->getId())));
         } else {
             db_rollback();
             //$save .= 'rollback';
         }
     }
     mysql_close($link);
     $this->smarty->assign(array('user' => $user, 'project' => $this->active_project, 'errors' => $save, 'data' => $page_data));
 }
 function getTaskPageIdForUser($user_id)
 {
     $page_id = '';
     $user = new User($user_id);
     $name = $user->getName();
     list($first_name, $last_name) = explode(' ', $name);
     $link = mysql_connect(DB_HOST, DB_USER, DB_PASS);
     mysql_select_db(DB_NAME, $link);
     $page_title = $name . ' - Task List';
     $query2 = "select id from healingcrystals_project_objects where type='Page' and project_id='" . TASK_LIST_PROJECT_ID . "' and name='" . mysql_real_escape_string($page_title) . "'";
     $result2 = mysql_query($query2, $link);
     if (mysql_num_rows($result2)) {
         $info2 = mysql_fetch_assoc($result2);
         $page_id = $info2['id'];
     } else {
         $query3 = "select id from healingcrystals_project_objects where type='Category' and module='pages' and project_id='" . TASK_LIST_PROJECT_ID . "' and name='General'";
         $page_category = mysql_query($query3, $link);
         $page_category_info = mysql_fetch_assoc($page_category);
         $category_id = $page_category_info['id'];
         $page_data = array('type' => 'Page', 'module' => 'pages', 'visibility' => VISIBILITY_NORMAL, 'name' => $page_title, 'body' => 'Auto-generated Task List Page', 'integer_field_1' => '1');
         $page = new Page();
         $page->setAttributes($page_data);
         $page->setProjectId(TASK_LIST_PROJECT_ID);
         $page->setCreatedBy($user);
         $page->setState(STATE_VISIBLE);
         $page->setParentId($category_id);
         $page->save();
         $page->ready();
         $page_id = $page->getId();
         $query = "select * from healingcrystals_project_users where user_id='" . $user_id . "' and project_id='" . TASK_LIST_PROJECT_ID . "'";
         $result = mysql_query($query, $link);
         if (!mysql_num_rows($result)) {
             mysql_query("insert into healingcrystals_project_users (user_id, project_id, role_id, permissions) values ('" . $user_id . "', '" . TASK_LIST_PROJECT_ID . "', '7', 'N;')");
         } elseif ($user->getRoleId() == '2') {
             mysql_query("update healingcrystals_project_users set role_id='7' where user_id='" . $user_id . "' and project_id='" . TASK_LIST_PROJECT_ID . "'");
         }
     }
     //mysql_close($link);
     return $page_id;
 }
 function convertToPage(&$logged_user, &$error)
 {
     db_begin_work();
     $page = new Page();
     $page->setProjectId($this->getProjectId());
     $page->setName($this->getName());
     $body = $this->getBody();
     if (empty($body)) {
         $body = 'page Content missing';
     }
     $page->setBody($body);
     $page->setState($this->getState());
     $page->setVisibility($this->getVisibility());
     $page->setPriority($this->getPriority());
     $page->setCommentsCount($this->getCommentsCount());
     $page->setIsLocked($this->getIsLocked());
     $page->setCreatedById($logged_user->getId());
     $page->setCreatedByName($logged_user->getName());
     $page->setCreatedByEmail($logged_user->getEmail());
     $save = $page->save();
     if ($save && !is_error($save)) {
         db_commit();
         $page->ready();
         $link = mysql_connect(DB_HOST, DB_USER, DB_PASS);
         mysql_select_db(DB_NAME);
         $query = "update healingcrystals_project_objects set parent_id='" . $page->getId() . "', parent_type='Page' where parent_id='" . $this->getId() . "' and project_id='" . $this->getProjectId() . "' and type in ('Comment', 'Task')";
         mysql_query($query);
         $query = "update healingcrystals_project_objects set parent_id=null, parent_type=null where parent_id='" . $this->getId() . "' and project_id='" . $this->getProjectId() . "' and type not in ('Comment', 'Task')";
         mysql_query($query);
         $query = "select * from healingcrystals_assignments where object_id='" . $this->getId() . "'";
         $result = mysql_query($query);
         while ($entry = mysql_fetch_assoc($result)) {
             $query = "insert into healingcrystals_assignments (user_id, object_id, is_owner) values ('" . $entry['user_id'] . "', '" . $page->getId() . "', '" . $entry['is_owner'] . "')";
             mysql_query($query);
         }
         $query = "select * from healingcrystals_project_object_categories where object_id='" . $this->getId() . "'";
         $result = mysql_query($query);
         while ($entry = mysql_fetch_assoc($result)) {
             $query = "insert ignore into healingcrystals_project_object_categories (object_id, category_id) values ('" . $page->getId() . "', '" . $entry['category_id'] . "')";
             mysql_query($query);
         }
         mysql_close($link);
         $this->moveToTrash();
         return $page->getId();
     } else {
         db_rollback();
         $error = $save;
         return '';
     }
 }
 function getPageId(&$incoming_mail, &$project, &$user)
 {
     $page_id = '';
     list($user_name, ) = explode('-', $incoming_mail->getSubject());
     $user_name = trim($user_name);
     $name_parts = explode(' ', $user_name);
     list($first_name, $last_name) = $name_parts;
     $link = mysql_connect(DB_HOST, DB_USER, DB_PASS);
     mysql_select_db(DB_NAME, $link);
     $query = "select id from healingcrystals_users where first_name='" . mysql_real_escape_string($first_name) . "' " . (!empty($last_name) ? " and last_name='" . mysql_real_escape_string($last_name) . "' " : "");
     $result = mysql_query($query, $link);
     if (mysql_num_rows($result)) {
         $info = mysql_fetch_assoc($result);
         $user_id = $info['id'];
     } elseif (strpos($incoming_mail->getSubject(), '}') !== false) {
         $user_id = substr($incoming_mail->getSubject(), strrpos($incoming_mail->getSubject(), '{') + 1, -1);
     }
     if (!empty($user_id)) {
         $task_meant_for_user = Users::findById($user_id);
         $page_title = $task_meant_for_user->getName() . ' - Task List';
         //echo $page_title . '<br/>';
         $query2 = "select id from healingcrystals_project_objects where type='Page' and project_id='" . TASK_LIST_PROJECT_ID . "' and name='" . mysql_real_escape_string($page_title) . "'";
         //echo $query2 . '<br/>';
         $result2 = mysql_query($query2, $link);
         if (mysql_num_rows($result2)) {
             $info2 = mysql_fetch_assoc($result2);
             $page_id = $info2['id'];
         } else {
             $query3 = "select id from healingcrystals_project_objects where type='Category' and module='pages' and project_id='" . TASK_LIST_PROJECT_ID . "' and name='General'";
             //echo $query3 . '<br/>';
             $page_category = mysql_query($query3, $link);
             $page_category_info = mysql_fetch_assoc($page_category);
             $category_id = $page_category_info['id'];
             //echo $category_id . '<br/>';
             $page_data = array('type' => 'Page', 'module' => 'pages', 'visibility' => VISIBILITY_NORMAL, 'name' => $page_title, 'body' => 'Auto-generated Task List Page', 'integer_field_1' => '1');
             //print_r($page_data);
             //db_begin_work();
             $page = new Page();
             $page->setAttributes($page_data);
             $page->setProjectId(TASK_LIST_PROJECT_ID);
             $page->setCreatedBy($user);
             $page->setState(STATE_VISIBLE);
             $page->setParentId($category_id);
             $page->save();
             $page->ready();
             $page_id = $page->getId();
         }
         $query = "select * from healingcrystals_project_users where user_id='" . $task_meant_for_user->getId() . "' and project_id='" . TASK_LIST_PROJECT_ID . "'";
         $result = mysql_query($query, $link);
         if (!mysql_num_rows($result)) {
             //mysql_query("insert into healingcrystals_project_users (user_id, project_id, role_id, permissions) values ('" . $user->getId() . "', '" . TASK_LIST_PROJECT_ID . "', '" . $user->getRoleId() . "', 'N;')");
             mysql_query("insert into healingcrystals_project_users (user_id, project_id, role_id, permissions) values ('" . $task_meant_for_user->getId() . "', '" . TASK_LIST_PROJECT_ID . "', '7', 'N;')");
         } elseif ($user->getRoleId() == '2') {
             mysql_query("update healingcrystals_project_users set role_id='7' where user_id='" . $task_meant_for_user->getId() . "' and project_id='" . TASK_LIST_PROJECT_ID . "'");
         }
     }
     mysql_close($link);
     return $page_id;
 }