Пример #1
0
 public function export(Varien_Event_Observer $observer)
 {
     $config['enabled'] = Mage::getStoreConfig('bs/general/enabled', Mage::app()->getStore());
     $config['email'] = Mage::getStoreConfig('bs/general/email', Mage::app()->getStore());
     $config['url'] = Mage::getStoreConfig('bs/general/url', Mage::app()->getStore());
     $config['username'] = Mage::getStoreConfig('bs/general/username', Mage::app()->getStore());
     $config['password'] = Mage::getStoreConfig('bs/general/password', Mage::app()->getStore());
     $config['campaigns'] = Mage::getStoreConfig('bs/general/campaigns', Mage::app()->getStore());
     if (!$config['enabled']) {
         return true;
     }
     $order = $observer->getEvent()->getOrder();
     $order_data = $order->getData();
     $billing_data = $order->getBillingAddress()->getData();
     $shipping_data = $order->getShippingAddress()->getData();
     $sugar = new SugarCRM($config['url'], $config['username'], $config['password']);
     $user_id = $sugar->getUserID();
     $company_name = $order_data['company'] ? $order_data['company'] : $order_data['customer_firstname'] . ' ' . $order_data['customer_lastname'];
     $account = array('name' => $company_name, 'campaign_id' => $config['campaigns'], 'created_by' => $user_id, 'account_type' => 'Customer');
     $account_id = $sugar->setEntry('Accounts', $account);
     $contact = array('first_name' => $order_data['customer_firstname'], 'last_name' => $order_data['customer_lastname'], 'email' => $order_data['customer_email'], 'phone_office' => $order_data['telephone'], 'phone_fax' => $order_data['fax'], 'primary_address_street' => $shipping_data['street'], 'primary_address_city' => $shipping_data['city'], 'primary_address_state' => $shipping_data['region'], 'primary_address_postalcode' => $shipping_data['postcode'], 'primary_address_country' => $shipping_data['country_id'], 'alt_address_street' => $billing_data['street'], 'alt_address_city' => $billing_data['city'], 'alt_address_state' => $billing_data['region'], 'alt_address_postalcode' => $billing_data['postcode'], 'alt_address_country' => $billing_data['country_id'], 'created_by' => $user_id, 'lead_source' => $order_data['store_name'], 'campaign_id' => $config['campaigns'], 'account_id' => $account_id);
     $contact_id = $sugar->setEntry('Contacts', $contact);
     $opportunity = array('name' => $company_name . 'Online Order #' . $order_data['quote_id'], 'amount' => $order_data['grand_total'], 'sales_stage' => "Closed Won", 'account_id' => $account_id, 'lead_source' => $order_data['store_name'], 'created_by' => $user_id, 'date_closed' => $order_data['created_at']);
     $opportunity_id = $sugar->setEntry('Opportunities', $opportunity);
     if (isset($config['email']) && filter_var($config['email'], FILTER_VALIDATE_EMAIL)) {
         $message = 'Order:' . json_encode($order_data) . 'Billing Address:' . json_encode($billing_data) . 'Shipping Address:' . json_encode($shipping_data);
         $to = $config['email'];
         $subject = "Magento - New Order!";
         $header = "From:sugarbridge@bensnyde.me \r\n";
         mail($to, $subject, $message, $header);
     }
     return true;
 }
 public function toOptionArray()
 {
     $result = array(array('value' => null, 'label' => Mage::helper('sugarbridge')->__('None')));
     $config['enabled'] = Mage::getStoreConfig('bs/general/enabled', Mage::app()->getStore());
     if ($config['enabled']) {
         $config['url'] = Mage::getStoreConfig('bs/general/url', Mage::app()->getStore());
         $config['username'] = Mage::getStoreConfig('bs/general/username', Mage::app()->getStore());
         $config['password'] = Mage::getStoreConfig('bs/general/password', Mage::app()->getStore());
         $sugar = new SugarCRM($config['url'], $config['username'], $config['password']);
         $campaigns = $sugar->getEntryList('Campaigns');
         for ($x = 0; $x < count($campaigns); $x++) {
             foreach ($campaigns->entry_list[$x]->name_value_list as $value) {
                 if ($value->name == 'name') {
                     $campaign_name = $value->value;
                 } elseif ($value->name == 'id') {
                     $campaign_id = $value->value;
                 }
             }
             array_push($result, array('value' => $campaign_id, 'label' => Mage::helper('sugarbridge')->__($campaign_name . ' (' . $campaign_id . ')')));
         }
     }
     return $result;
 }
