예제 #1
0
 public function addAdminMenu()
 {
     $ini = Daq_Config::parseIni($this->path("app_config") . "/admin-menu.ini", $this->path("user_config") . "/admin-menu.ini", true);
     $logo = site_url() . "/wp-content/plugins/wpjobboard";
     $logo .= $this->pathRaw("admin_public") . "/wpjb-mini.png";
     if (!$this->conf("cv_enabled")) {
         unset($ini['resumes_manage']);
     }
     $query = new Daq_Db_Query();
     $query->select("COUNT(*) AS cnt")->from("Wpjb_Model_Job t1");
     $query->join("t1.category t2");
     $query->join("t1.type t3");
     $query->where("t1.is_approved = 0");
     $query->where("t1.is_active = 0");
     $pending = $query->fetchColumn();
     if (isset($ini["jobs"]["page_title"])) {
         $warning = __("jobs awaiting approval", WPJB_DOMAIN);
         $ini["jobs"]["menu_title"] = $ini["jobs"]["page_title"];
         $ini["jobs"]["menu_title"] .= "<span class='update-plugins wpjb-bubble-jobs count-{$pending}' title='{$warning}'><span class='update-count'>" . $pending . "</span></span>";
     }
     $query = new Daq_Db_Query();
     $query->select();
     $query->from("Wpjb_Model_Employer t")->join("t.users u")->select("COUNT(*) AS cnt")->limit(1);
     $pending = $query->where("t.is_active=?", 2)->fetchColumn();
     if (isset($ini["companies"]["page_title"])) {
         $warning = __("employers requesting approval", WPJB_DOMAIN);
         $ini["companies"]["menu_title"] = $ini["companies"]["page_title"];
         $ini["companies"]["menu_title"] .= "<span class='update-plugins wpjb-bubble-companies count-{$pending}' title='{$warning}'><span class='update-count'>" . $pending . "</span></span>";
     }
     $query = new Daq_Db_Query();
     $query->select()->from("Wpjb_Model_Resume t")->join("t.users t2")->order("t.updated_at DESC");
     $query->select("COUNT(*) AS cnt")->limit(1);
     $pending = $query->where("t.is_approved=?", Wpjb_Model_Resume::RESUME_PENDING)->fetchColumn();
     if (isset($ini["resumes_manage"]["page_title"])) {
         $warning = __("resumes pending approval", WPJB_DOMAIN);
         $ini["resumes_manage"]["menu_title"] = $ini["resumes_manage"]["page_title"];
         $ini["resumes_manage"]["menu_title"] .= "<span class='update-plugins wpjb-bubble-resumes count-{$pending}' title='{$warning}'><span class='update-count'>" . $pending . "</span></span>";
     }
     foreach ($ini as $key => $conf) {
         if (isset($conf['parent'])) {
             if (isset($conf["menu_title"])) {
                 $menu_title = $conf["menu_title"];
             } else {
                 $menu_title = $conf["page_title"];
             }
             add_submenu_page("wpjb" . $ini[$conf['parent']]['handle'], $conf['page_title'], $menu_title, $conf['access'], "wpjb" . $conf['handle'], array($this, "dispatch"));
         } else {
             add_menu_page($conf['page_title'], $conf['page_title'], $conf['access'], "wpjb" . $conf['handle'], array($this, "dispatch"), $logo);
         }
     }
 }