From 3d65d9eb018882c29ab393edd9d3f332d7a82fa1 Mon Sep 17 00:00:00 2001
From: Deepak Srivastava <deepak.srivastava@webaccess.co.in>
Date: Fri, 30 Aug 2013 15:43:17 +0530
Subject: [PATCH] CRM-12399, remove twilio ext from core.

---
 tools/extensions/org.civicrm.sms.twilio.zip   | Bin 6013 -> 0 bytes
 .../org.civicrm.sms.twilio/info.xml           |  25 ---
 .../org_civicrm_sms_twilio.php                | 187 ------------------
 .../org.civicrm.sms.twilio/twilio.civix.php   | 152 --------------
 .../org.civicrm.sms.twilio/twilio.php         | 115 -----------
 5 files changed, 479 deletions(-)
 delete mode 100644 tools/extensions/org.civicrm.sms.twilio.zip
 delete mode 100644 tools/extensions/org.civicrm.sms.twilio/info.xml
 delete mode 100644 tools/extensions/org.civicrm.sms.twilio/org_civicrm_sms_twilio.php
 delete mode 100644 tools/extensions/org.civicrm.sms.twilio/twilio.civix.php
 delete mode 100644 tools/extensions/org.civicrm.sms.twilio/twilio.php

diff --git a/tools/extensions/org.civicrm.sms.twilio.zip b/tools/extensions/org.civicrm.sms.twilio.zip
deleted file mode 100644
index 49a3e6df78ec823b4105fe7ad13a0e582b0872bc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 6013
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

