Esempio n. 1
0
 function xydac_import_cpt($cpt_array)
 {
     $check = false;
     $cpt_array = maybe_unserialize($cpt_array);
     $xydac_cpts = get_option("xydac_cpt");
     if (is_array($cpt_array)) {
         if (isset($cpt_array['xydac_cpt'])) {
             if (is_array($cpt_array['xydac_cpt'])) {
                 if (!in_array($cpt_array['xydac_cpt']['name'], get_reg_cptName())) {
                     if (!$xydac_cpts) {
                         $temp = array();
                         array_push($temp, $cpt_array['xydac_cpt']);
                         if (update_option('xydac_cpt', $temp)) {
                         }
                         $check = true;
                     }
                     if (is_array($xydac_cpts)) {
                         array_push($xydac_cpts, $cpt_array['xydac_cpt']);
                         if (update_option('xydac_cpt', $xydac_cpts)) {
                         }
                         $check = true;
                     }
                 } else {
                     $check = false;
                 }
             }
         }
         if (isset($cpt_array['xydac_cpt_field'])) {
             if (is_array($cpt_array['xydac_cpt_field'])) {
                 $check2 = update_option('xydac_cpt_' . $cpt_array['xydac_cpt']['name'], $cpt_array['xydac_cpt_field']);
                 if ($check && $check2) {
                     $message = __('Custom Post Type and Custom Field Imported Sucessfully.', "xydac_cpt");
                     return $message;
                 } elseif ($check2 && !$check) {
                     $message = __('Custom Field Imported Sucessfully.', "xydac_cpt");
                     return $message;
                 }
             }
         }
         if ($check) {
             $message = __('Custom Post Type Imported Sucessfully.', "xydac_cpt");
             return $message;
         } else {
             $xydac_error = new WP_Error('err', __("Custom Post Type already in use !!!", "xydac_cpt"));
             return $xydac_error;
         }
     } else {
         $xydac_error = new WP_Error('err', __("There seems to be some problem with your data !!!", "xydac_cpt"));
         return $xydac_error;
     }
 }
