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; }