diff --git a/tools/extensions/org.civicrm.sms.twilio/info.xml b/tools/extensions/org.civicrm.sms.twilio/info.xml
deleted file mode 100644
index 438e2c4412..0000000000
--- a/tools/extensions/org.civicrm.sms.twilio/info.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0"?>
-<extension key="org.civicrm.sms.twilio" type="module">
-  <downloadUrl>https://github.com/civicrm/civicrm-core/blob/4.3/tools/extensions/org.civicrm.sms.twilio.zip?raw=true</downloadUrl>
-  <file>twilio</file>
-  <name>twilio</name>
-  <description>Twilio integration allows delivering short message service (SMS) messages through its Twilio Gateway to mobile phone users.</description>
-  <urls>
-    <url desc="Main Extension Page">http://civicrm.org</url>
-    <url desc="Documentation">http://wiki.civicrm.org/confluence/display/CRMDOC/Setting+up+a+SMS+Provider+for+CiviSMS</url>
-    <url desc="Support">http://forum.civicrm.org</url>
-    <url desc="Licensing">http://civicrm.org/licensing</url>
-  </urls>
-  <license>AGPL</license>
-  <maintainer>
-    <author>Community Contributed</author>
-    <email>info@civicrm.org</email>
-  </maintainer>
-  <releaseDate>2012-11-19</releaseDate>
-  <version>1.0</version>
-  <develStage>stable</develStage>
-  <compatibility>
-    <ver>4.3</ver>
-  </compatibility>
-  <comments>For support, please contact project team on the forums.</comments>
-</extension>
diff --git a/tools/extensions/org.civicrm.sms.twilio/org_civicrm_sms_twilio.php b/tools/extensions/org.civicrm.sms.twilio/org_civicrm_sms_twilio.php
deleted file mode 100644
index 9ffdc92a48..0000000000
--- a/tools/extensions/org.civicrm.sms.twilio/org_civicrm_sms_twilio.php
+++ /dev/null
@@ -1,187 +0,0 @@
-<?php
-/*
- +--------------------------------------------------------------------+
- | CiviCRM version 4.2                                                |
- +--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2012                                |
- +--------------------------------------------------------------------+
- | This file is a part of CiviCRM.                                    |
- |                                                                    |
- | CiviCRM is free software; you can copy, modify, and distribute it  |
- | under the terms of the GNU Affero General Public License           |
- | Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
- |                                                                    |
- | CiviCRM is distributed in the hope that it will be useful, but     |
- | WITHOUT ANY WARRANTY; without even the implied warranty of         |
- | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.               |
- | See the GNU Affero General Public License for more details.        |
- |                                                                    |
- | You should have received a copy of the GNU Affero General Public   |
- | License and the CiviCRM Licensing Exception along                  |
- | with this program; if not, contact CiviCRM LLC                     |
- | at info[AT]civicrm[DOT]org. If you have questions about the        |
- | GNU Affero General Public License or the licensing of CiviCRM,     |
- | see the CiviCRM license FAQ at http://civicrm.org/licensing        |
- +--------------------------------------------------------------------+
-*/
-
-// Load the official Twilio library
-require_once 'Services/Twilio.php';
-
-/**
- *
- * @package CRM
- * @copyright CiviCRM LLC (c) 2004-2012
- * $Id$
- *
- */
-class org_civicrm_sms_twilio extends CRM_SMS_Provider {
-
-  /**
-   * api type to use to send a message
-   * @var	string
-   */
-  protected $_apiType = 'http';
-
-  /**
-   * provider details
-   * @var	string
-   */
-  protected $_providerInfo = array();
-
-  public $_apiURL = "https://api.twilio.com/";
-
-  protected $_messageType = array(
-  );
-
-  protected $_messageStatus = array(
-  );
-
-  /**
-   * Twilio client object
-   * @var Service_Twilio
-   */
-  protected $_twilioClient = null;
-
-  /**
-   * We only need one instance of this object. So we use the singleton
-   * pattern and cache the instance in this variable
-   *
-   * @var object
-   * @static
-   */
-  static private $_singleton = array();
-
-  /**
-   * Constructor
-   *
-   * Create and auth a Twilio session.
-   * This is not needed for Twilio
-   *
-   * @return void
-   */ 
-  function __construct($provider = array(
-     ), $skipAuth = TRUE) {
-    // initialize vars
-    $this->_apiType = CRM_Utils_Array::value('api_type', $provider, 'http');
-    $this->_providerInfo = $provider;
-
-    // Instantiate the Twilio client
-    if ($this->_apiType == 'http' &&
-        array_key_exists('username', $this->_providerInfo) &&
-        array_key_exists('password', $this->_providerInfo)
-    ) {
-      $sid = $this->_providerInfo['username'];
-      $token = $this->_providerInfo['password'];
-      $this->_twilioClient = new Services_Twilio($sid, $token);
-    }
-
-    if ($skipAuth) {
-      return TRUE;
-    }
-
-    $this->authenticate();
-  }
-
-  /**
-   * singleton function used to manage this object
-   *
-   * @return object
-   * @static
-   *
-   */
-  static function &singleton($providerParams = array(
-    ), $force = FALSE) {
-    $providerID = CRM_Utils_Array::value('provider_id', $providerParams);
-    $skipAuth   = $providerID ? FALSE : TRUE;
-    $cacheKey   = (int) $providerID;
-
-    if (!isset(self::$_singleton[$cacheKey]) || $force) {
-      $provider = array();
-      if ($providerID) {
-        $provider = CRM_SMS_BAO_Provider::getProviderInfo($providerID);
-      }
-      self::$_singleton[$cacheKey] = new org_civicrm_sms_twilio($provider, $skipAuth);
-    }
-    return self::$_singleton[$cacheKey];
-  }
-
-  /**
-   * Authenticate to the Twilio Server.
-   * Not needed in Twilio
-   * @return boolean TRUE
-   * @access public
-   * @since 1.1
-   */
-  function authenticate() { 
-      return (TRUE);
-  }
-
-  /**
-   * Send an SMS Message via the Twilio API Server
-   *
-   * @param array the message with a to/from/text
-   *
-   * @return mixed SID on success or PEAR_Error object
-   * @access public
-   */
-  function send($recipients, $header, $message, $jobID = NULL, $userID = NULL) {
-    if ($this->_apiType == 'http') {
-      $from = '';
-      if (array_key_exists('From', $this->_providerInfo['api_params'])) {
-        $from = $this->_providerInfo['api_params']['From'];
-      }
-
-      try {
-        $twilioMessage = $this->_twilioClient->account->sms_messages->create(
-          $from,
-          $header['To'],
-          $message
-        );
-      } catch (Exception $e) {
-        $errMsg = $e->getMessage()
-          . ' For more information, see '
-          . $e->getInfo();
-        return PEAR::raiseError(
-          $errMsg,
-          $e->getCode(),
-          PEAR_ERROR_RETURN
-        );
-      }
-
-      $sid = $twilioMessage->sid;
-      $this->createActivity($sid, $message, $header, $jobID, $userID);
-      return $sid;
-    }
-  }
-
-  function callback() {
-  	return TRUE;
-  }
-
-  function inbound() {
-    $like      = "";
-    $fromPhone = $this->retrieve('From', 'String');
-    return parent::processInbound($fromPhone, $this->retrieve('Body', 'String'), NULL, $this->retrieve('SmsSid', 'String'));
-  }
-}
diff --git a/tools/extensions/org.civicrm.sms.twilio/twilio.civix.php b/tools/extensions/org.civicrm.sms.twilio/twilio.civix.php
deleted file mode 100644
index 49a84879f8..0000000000
--- a/tools/extensions/org.civicrm.sms.twilio/twilio.civix.php
+++ /dev/null
@@ -1,152 +0,0 @@
-<?php
-
-// AUTO-GENERATED FILE -- Civix may overwrite any changes made to this file
-
-/**
- * (Delegated) Implementation of hook_civicrm_config
- */
-function _twilio_civix_civicrm_config(&$config = NULL) {
-  static $configured = FALSE;
-  if ($configured) return;
-  $configured = TRUE;
-
-  $template =& CRM_Core_Smarty::singleton();
-
-  $extRoot = dirname( __FILE__ ) . DIRECTORY_SEPARATOR;
-  $extDir = $extRoot . 'templates';
-
-  if ( is_array( $template->template_dir ) ) {
-      array_unshift( $template->template_dir, $extDir );
-  } else {
-      $template->template_dir = array( $extDir, $template->template_dir );
-  }
-
-  $include_path = $extRoot . PATH_SEPARATOR . get_include_path( );
-  set_include_path( $include_path );
-}
-
-/**
- * (Delegated) Implementation of hook_civicrm_xmlMenu
- *
- * @param $files array(string)
- */
-function _twilio_civix_civicrm_xmlMenu(&$files) {
-  foreach (glob(__DIR__ . '/xml/Menu/*.xml') as $file) {
-    $files[] = $file;
-  }
-}
-
-/**
- * Implementation of hook_civicrm_install
- */
-function _twilio_civix_civicrm_install() {
-  _twilio_civix_civicrm_config();
-  if ($upgrader = _twilio_civix_upgrader()) {
-    return $upgrader->onInstall();
-  }
-}
-
-/**
- * Implementation of hook_civicrm_uninstall
- */
-function _twilio_civix_civicrm_uninstall() {
-  _twilio_civix_civicrm_config();
-  if ($upgrader = _twilio_civix_upgrader()) {
-    return $upgrader->onUninstall();
-  }
-}
-
-/**
- * (Delegated) Implementation of hook_civicrm_enable
- */
-function _twilio_civix_civicrm_enable() {
-  _twilio_civix_civicrm_config();
-  if ($upgrader = _twilio_civix_upgrader()) {
-    if (is_callable(array($upgrader, 'onEnable'))) {
-      return $upgrader->onEnable();
-    }
-  }
-}
-
-/**
- * (Delegated) Implementation of hook_civicrm_disable
- */
-function _twilio_civix_civicrm_disable() {
-  _twilio_civix_civicrm_config();
-  if ($upgrader = _twilio_civix_upgrader()) {
-    if (is_callable(array($upgrader, 'onDisable'))) {
-      return $upgrader->onDisable();
-    }
-  }
-}
-
-/**
- * (Delegated) Implementation of hook_civicrm_upgrade
- *
- * @param $op string, the type of operation being performed; 'check' or 'enqueue'
- * @param $queue CRM_Queue_Queue, (for 'enqueue') the modifiable list of pending up upgrade tasks
- *
- * @return mixed  based on op. for 'check', returns array(boolean) (TRUE if upgrades are pending)
- *                for 'enqueue', returns void
- */
-function _twilio_civix_civicrm_upgrade($op, CRM_Queue_Queue $queue = NULL) {
-  if ($upgrader = _twilio_civix_upgrader()) {
-    return $upgrader->onUpgrade($op, $queue);
-  }
-}
-
-function _twilio_civix_upgrader() {
-  if (!file_exists(__DIR__.'/CRM/Twilio/Upgrader.php')) {
-    return NULL;
-  } else {
-    return CRM_Twilio_Upgrader_Base::instance();
-  }
-}
-
-/**
- * Search directory tree for files which match a glob pattern
- *
- * @param $dir string, base dir
- * @param $pattern string, glob pattern, eg "*.txt"
- * @return array(string)
- */
-function _twilio_civix_find_files($dir, $pattern) {
-  $todos = array($dir);
-  $result = array();
-  while (!empty($todos)) {
-    $subdir = array_shift($todos);
-    foreach (glob("$subdir/$pattern") as $match) {
-      if (!is_dir($match)) {
-        $result[] = $match;
-      }
-    }
-    if ($dh = opendir($subdir)) {
-      while (FALSE !== ($entry = readdir($dh))) {
-        $path = $subdir . DIRECTORY_SEPARATOR . $entry;
-        if ($entry == '.' || $entry == '..') {
-        } elseif (is_dir($path)) {
-          $todos[] = $path;
-        }
-      }
-      closedir($dh);
-    }
-  }
-  return $result;
-}
-/**
- * (Delegated) Implementation of hook_civicrm_managed
- *
- * Find any *.mgd.php files, merge their content, and return.
- */
-function _twilio_civix_civicrm_managed(&$entities) {
-  $mgdFiles = _twilio_civix_find_files(__DIR__, '*.mgd.php');
-  foreach ($mgdFiles as $file) {
-    $es = include $file;
-    foreach ($es as $e) {
-      if (empty($e['module'])) {
-        $e['module'] = 'org.civicrm.sms.twilio';
-      }
-      $entities[] = $e;
-    }
-  }
-}
diff --git a/tools/extensions/org.civicrm.sms.twilio/twilio.php b/tools/extensions/org.civicrm.sms.twilio/twilio.php
deleted file mode 100644
index 220b682360..0000000000
--- a/tools/extensions/org.civicrm.sms.twilio/twilio.php
+++ /dev/null
@@ -1,115 +0,0 @@
-<?php
-
-require_once 'twilio.civix.php';
-
-/**
- * Implementation of hook_civicrm_config
- */
-function twilio_civicrm_config(&$config) {
-  _twilio_civix_civicrm_config($config);
-}
-
-/**
- * Implementation of hook_civicrm_xmlMenu
- *
- * @param $files array(string)
- */
-function twilio_civicrm_xmlMenu(&$files) {
-  _twilio_civix_civicrm_xmlMenu($files);
-}
-
-/**
- * Implementation of hook_civicrm_install
- */
-function twilio_civicrm_install() {
-  $groupID = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_OptionGroup','sms_provider_name','id','name');
-  $params  = 
-    array('option_group_id' => $groupID,
-          'label' => 'Twilio',
-          'value' => 'org.civicrm.sms.twilio',
-          'name'  => 'twilio',
-          'is_default' => 1,
-          'is_active'  => 1,
-          'version'    => 3,);
-  require_once 'api/api.php';
-  civicrm_api( 'option_value','create', $params );
-
-  return _twilio_civix_civicrm_install();
-}
-
-/**
- * Implementation of hook_civicrm_uninstall
- */
-function twilio_civicrm_uninstall() {
-  $optionID = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_OptionValue','twilio','id','name');
-  if ($optionID)
-    CRM_Core_BAO_OptionValue::del($optionID); 
-  
-  $filter    =  array('name'  => 'org.civicrm.sms.twilio');
-  $Providers =  CRM_SMS_BAO_Provider::getProviders(False, $filter, False);
-  if ($Providers){
-    foreach($Providers as $key => $value){
-      CRM_SMS_BAO_Provider::del($value['id']);
-    }
-  }
-  return _twilio_civix_civicrm_uninstall();
-}
-
-/**
- * Implementation of hook_civicrm_enable
- */
-function twilio_civicrm_enable() {
-  $optionID = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_OptionValue','twilio' ,'id','name');
-  if ($optionID)
-    CRM_Core_BAO_OptionValue::setIsActive($optionID, TRUE); 
-  
-  $filter    =  array('name' => 'org.civicrm.sms.twilio');
-  $Providers =  CRM_SMS_BAO_Provider::getProviders(False, $filter, False);
-  if ($Providers){
-    foreach($Providers as $key => $value){
-      CRM_SMS_BAO_Provider::setIsActive($value['id'], TRUE); 
-    }
-  }
-  return _twilio_civix_civicrm_enable();
-}
-
-/**
- * Implementation of hook_civicrm_disable
- */
-function twilio_civicrm_disable() {
-  $optionID = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_OptionValue','twilio','id','name');
-  if ($optionID)
-    CRM_Core_BAO_OptionValue::setIsActive($optionID, FALSE);
-  
-  $filter    =  array('name' =>  'org.civicrm.sms.twilio');
-  $Providers =  CRM_SMS_BAO_Provider::getProviders(False, $filter, False);
-  if ($Providers){
-    foreach($Providers as $key => $value){
-      CRM_SMS_BAO_Provider::setIsActive($value['id'], FALSE); 
-    }
-  }
-  return _twilio_civix_civicrm_disable();
-}
-
-/**
- * Implementation of hook_civicrm_upgrade
- *
- * @param $op string, the type of operation being performed; 'check' or 'enqueue'
- * @param $queue CRM_Queue_Queue, (for 'enqueue') the modifiable list of pending up upgrade tasks
- *
- * @return mixed  based on op. for 'check', returns array(boolean) (TRUE if upgrades are pending)
- *                for 'enqueue', returns void
- */
-function twilio_civicrm_upgrade($op, CRM_Queue_Queue $queue = NULL) {
-  return _twilio_civix_civicrm_upgrade($op, $queue);
-}
-
-/**
- * Implementation of hook_civicrm_managed
- *
- * Generate a list of entities to create/deactivate/delete when this module
- * is installed, disabled, uninstalled.
- */
-function twilio_civicrm_managed(&$entities) {
-  return _twilio_civix_civicrm_managed($entities);
-}
-- 
GitLab