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; }
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"); }
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(); }
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(); }