Esempio n. 2
0
    function xydac_cpt_loader()
    {
        $xydac_edit = array();
        $editmode = false;
        //handles create Custom Post Types
        if (isset($_POST['xydac_create_cpt'])) {
            if (isset($_POST["xy_post"]['name']) && empty($_POST["xy_post"]['name'])) {
                $xydac_error = new WP_Error('err', __("Custom Post Type Name is required to create New Custom Post Type", "xydac_cpt"));
            } elseif (in_array($_POST["xy_post"]['name'], get_reg_cptName())) {
                $xydac_error = new WP_Error('err', __("Custom Post Type already registered !!!", "xydac_cpt"));
            } else {
                if (isset($_POST["xy_post"]['name'])) {
                    $_POST["xy_post"]['name'] = sanitize_title_with_dashes($_POST["xy_post"]['name']);
                }
                $xydac_cpts = get_option("xydac_cpt");
                if (!$xydac_cpts) {
                    $temp = array();
                    array_push($temp, $_POST["xy_post"]);
                    update_option('xydac_cpt', $temp);
                }
                if (is_array($xydac_cpts)) {
                    array_push($xydac_cpts, $_POST["xy_post"]);
                    update_option('xydac_cpt', $xydac_cpts);
                }
                $message = __('Custom Post Type Added.', "xydac_cpt");
                $editmode = true;
            }
        }
        //handles update CPT
        if (isset($_POST['xydac_update_cpt']) && $_POST['cpt_name']) {
            $editmode = false;
            if (empty($_POST["xy_post"]['name'])) {
                $xydac_error = new WP_Error('err', __("Custom Post Type Name is required to create New Custom Post Type", "xydac_cpt"));
            } elseif ($_POST["xy_post"]['name'] != $_POST['cpt_name']) {
                $xydac_error = new WP_Error('err', __("Changing Name is not allowed !!!", "xydac_cpt"));
            } else {
                $_POST["xy_post"]['name'] = sanitize_title_with_dashes($_POST["xy_post"]['name']);
                $xydac_cpts = get_option("xydac_cpt");
                if (is_array($xydac_cpts)) {
                    foreach ($xydac_cpts as $k => $xydac_cpt) {
                        if ($xydac_cpt['name'] == $_POST['cpt_name']) {
                            unset($xydac_cpts[$k]);
                            break;
                        }
                    }
                    array_push($xydac_cpts, $_POST["xy_post"]);
                    update_option('xydac_cpt', $xydac_cpts);
                    $message = __('Custom Post Type Updated.', "xydac_cpt");
                }
                $editmode = true;
            }
        }
        //handles delete CPT
        if (isset($_POST['xydac_cpt_doaction_submit']) && isset($_POST['action']) || isset($_GET['delete-single']) && isset($_GET['d_name'])) {
            $i = 0;
            if (isset($_POST['action']) && $_POST['action'] == 'delete' || isset($_GET['delete-single']) && $_GET['delete-single'] == 'delete') {
                $xydac_cpts = get_option("xydac_cpt");
                if (isset($_POST['delete_cpt'])) {
                    foreach ($_POST['delete_cpt'] as $k => $v) {
                        if (is_array($xydac_cpts)) {
                            foreach ($xydac_cpts as $k => $xydac_cpt) {
                                if ($xydac_cpt['name'] == $v) {
                                    unset($xydac_cpts[$k]);
                                    $i = 1;
                                }
                            }
                        }
                    }
                } elseif (isset($_GET['d_name']) && !empty($_GET['d_name'])) {
                    foreach ($xydac_cpts as $k => $xydac_cpt) {
                        if ($xydac_cpt['name'] == $_GET['d_name']) {
                            unset($xydac_cpts[$k]);
                            $i = 1;
                        }
                    }
                }
                if ($i) {
                    update_option('xydac_cpt', $xydac_cpts);
                    $message = __('Custom Post Type Deleted.', "xydac_cpt");
                } else {
                    $message = __('Custom Post Type Not Deleted.', "xydac_cpt");
                }
            }
            $editmode = true;
        }
        if (isset($editmode) && !$editmode) {
            if (isset($_POST["xy_post"])) {
                $xydac_edit = $_POST["xy_post"];
            }
        }
        if (isset($_GET['edit-cpt']) && isset($_GET['cptname']) && !isset($_POST["xy_post"])) {
            $xydac_cpts = get_option("xydac_cpt");
            if (is_array($xydac_cpts)) {
                foreach ($xydac_cpts as $xydac_cpt) {
                    if (isset($_GET['cptname'])) {
                        if ($xydac_cpt['name'] == $_GET['cptname']) {
                            $xydac_edit = $xydac_cpt;
                            break;
                        }
                    }
                }
            }
        }
        if (isset($_POST['xydac_cpt_import_submit']) && isset($_POST['xydac_cpt_import'])) {
            $m = xydac_import_cpt(stripslashes_deep($_POST['xydac_cpt_import']));
            if (is_wp_error($m)) {
                $xydac_error = $m;
            } else {
                $message = $m;
            }
        }
        ?>
<div class="wrap" id="page_content">

 <?php 
        xydac_cpt_heading("cpt_post");
        if (isset($xydac_error) && is_wp_error($xydac_error)) {
            echo "<div class='error below-h2'><p>" . $xydac_error->get_error_message() . "</p></div>";
        }
        //updated
        ?>
    <?php 
        if (isset($message)) {
            ?>
    <div id="message" class="updated below-h2"><p><?php 
            echo $message;
            ?>
</p></div>
    <?php 
        }
        ?>
  <br class="clear" />
  <div id="col-container">
  <?php 
        cpt_col_right();
        if (isset($_GET['edit-cpt']) && isset($_GET['cptname']) && !$editmode) {
            cpt_col_left($xydac_edit);
        } else {
            cpt_col_left();
        }
        echo '</div></div>';
    }