private function gicon_upload_file()
 {
     $fileElementName = 'wpl_gicon_file';
     $file = wpl_request::getVar($fileElementName, '', 'FILES');
     $ext_array = array('jpg', 'png', 'gif', 'jpeg');
     $error = "";
     $msg = "";
     if (!empty($file['error']) or (empty($file['tmp_name']) or $file['tmp_name'] == 'none')) {
         $error = __("An error occurred uploading your file!", WPL_TEXTDOMAIN);
     } else {
         $extention = strtolower(wpl_file::getExt($file['name']));
         $name = strtolower(wpl_file::stripExt(wpl_file::getName($file['name'])));
         if (!in_array($extention, $ext_array)) {
             $error = __("File extension should be jpg, png or gif", WPL_TEXTDOMAIN);
         }
         /** check the file size **/
         $filesize = @filesize($file['tmp_name']);
         if ($filesize > 500 * 1024) {
             $error .= __("Icons should not be bigger than 500KB!", WPL_TEXTDOMAIN);
             @unlink($file);
         }
         if ($error == "") {
             $dest = WPL_ABSPATH . 'assets' . DS . 'img' . DS . 'listing_types' . DS . 'gicon' . DS . $name . '.' . $extention;
             while (wpl_file::exists($dest)) {
                 $name .= '_copy';
                 $dest = WPL_ABSPATH . 'assets' . DS . 'img' . DS . 'listing_types' . DS . 'gicon' . DS . $name . '.' . $extention;
             }
             wpl_file::upload($file['tmp_name'], $dest);
         }
     }
     $message = '';
     $response = array('error' => $error, 'message' => $message);
     echo json_encode($response);
     exit;
 }