loadCommon();
$common->start("container");
//wp_enqueue_style('ajtodo_main_css', AJTODO_PLUGIN_URL."css/ajtodo.css");
wp_enqueue_script('ajtodo_project_js', AJTODO_JS_PATH."ajtodo_project.".AJTODO_JSMIN."js", array('jquery'), '1.0', true );
wp_localize_script('ajtodo_project_js', 'ajax_project_info', array(
'ajax_url' => admin_url('admin-ajax.php'),
'nonce' => wp_create_nonce('ajtodo-ajax-nonce'),
'type' => $ajtodo_type,
'pid' => $pid
));
switch($ajtodo_type){
case "list":
ajtodo_admin_project_list($common);
break;
case "add":
ajtodo_admin_project_add($common, "add");
break;
case "edit":
ajtodo_admin_project_add($common, "edit");
break;
case "del":
ajtodo_admin_project_del($common);
break;
case "done":
ajtodo_admin_project_done($common);
break;
}
$common->last();
}
function ajtodo_admin_project_done($common){
$prj = new AJTODO_Project();
$prj->init($common);
$prj->id = isset($_GET['id']) ? sanitize_text_field($_GET['id']) : "";
echo "
".__("프로젝트", "ajtodo")."
";
echo $prj->getDoneConfirmView();
}
function ajtodo_project_active(){
$ret = array();
$prj = new AJTODO_Project();
$prj->id = sanitize_text_field($_POST['pid']);
if($prj->activeProject()){
$ret["result"] = true;
$ret["msg"] = __("프로젝트 활성화 완료","ajtodo");
}else{
$ret["result"] = false;
$ret["msg"] = __("프로젝트 활성화 처리에 실패하였습니다.","ajtodo");
}
wp_send_json(json_encode($ret));
}
function ajtodo_admin_project_del($common){
$prj = new AJTODO_Project();
$prj->init($common);
$prj->id = isset($_GET['id']) ? sanitize_text_field($_GET['id']) : "";
echo "".__("프로젝트", "ajtodo")."
";
echo $prj->getDelConfirmView();
}
function ajtodo_admin_project_list($common){
$prjList = new AJTODO_ProjectList();
$prjList->init($common);
$prjList->getList();
echo "".__("프로젝트", "ajtodo")." ";
if($prjList->canCreateProject()){
echo $prjList->getButton("CreateProject");
}
echo "
";
echo $prjList->getView();
}
function ajtodo_admin_project_add($common, $type){
$prj = new AJTODO_Project();
$prj->init($common);
if($type == "edit"){
$prj->id = isset($_GET['id']) ? sanitize_text_field($_GET['id']) : "";
}
if($type == "add"){
echo "".__("프로젝트 생성", "ajtodo")."
";
}else{
echo "".__("프로젝트 수정", "ajtodo")."
";
}
echo $prj->createForm();
}
function ajtodo_project_ajax(){
$nonce = sanitize_text_field($_POST['nonce']);
if(!wp_verify_nonce($nonce, 'ajtodo-ajax-nonce')){
$ret["result"] = false;
$ret["msg"] = __("비정상적인 접근입니다.","ajtodo");
}
$type = sanitize_text_field($_POST['type']);
switch($type){
case "add" :
ajtodo_create_project();
break;
case "edit" :
ajtodo_edit_project();
break;
case "getissuecount" :
ajtodo_project_todocount();
break;
case "delprojectreal" :
ajtodo_project_del();
break;
case "projectdone" :
ajtodo_project_done();
break;
case "activedone" :
ajtodo_project_active();
break;
}
}
function ajtodo_project_done(){
$ret = array();
$prj = new AJTODO_Project();
$prj->id = sanitize_text_field($_POST['pid']);
$prj->setProject();
if($prj->doneProject()){
$ret["result"] = true;
$ret["msg"] = __("프로젝트 완료","ajtodo");
}else{
$ret["result"] = false;
$ret["msg"] = __("프로젝트 완료 처리에 실패하였습니다.","ajtodo");
}
wp_send_json(json_encode($ret));
}
function ajtodo_project_todocount(){
$ret = array();
$prj = new AJTODO_Project();
$prj->id = sanitize_text_field($_POST['pid']);
$prj->getCount();
$ret["result"] = true;
$ret["totalissue"] = $prj->totalissue;
$ret["doneissue"] = $prj->doneissue;
$ret["msg"] = __("프로젝트 생성완료","ajtodo");
wp_send_json(json_encode($ret));
}
function ajtodo_project_del(){
$ret = array();
$prj = new AJTODO_Project();
$prj->id = sanitize_text_field($_POST['pid']);
if($prj->delProject()){
$ret["result"] = true;
$ret["msg"] = __("프로젝트 삭제완료","ajtodo");
}else{
$ret["result"] = false;
$ret["msg"] = __("프로젝트 삭제에 실패하였습니다.","ajtodo");
}
wp_send_json(json_encode($ret));
}
function ajtodo_create_project(){
$ret = array();
$prj = new AJTODO_Project();
$prj->pkey = strtoupper(sanitize_text_field($_POST['pkey']));
$prj->title = sanitize_text_field($_POST['title']);
$prj->comment = sanitize_text_field($_POST['comment']);
$prj->autoassign = sanitize_text_field($_POST['autoassign']);
$prj->projecttype = sanitize_text_field($_POST['projecttype']);
if($prj->createProject()){
$ret["result"] = true;
$ret["projectid"] = $prj->id;
$ret["msg"] = __("프로젝트 생성완료","ajtodo");
}else{
$ret["result"] = false;
$ret["msg"] = ($prj->msg ? $prj->msg : __("프로젝트 생성에 실패하였습니다.","ajtodo"));
}
wp_send_json(json_encode($ret));
}
function ajtodo_edit_project(){
$ret = array();
$prj = new AJTODO_Project();
$prj->id = sanitize_text_field($_POST['pid']);
$prj->title = sanitize_text_field($_POST['title']);
$prj->comment = sanitize_textarea_field($_POST['comment']);
$prj->autoassign = sanitize_text_field($_POST['autoassign']);
$prj->projecttype = sanitize_text_field($_POST['projecttype']);
if($prj->editProject()){
$prj->setProject();
$ret["result"] = true;
$ret["pid"] = $prj->id;
$ret["projecttype"] = $prj->projecttype;
$ret["msg"] = __("프로젝트 수정완료","ajtodo");
}else{
$ret["result"] = false;
$ret["msg"] = __("프로젝트 수정에 실패하였습니다.","ajtodo");
}
wp_send_json(json_encode($ret));
}