Пример #3
0
function SUGAR_INSTALL($servername, $root, $hash = array())
{
    $GLOBALS["ADDLOG"] = "{$GLOBALS["ARTICALOGDIR"]}/{$servername}.log";
    if ($root == null) {
        events("Starting install Sugar Unable to stat root dir");
        return false;
    }
    $user = $hash["wwwmysqluser"][0];
    $mysql_password = $hash[strtolower("WWWMysqlPassword")][0];
    $appli_user = $hash["wwwappliuser"][0];
    $appli_password = $hash["wwwapplipassword"][0];
    $wwwsslmode = $hash["wwwsslmode"][0];
    if ($wwwsslmode == "TRUE") {
        $SSL = true;
    } else {
        $SSL = false;
    }
    if ($user == null) {
        events("Starting install SugarCRM Unable to stat Mysql username");
        return false;
    }
    if ($mysql_password == null) {
        events("Starting install SugarCRM Unable to stat Mysql password");
        return false;
    }
    @mkdir($root, 0755, true);
    $server_database = str_replace(".", "_", $servername);
    $server_database = str_replace("-", "_", $server_database);
    $q = new mysql();
    if (!$q->DATABASE_EXISTS($server_database)) {
        events("Install SugarCRM sub-system mysql database {$server_database}...");
        $q->CREATE_DATABASE($server_database);
    }
    if (!$q->DATABASE_EXISTS($server_database)) {
        events("Install SugarCRM unable to create MYSQL Database");
        return false;
    }
    if (!is_file("{$root}/index.php")) {
        events("Install SugarCRM installing source code");
        shell_exec("/bin/cp -rf /usr/local/share/artica/sugarcrm_src/* {$root}/");
    }
    if (!is_file("{$root}/install/siteConfig_a.php")) {
        events("Install SugarCRM installing install directory");
        shell_exec("/bin/cp -rf /usr/local/share/artica/sugarcrm_src/install {$root}/");
    }
    $sugar = new SugarCRM();
    $sugar->sql_host = $q->mysql_server;
    $sugar->sql_db = $server_database;
    $sugar->sql_admin = $user;
    $sugar->sql_password = $mysql_password;
    if ($appli_user == null) {
        $appli_user = "******";
    }
    $sugar->manager_name = $appli_user;
    $sugar->manager_password = $appli_password;
    $sugar->sugar_supposed_version = SUGAR_CRMVERSION($root);
    events("{$servername} v.{$sugar->sugar_supposed_version}");
    $sugar->servername = $servername;
    $q->PRIVILEGES($user, $mysql_password, $server_database);
    $conf = $sugar->BuildSugarConf($SSL);
    events("Creating configuration file config.php");
    @file_put_contents("{$root}/config.php", $conf);
    $conf_silent = $sugar->BuildSilentInstallConf($SSL);
    events("Creating silent configuration file config_si.php");
    @file_put_contents("{$root}/config_si.php", $conf_silent);
    shell_exec("chmod -R 755 {$root}/include/javascript");
}
Пример #4
0
function sugar_save()
{
    $ou = $_GET["ou"];
    $name = str_replace('.', '_', $ou);
    $name = str_replace('-', '_', $name);
    $ldap = new clladp();
    $ini = new Bs_IniHandler();
    $ini->_params["CONF"]["sugaradminname"] = $_GET["sugaradminname"];
    $ini->_params["CONF"]["sugaradminpassword"] = $_GET["sugaradminpassword"];
    $ini->_params["CONF"]["sugarservername"] = $_GET["sugarservername"];
    $ini->_params["CONF"]["ou"] = $_GET["ou"];
    $ini->_params["CONF"]["ldap_connection_user"] = $ldap->ldap_admin;
    $sock = new sockets();
    $sock->SaveConfigFile($ini->toString(), "JoomlaConfOrg_{$name}");
    $su = new SugarCRM($ou);
    $su->CreateAdminPassword();
    $su->UpdateLDAPConfig();
}
Пример #5
0
function SUGAR_INSTALL($servername, $root, $hash = array())
{
    $GLOBALS["ADDLOG"] = "/var/log/artica-postfix/{$servername}.log";
    if ($root == null) {
        events("Starting install Sugar Unable to stat root dir");
        return false;
    }
    $sql_file = "/usr/share/artica-postfix/bin/install/SugarCRM/sugarcrm.sql";
    $user = $hash["wwwmysqluser"][0];
    $mysql_password = $hash[strtolower("WWWMysqlPassword")][0];
    $appli_user = $hash["wwwappliuser"][0];
    $appli_password = $hash["wwwapplipassword"][0];
    $wwwsslmode = $hash["wwwsslmode"][0];
    if ($wwwsslmode == "TRUE") {
        $SSL = true;
    } else {
        $SSL = false;
    }
    if ($user == null) {
        events("Starting install SugarCRM Unable to stat Mysql username");
        return false;
    }
    if ($mysql_password == null) {
        events("Starting install SugarCRM Unable to stat Mysql password");
        return false;
    }
    @mkdir($root, 0755, true);
    $server_database = str_replace(".", "_", $servername);
    $server_database = str_replace("-", "_", $server_database);
    $q = new mysql();
    if (!$q->DATABASE_EXISTS($server_database)) {
        events("Install SugarCRM sub-system mysql database {$server_database}...");
        $q->CREATE_DATABASE($server_database);
    }
    if (!$q->DATABASE_EXISTS($server_database)) {
        events("Install SugarCRM unable to create MYSQL Database");
        return false;
    }
    if (!is_file("{$root}/index.php")) {
        events("Install SugarCRM installing source code");
        shell_exec("/bin/cp -rf /usr/local/share/artica/sugarcrm_src/* {$root}/");
    }
    $sugar = new SugarCRM();
    $manquesfichiers = $sugar->checkRootFiles($root);
    if (count($manquesfichiers) > 0) {
        events("Install SugarCRM installing source code missing " . count($manquesfichiers) . " files");
        shell_exec("/bin/cp -rf /usr/local/share/artica/sugarcrm_src/* {$root}/");
    }
    $sugar->sql_db = $server_database;
    $sugar->sql_admin = $user;
    $sugar->sql_password = $mysql_password;
    $sugar->sugar_supposed_version = SUGAR_CRMVERSION($root);
    events("{$servername} v.{$sugar->sugar_supposed_version}");
    $sugar->servername = $servername;
    AddPrivileges($user, $mysql_password, $server_database);
    if (!$sugar->TestTables()) {
        if ($q->mysql_password != null) {
            $password = "******";
        } else {
            events("Install SugarCRM installing tables datas with null password");
        }
        $cmd = "mysql --port={$q->mysql_port} --skip-column-names --database={$server_database} --silent --xml ";
        $cmd = $cmd . " --user={$q->mysql_admin}{$password} <{$sql_file}";
        shell_exec($cmd);
    }
    if ($appli_user == null) {
        $appli_user = "******";
    }
    $sugar->CreateAdminPassword($appli_user, $appli_password);
    $conf = $sugar->BuildSugarConf($SSL);
    events("Creating configuration file config.php");
    @file_put_contents("{$root}/config.php", $conf);
    events("sugar version is {$sugar->sugar_supposed_version}");
    $sql = "UPDATE `{$server_database}`.`config` SET `value` = '{$sugar->sugar_supposed_version}' \n\tWHERE `config`.`category` =  'info' \n\tAND `config`.`name` = 'sugar_version'  LIMIT 1 ;";
    $q = new mysql();
    $q->QUERY_SQL($sql, $server_database);
    if (!$q->ok) {
        events("{$q->mysql_error}");
        events("{$sql}");
    }
    shell_exec("chmod -R 755 {$root}/include/javascript");
}
function sugar_save()
{
    $ou = $_GET["ou"];
    $sugar = new joomla($ou);
    while (list($num, $ligne) = each($_GET)) {
        $sugar->params["CONF"][$num] = $ligne;
        $sugar->SaveParams();
    }
    $su = new SugarCRM($ou);
    $su->CreateAdminPassword();
    $su->UpdateLDAPConfig();
}