Example #1
0
function handle_delete($id)
{
    global $path_to_root;
    $extensions = get_company_extensions();
    $ext = $extensions[$id];
    if ($ext['version'] != '-') {
        if (!uninstall_package($ext['package'])) {
            return false;
        }
    } else {
        @(include_once $path_to_root . '/' . $ext['path'] . '/hooks.php');
        $hooks_class = 'hooks_' . $ext['package'];
        if (class_exists($hooks_class)) {
            $hooks = new $hooks_class();
            $hooks->uninstall_extension(false);
        }
    }
    unset($extensions[$id]);
    if (update_extensions($extensions)) {
        display_notification(_("Selected extension has been successfully deleted"));
    }
    return true;
}
Example #2
0
include_once $path_to_root . "/includes/session.inc";
include_once $path_to_root . "/includes/packages.inc";
if ($use_popup_windows) {
    $js = get_js_open_window(900, 500);
}
page(_($help_context = "Install Charts of Accounts"), false, false, '', $js);
include_once $path_to_root . "/includes/date_functions.inc";
include_once $path_to_root . "/admin/db/company_db.inc";
include_once $path_to_root . "/admin/db/maintenance_db.inc";
include_once $path_to_root . "/includes/ui.inc";
//---------------------------------------------------------------------------------------------
if ($id = find_submit('Delete', false)) {
    $extensions = get_company_extensions();
    if ($extensions[$id]['type'] == 'chart' && uninstall_package($extensions[$id]['package'])) {
        unset($extensions[$id]);
        if (update_extensions($extensions)) {
            display_notification(_("Selected chart has been successfully deleted"));
            meta_forward($_SERVER['PHP_SELF']);
        }
    }
}
if ($id = find_submit('Update', false)) {
    install_extension($id);
}
//---------------------------------------------------------------------------------------------
start_form(true);
div_start('ext_tbl');
start_table(TABLESTYLE);
$th = array(_("Chart"), _("Installed"), _("Available"), _("Encoding"), "", "");
table_header($th);
$k = 0;
Example #3
0
     // select COA
     subpage_title(_('Charts of Accounts Selection'));
     display_coas();
     submit_center_first('back', _('<< Back'));
     submit_center_last('install_coas', _('Continue >>'));
     break;
 case '5':
     if (!isset($_POST['name'])) {
         foreach ($_SESSION['inst_set'] as $name => $val) {
             $_POST[$name] = $val;
         }
         set_focus('name');
     }
     if (!isset($installed_extensions)) {
         $installed_extensions = array();
         update_extensions($installed_extensions);
     }
     subpage_title(_('Company Settings'));
     start_table(TABLESTYLE);
     text_row_ex(_("Company Name:"), 'name', 30);
     text_row_ex(_("Admin Login:"******"Admin Password:"******"Reenter Password:"******"Select Chart of Accounts:"), 'coa');
     languages_list_row(_("Select Default Language:"), 'lang');
     end_table(1);
     submit_center_first('back', _('<< Back'));
     submit_center_last('set_admin', _('Continue >>'));
     break;
 case '6':
     // final screen
Example #4
0
 function fix_extensions()
 {
     global $path_to_root, $next_extension_id, $installed_languages;
     $lang_chd = false;
     foreach ($installed_languages as $i => $lang) {
         if (!isset($lang['path'])) {
             $code = $lang['code'];
             $installed_languages[$i]['path'] = 'lang/' . $code;
             $installed_languages[$i]['package'] = $code;
             $lang_chd = true;
         }
     }
     if ($lang_chd) {
         write_lang();
     }
     $installed_extensions = get_company_extensions();
     if (!isset($next_extension_id)) {
         $next_extension_id = 1;
     }
     $new_exts = array();
     /*	Old extension modules are uninstalled - they need manual porting after 
     	heavy changes in extension system in FA2.3
     	
     		foreach($installed_extensions as $i => $ext)
     		{
     			if (isset($ext['title'])) // old type entry
     			{
     				if ($ext['type'] == 'module') {
     					$new['type'] = 'extension';
     					$new['tabs'][] = array(
     						'url' => $ext['filename'],
     						'access' => isset($ext['access']) ? $ext['access'] : 'SA_OPEN',
     						'tab_id' => $ext['tab'],
     						'title' => $ext['title']
     					);
     					$new['path'] = $ext['path'];
     				}
     				else // plugin
     				{
     					$new['type'] = 'extension';
     					$new['tabs'] = array();
     					$new['path'] = 'modules/'.$ext['path'];
     					$new['entries'][] = array(
     						'url' => $ext['filename'],
     						'access' => isset($ext['access']) ? $ext['access'] : 'SA_OPEN',
     						'tab_id' => $ext['tab'],
     						'title' => $ext['title']
     					);
     				}
     				if (isset($ext['acc_file']))
     					$new['acc_file'] = $ext['acc_file'];
     				$new['name'] = $ext['name'];
     				$new['package'] = $new['package'] = '';
     				$new['active'] = 1;
     
     				$new_exts[$i] = $new;
     			}
     		}
     */
     // Preserve non-standard themes
     $path = $path_to_root . '/themes/';
     $themes = array();
     $themedir = opendir($path);
     while (false !== ($fname = readdir($themedir))) {
         if ($fname != '.' && $fname != '..' && $fname != 'CVS' && is_dir($path . $fname) && !in_array($fname, array('aqua', 'cool', 'default'))) {
             foreach ($installed_extensions as $ext) {
                 if ($ext['path'] == 'themes/' . $fname) {
                     // skip if theme is already listed
                     continue 2;
                 }
             }
             $new_exts[$next_extension_id++] = array('name' => 'Theme ' . ucwords($fname), 'package' => $fname, 'type' => 'theme', 'active' => true, 'path' => 'themes/' . $fname);
         }
     }
     closedir($themedir);
     if (count($new_exts)) {
         return update_extensions($new_exts);
     } else {
         return true;
     }
 }