Exemple #1
0
function updateCustomLinks($addlinks = true)
{
    global $adb, $mod_strings, $currentModule, $vtiger_current_version;
    getRelativeModules($module, $search, $enabled);
    if ($currentModule == 'Accounting') {
        $mod_strings_aux = $mod_strings;
    } else {
        $mod_strings_aux = return_module_language($_SESSION["authenticated_user_language"], 'Accounting');
    }
    $sendfax_label = $mod_strings_aux['_LBL_ACC_SELECT_ACC'] == "" ? "Send ACC" : $mod_strings_aux['_LBL_ACC_SELECT_ACC'];
    $config = Accounting::loadConfigParams();
    $bFixCustomLinksBug = isset($config["fixcustomlinksbug"]) && $config["fixcustomlinksbug"] == "true" ? true : false;
    preg_match_all('/([\\d.]+)/', $vtiger_current_version, $match);
    $vtiger_current_version = implode("", $match[0]);
    if (version_compare($vtiger_current_version, '5.2.0', '>=')) {
        $bFixCustomLinksBug = true;
        Accounting::updateConfigParam("fixcustomlinksbug", "true");
    }
    $adb->pquery('DELETE FROM vtiger_links WHERE linktype=? AND linkurl=?', array('HEADERSCRIPT', 'modules/Accounting/LinkToACC.js.php?module=$MODULE$'));
    $adb->pquery('DELETE FROM vtiger_links WHERE linktype=? AND linkurl=?', array('HEADERSCRIPT', 'modules/Accounting/LinkToACC.js'));
    $adb->pquery('DELETE FROM vtiger_links WHERE linktype=? AND linkurl=?', array('LISTVIEWBASIC', 'return _onFaxSendShowQuickDivFix(\'$MODULE$\',this)'));
    $adb->pquery('DELETE FROM vtiger_links WHERE linktype=? AND linkurl=?', array('LISTVIEWBASIC', 'return _onFaxSendShowQuickDiv(\'$MODULE$\',this)'));
    $adb->pquery('DELETE FROM vtiger_links WHERE linktype=? AND linkurl=?', array('DETAILVIEWBASIC', 'index.php?module=Accounting&action=EditView&return_module=$MODULE$&return_action=DetailView&return_id=$RECORD$&parent_id=$RECORD$&linkAction=true'));
    if ($addlinks == false) {
        return;
    }
    $mods = Accounting::loadModsButtons();
    include_once 'vtlib/Vtiger/Module.php';
    foreach ($mods as $mod) {
        $mod[1] = $mod[1] == 1 ? "true" : "false";
        $mod[2] = $mod[2] == 1 ? "true" : "false";
        $module = Vtiger_Module::getInstance($mod[0]);
        if ($mod[2] == "true") {
            $checkres = $adb->pquery('SELECT linkid FROM vtiger_links WHERE tabid=? AND linktype=? AND linkurl=? AND linkicon=?', array($module->id, 'DETAILVIEWBASIC', 'index.php?module=Accounting&action=EditView&return_module=$MODULE$&return_action=DetailView&return_id=$RECORD$&parent_id=$RECORD$&linkAction=true', 'modules/Accounting/images/ACC_Send.gif'));
            if (!$adb->num_rows($checkres)) {
                $adb->pquery('INSERT INTO vtiger_links (linkid,tabid,linktype,linklabel,linkurl,linkicon,sequence) VALUES(?,?,?,?,?,?,?)', array($adb->getUniqueID('vtiger_links'), $module->id, 'DETAILVIEWBASIC', $sendfax_label, 'index.php?module=Accounting&action=EditView&return_module=$MODULE$&return_action=DetailView&return_id=$RECORD$&parent_id=$RECORD$&linkAction=true', 'modules/Accounting/images/ACC_Send.gif', 0));
            }
        }
        if ($mod[1] == "true") {
            if ($bFixCustomLinksBug == false) {
                $type = 'HEADERSCRIPT';
                $url = 'modules/Accounting/LinkToACC.js.php?module=$MODULE$';
            } else {
                $type = 'LISTVIEWBASIC';
                $url = 'return _onFaxSendShowQuickDivFix(\'$MODULE$\',this)';
            }
            $checkres = $adb->pquery('SELECT linkid FROM vtiger_links WHERE tabid=? AND linktype=? AND linkurl=?', array($module->id, $type, $url));
            if (!$adb->num_rows($checkres)) {
                $adb->pquery('INSERT INTO vtiger_links (linkid,tabid,linktype,linklabel,linkurl,sequence) VALUES(?,?,?,?,?,?)', array($adb->getUniqueID('vtiger_links'), $module->id, $type, $sendfax_label, $url, 0));
            }
            $checkres = $adb->pquery('SELECT linkid FROM vtiger_links WHERE tabid=? AND linktype=? AND linkurl=?', array($module->id, 'HEADERSCRIPT', 'modules/Accounting/LinkToACC.js'));
            if (!$adb->num_rows($checkres)) {
                $adb->pquery('INSERT INTO vtiger_links (linkid,tabid,linktype,linklabel,linkurl,sequence) VALUES(?,?,?,?,?,?)', array($adb->getUniqueID('vtiger_links'), $module->id, 'HEADERSCRIPT', $sendfax_label, 'modules/Accounting/LinkToACC.js', 0));
            }
        }
    }
}