diff --git a/.codeclimate.yml b/.codeclimate.yml
index cd267d58d6..988b304f98 100644
--- a/.codeclimate.yml
+++ b/.codeclimate.yml
@@ -62,7 +62,6 @@ plugins:
enabled: false
exclude_patterns:
- - cli-config.php
- var/cache/
- var/log/
- app/config/
@@ -72,9 +71,6 @@ exclude_patterns:
- app/Resources/
- main/admin/db.php
- main/admin/ldap_synchro.php
- - main/auth/cas/lib/
- - main/auth/shibboleth
- - main/auth/openid
- main/chat/emoji_strategy.php
- main/default_course_document
- main/document/Wami.swf
@@ -89,17 +85,13 @@ exclude_patterns:
- main/inc/lib/nusoap/
- main/inc/lib/opengraph/*
- main/inc/lib/ppt2png/
- - main/inc/lib/phpseclib
- main/inc/lib/pear/
- - main/inc/lib/phpmailer/
- - main/inc/lib/phpseclib/
- main/inc/lib/svg-edit/
- main/inc/lib/swfobject/
- main/inc/lib/wami-recorder/
- main/inc/lib/xajax/
- main/lp/packaging/
- main/template/
- - main/img/
- main/lang/
- public/libs/
- public/img/
@@ -108,8 +100,6 @@ exclude_patterns:
- plugin/buycourses/src/Requests.php
- plugin/buycourses/src/paypalfunctions.php
- plugin/vchamilo/cli/
- - plugin/kannelsms/vendor/
- - plugin/clockworksms/vendor/
- plugin/pens/lib
- plugin/bbb/lib/bbb_api.php
- plugin/ims_lti/OAuthSimple.php
diff --git a/.php_cs.dist b/.php_cs.dist
index dbd5f5cc97..f090329168 100644
--- a/.php_cs.dist
+++ b/.php_cs.dist
@@ -69,8 +69,6 @@ $finder = PhpCsFixer\Finder::create()
->exclude('plugin/buycourses/src/Culqi')
->exclude('plugin/buycourses/src/Requests')
->exclude('plugin/vchamilo/cli')
- ->exclude('plugin/kannelsms/vendor')
- ->exclude('plugin/clockworksms/vendor')
->exclude('plugin/pens/lib')
->exclude('plugin/bbb/lib')
->exclude('plugin/ims_lti')
@@ -94,4 +92,4 @@ return PhpCsFixer\Config::create()
->setRules(
$rules
)
- ->setFinder($finder);
\ No newline at end of file
+ ->setFinder($finder);
diff --git a/.scrutinizer.yml b/.scrutinizer.yml
index 3839f3d26d..a027aaa5b5 100644
--- a/.scrutinizer.yml
+++ b/.scrutinizer.yml
@@ -24,9 +24,6 @@ filter:
- 'app/Resources/*'
- 'main/admin/db.php'
- 'main/admin/ldap_synchro.php'
- - 'main/auth/cas/lib/*'
- - 'main/auth/shibboleth/*'
- - 'main/auth/openid/*'
- 'main/chat/emoji_strategy.php'
- 'main/default_course_document'
- 'main/document/Wami.swf'
@@ -41,26 +38,19 @@ filter:
- 'main/inc/lib/nusoap/*'
- 'main/inc/lib/opengraph/*'
- 'main/inc/lib/ppt2png/*'
- - 'main/inc/lib/phpseclib'
- 'main/inc/lib/pear/*'
- - 'main/inc/lib/phpmailer/*'
- - 'main/inc/lib/phpseclib/*'
- - 'main/inc/lib/portfolio.class.php'
- 'main/inc/lib/svg-edit/*'
- 'main/inc/lib/swfobject/*'
- 'main/inc/lib/wami-recorder/*'
- 'main/inc/lib/xajax/*'
- 'main/lp/packaging/*'
- 'main/template/*'
- - 'main/img/*'
- 'main/lang/*'
- 'plugin/buycourses/src/Culqi/*'
- 'plugin/buycourses/src/Requests/*'
- 'plugin/buycourses/src/paypalfunctions.php'
- 'plugin/buycourses/src/Requests.php'
- 'plugin/vchamilo/cli/*'
- - 'plugin/kannelsms/vendor/*'
- - 'plugin/clockworksms/vendor/*'
- 'plugin/pens/lib/'
- 'plugin/bbb/lib/bbb_api.php'
- 'plugin/ims_lti/OAuthSimple.php'
diff --git a/plugin/clockworksms/README.md b/plugin/clockworksms/README.md
deleted file mode 100644
index 7c9138b3ac..0000000000
--- a/plugin/clockworksms/README.md
+++ /dev/null
@@ -1,6 +0,0 @@
-Clockworks SMS plugin
-===
-
-This plugin enables Chamilo to send SMS messages to Chamilo users when a notification email is sent.
-
-SMS message types (a new course is created, an account is approved and so on) can be enabled or disabled from it's plugin configuration option.
\ No newline at end of file
diff --git a/plugin/clockworksms/config.php b/plugin/clockworksms/config.php
deleted file mode 100755
index a736ea8c17..0000000000
--- a/plugin/clockworksms/config.php
+++ /dev/null
@@ -1,15 +0,0 @@
-
- */
-require_once __DIR__.'/../../main/inc/global.inc.php';
-
-require_once 'lib/clockworksms.lib.php';
-require_once 'vendor/clockworksms_api.php';
-require_once 'lib/clockworksms_plugin.class.php';
diff --git a/plugin/clockworksms/index.php b/plugin/clockworksms/index.php
deleted file mode 100755
index b3d9bbc7f3..0000000000
--- a/plugin/clockworksms/index.php
+++ /dev/null
@@ -1 +0,0 @@
-
- */
-require_once __DIR__.'/config.php';
-ClockworksmsPlugin::create()->install();
diff --git a/plugin/clockworksms/lang/english.php b/plugin/clockworksms/lang/english.php
deleted file mode 100755
index 3f11465d4c..0000000000
--- a/plugin/clockworksms/lang/english.php
+++ /dev/null
@@ -1,102 +0,0 @@
-Click here to get it.";
-
-$strings['tool_enable'] = "Enable SMS sending";
-$strings['tool_enable_help'] = "Choose if you want to enable SMS sending tool.
- Once enabled, they will be sent along with an email the selected SMS message types to the users who had filled their mobile phone number field in their profile
";
-
-$strings['type'] = "Send SMS when";
-$strings['mobile_phone_number'] = "Mobile Phone (include country dialing code only)";
-
-$strings['MessageWelcomeXLoginXPasswordX'] = "A user is added to the platform";
-$strings['MessageXNewFileSharedCourseXByX'] = "A file is added to dropbox";
-$strings['MessageXAccountApprovedConnectX'] = "An account is approved";
-$strings['MessageXNewCourseXBeenCreatedX'] = "A new course is created";
-$strings['MessageXNewUserXSubscribedCourseX'] = "A user is subscribed to a course";
-$strings['MessageXNewCourseSuggestedTeacherX'] = "A new course is suggested";
-$strings['MessageXCourseOpeningRequestCodeXRegistered'] = "A new course opening request is registered";
-$strings['MessageXCourseOpeningRequestCourseCodeXApproved'] = "A new course opening request is approved";
-$strings['MessageXRequestOpenCourseCodeXReject'] = "A new course opening request is rejected";
-$strings['MessageXCourseOpeningRequestCourseCodeX'] = "Additional information is required for a new course opening request";
-$strings['MessageXBeenSubscribedCourseX'] = "A user is added to the course but not registered to it yet";
-$strings['MessageXAssignmentBeenCreatedCourseX'] = "Homework is created";
-$strings['MessageXAccountCreatedUpdatedLoginXPasswordX'] = "A user account is created or updated";
-$strings['MessageXPasswordUpdatedLoginXPasswordX'] = "A user password is updated";
-$strings['MessageXRequestedPasswordChange'] = "A user requests a password change";
-$strings['MessageXReceivedNewPersonalMessages'] = "New personal messages are received in user's inbox or forum";
-$strings['MessageXNewUserXPendingApproval'] = "A new user registration is pending for approval";
-$strings['MessageXXPostedForumXCourseX'] = "A user posts in forum";
-$strings['MessageXXXCheckEmailConnectMoreInfo'] = "An announcement is sent";
-$strings['MessageXXStudentXAnsweredTestX'] = "A student solves an exercise";
-$strings['MessageXXStudentXAnsweredTestXOpenQuestion'] = "A student solves an open question";
-$strings['MessageXXStudentXAnsweredTestXVoiceQuestion'] = "A student solves a voice question";
-$strings['MessageXXAnswerOpenQuestionTestXReviewed'] = "An open question answer is reviewed";
-$strings['MessageXXNewThreadXStartedForumX'] = "A new thread is started in forum";
-$strings['MessageXXNewAnswerPostedXForumX'] = "A new answer is posted in forum";
-$strings['MessageXXNewSystemAnnouncementAdded'] = "A new system announcement is added and the user does not want to send a test email";
-$strings['MessageXTestXNewSystemAnnouncementAdded'] = "A new system announcement is added and the user wants to send a test email";
-$strings['MessageXXSystemAnnouncementUpdate'] = "A new system announcement is updated and the user does not want to send a test email";
-$strings['MessageXTestXSystemAnnouncementUpdate'] = "A new system announcement is updated and the user wants to send a test email";
-$strings['MessageXUserXUploadedAssignmentXCourseXStudentSubmitsPaper'] = "An assignment is uploaded and there is no current session (this will be sent only to coaches)";
-$strings['MessageXUserXUploadedAssignmentXCheckXStudentSubmitsPaper'] = "An assignment is uploaded (this will be sent only to teachers)";
-$strings['MessageXUserXUploadedAssignmentXCourseX'] = "... and there is no current session (this will be sent only to coaches)";
-$strings['MessageXUserXUploadedAssignmentXCheckX'] = "... (this will be sent only to teachers)";
-$strings['MessageXSubscribedSessionX'] = "A session is created or updated and new users are subscribed";
-$strings['MessageXSubscribedSessionXCSV'] = "New users are subscribed to a session importing a CSV file";
-$strings['MessageXUserXSuggestedBeFriends'] = "A friendship invitation is received";
-$strings['MessageXUserXAnsweredInboxMessage'] = "A message reply is received in inbox";
-$strings['MessageXBeenInvitedJoinGroupX'] = "A group join invitation is received";
-$strings['MessageXMessagesSentEditedGroupXEdited'] = "A group topic message is updated";
-$strings['MessageXMessagesSentEditedGroupXAdded'] = "A group topic message is added";
-$strings['MessageXBeenInvitedCompleteSurveyXCourseX'] = "A new survey is created";
-$strings['MessageXReminderAssignmentXCourseXDue'] = "A reminder is sent to students who have not uploaded their assignment yet";
-$strings['MessageXUserDetailsModified'] = "User details have been updated";
-
-$strings['WelcomeXLoginXPasswordX'] = "Welcome to %s. Here are your user account details: login: %s, password: %s";
-$strings['XNewFileSharedCourseXByX'] = "%s: A new file has been shared with you in course %s by %s";
-$strings['XAccountApprovedConnectX'] = "%s: Your account has been approved by an administrator. You can now connect to %s";
-$strings['XNewCourseXBeenCreatedX'] = "%s: A new course (%s) has been created by %s";
-$strings['XNewUserXSubscribedCourseX'] = "%s: A new user (%s) has just subscribed to your course (%s)";
-$strings['XNewCourseSuggestedTeacherX'] = "%s: A new course has been suggested by teacher (%s). Please connect to the admin page to review it";
-$strings['XCourseOpeningRequestCodeXRegistered'] = "%s: Your course opening request (code %s) has been registered. You will be informed when it is approved";
-$strings['XCourseOpeningRequestCourseCodeXApproved'] = "%s: Your course opening request for course code %s has been approved. Connect to your portal to use it";
-$strings['XRequestOpenCourseCodeXReject'] = "%s: We are sorry to inform you that your request to open course code %s has been rejected";
-$strings['XCourseOpeningRequestCourseCodeX'] = "%s: Your course opening request for course code %s requires more information. Check e-mail for more info";
-$strings['XBeenSubscribedCourseX'] = "%s: You have been subscribed to course %s";
-$strings['XAssignmentBeenCreatedCourseX'] = "%s: A new assignment has been created in course %s. Please connect for more info";
-$strings['XAccountCreatedUpdatedLoginXPasswordX'] = "%s: Your account has been created or updated. You can now login as %s, password: %s";
-$strings['XPasswordUpdatedLoginXPasswordX'] = "%s: Your password has been updated. You can now login as %s, password: %s";
-$strings['XRequestedPasswordChange'] = "%s: You have requested a password change. Please check your e-mail for more information";
-$strings['XReceivedNewPersonalMessages'] = "%s: You have received new personal messages in your inbox or in the forum. Please check your e-mail for more info";
-$strings['XNewUserXPendingApproval'] = "%s: A new user (%s) registration is pending your approval. Please connect to the admin panel to review";
-$strings['XXPostedForumXCourseX'] = "%s: %s just posted on forum %s in course %s";
-$strings['XXXCheckEmailConnectMoreInfo'] = "%s: %s: %s. Check your e-mail or connect for more info";
-$strings['XXStudentXAnsweredTestX'] = "%s: %s: Student %s has just answered test %s";
-$strings['XXStudentXAnsweredTestXOpenQuestion'] = "%s: %s: Student %s answered test %s's open question. Please connect to review";
-$strings['XXStudentXAnsweredTestXVoiceQuestion'] = "%s: %s: Student %s answered test %s's voice question. Please connect to review";
-$strings['XXAnswerOpenQuestionTestXReviewed'] = "%s: %s: Your answer to an open question in test %s has been reviewed";
-$strings['XXNewThreadXStartedForumX'] = "%s: %s: A new thread (%s) has been started in forum %s";
-$strings['XXNewAnswerPostedXForumX'] = "%s: %s: A new answer has been posted to (%s) in forum %s";
-$strings['XXNewSystemAnnouncementAdded'] = "%s: %s";
-$strings['XTestXNewSystemAnnouncementAdded'] = "%s (test): %s";
-$strings['XXSystemAnnouncementUpdate'] = "%s: %s (update)";
-$strings['XTestXSystemAnnouncementUpdate'] = "%s (test): %s";
-$strings['XUserXUploadedAssignmentXCourseXStudentSubmitsPaper'] = "%s: User %s uploaded assignment %s in course %s";
-$strings['XUserXUploadedAssignmentXCheckXStudentSubmitsPaper'] = "%s: User %s uploaded assignment %s. Check %s";
-$strings['XUserXUploadedAssignmentXCourseX'] = "%s: User %s uploaded assignment %s in course %s";
-$strings['XUserXUploadedAssignmentXCheckX'] = "%s: User %s uploaded assignment %s. Check %s";
-$strings['XSubscribedSessionX'] = "%s: You have been subscribed to session %s";
-$strings['XSubscribedSessionXCSV'] = "%s: You have been subscribed to session %s";
-$strings['XUserXSuggestedBeFriends'] = "%s: User %s suggested you should be friends. Check your inbox or e-mail for details";
-$strings['XUserXAnsweredInboxMessage'] = "%s: User %s just answered your Inbox message";
-$strings['XBeenInvitedJoinGroupX'] = "%s: you have been invited to join group %s. Check your Inbox for details";
-$strings['XMessagesSentEditedGroupXEdited'] = "%s: Messages sent or edited in group %s. Check your Inbox for details";
-$strings['XMessagesSentEditedGroupXAdded'] = "%s: Messages sent or edited in group %s. Check your Inbox for details";
-$strings['XBeenInvitedCompleteSurveyXCourseX'] = "%s: You have been invited to complete survey %s in course %s";
-$strings['XReminderAssignmentXCourseXDue'] = "%s: This is a simple reminder that your assignment (%s) in course %s is still due";
-$strings['XUserDetailsModified'] = "%s: Your user details have been modified. Please check your e-mail for more information";
diff --git a/plugin/clockworksms/lang/spanish.php b/plugin/clockworksms/lang/spanish.php
deleted file mode 100755
index 0d21fe3399..0000000000
--- a/plugin/clockworksms/lang/spanish.php
+++ /dev/null
@@ -1,102 +0,0 @@
-haga click aquí";
-
-$strings['tool_enable'] = "Activar envío de SMS";
-$strings['tool_enable_help'] = "Escoja si desea activar la herramienta de envío de mensajes a celulares Clockwork SMS.
- Una vez activada, se enviarán, simultaneamente con los correos, los tipos mensajes SMS seleccionados a los usuarios que hayan especificado un número de celular en su perfil.
";
-
-$strings['sms_types'] = "Enviar un SMS cuando";
-$strings['mobile_phone_number'] = "Celular (incluya sólo el código de llamada del país)";
-
-$strings['MessageWelcomeXLoginXPasswordX'] = "Se añada un usuario a la plataforma";
-$strings['MessageXNewFileSharedCourseXByX'] = "Un archivo se añada a dropbox";
-$strings['MessageXAccountApprovedConnectX'] = "Se apruebe una cuenta de usuario";
-$strings['MessageXNewCourseXBeenCreatedX'] = "Se cree un curso nuevo";
-$strings['MessageXNewUserXSubscribedCourseX'] = "Un usuario se suscriba a un curso";
-$strings['MessageXNewCourseSuggestedTeacherX'] = "Un profesor sugiera un curso nuevo";
-$strings['MessageXCourseOpeningRequestCodeXRegistered'] = "Se registre una solicitud de apertura de curso";
-$strings['MessageXCourseOpeningRequestCourseCodeXApproved'] = "Se apruebe una solicitud de apertura de curso";
-$strings['MessageXRequestOpenCourseCodeXReject'] = "Se rechace una solicitud de apertura de curso";
-$strings['MessageXCourseOpeningRequestCourseCodeX'] = "Se requiera más información de una solicitud de apertura de curso";
-$strings['MessageXBeenSubscribedCourseX'] = "Se le suscriba a un curso a un usuario que aún no está registrado";
-$strings['MessageXAssignmentBeenCreatedCourseX'] = "Se cree una nueva tarea en un curso";
-$strings['MessageXAccountCreatedUpdatedLoginXPasswordX'] = "Se cree o actualice una cuenta de usuario";
-$strings['MessageXPasswordUpdatedLoginXPasswordX'] = "Se actualice la contraseña de un usuario";
-$strings['MessageXRequestedPasswordChange'] = "Un usuario solicite un cambio de contraseña";
-$strings['MessageXReceivedNewPersonalMessages'] = "Se reciban mensajes personales nuevos en la bandeja de entrada o en el foro";
-$strings['MessageXNewUserXPendingApproval'] = "Una inscripción de un nuevo usuario esté pendiente de aprobación";
-$strings['MessageXXPostedForumXCourseX'] = "Un usuario escriba en el foro";
-$strings['MessageXXXCheckEmailConnectMoreInfo'] = "Se envíe una notificación";
-$strings['MessageXXStudentXAnsweredTestX'] = "Un estudiante resuelva un ejercicio de un examen";
-$strings['MessageXXStudentXAnsweredTestXOpenQuestion'] = "Un estudiante conteste a una pregunta abierta de un examen";
-$strings['MessageXXStudentXAnsweredTestXVoiceQuestion'] = "Un estudiante conteste a una pregunta de voz de un examen";
-$strings['MessageXXAnswerOpenQuestionTestXReviewed'] = "Se revise una pregunta abierta de un examen";
-$strings['MessageXXNewThreadXStartedForumX'] = "Se cree un hilo nuevo en el foro";
-$strings['MessageXXNewAnswerPostedXForumX'] = "Se escriba una respuesta nueva en el foro";
-$strings['MessageXXNewSystemAnnouncementAdded'] = "Se añada una notificación y el usuario no desee enviar un examen por correo electrónico";
-$strings['MessageXTestXNewSystemAnnouncementAdded'] = "Se añada una notificación y el usuario desee enviar un examen por correo electrónico";
-$strings['MessageXXSystemAnnouncementUpdate'] = "Se actualice una notificación y el usuario no desee enviar un examen por correo electrónico";
-$strings['MessageXTestXSystemAnnouncementUpdate'] = "Se actualice una notificación y el usuario desee enviar un examen por correo electrónico";
-$strings['MessageXUserXUploadedAssignmentXCourseXStudentSubmitsPaper'] = "Un estudiante suba su tarea y no exista una sesión (se enviará sólo a coordinadores)";
-$strings['MessageXUserXUploadedAssignmentXCheckXStudentSubmitsPaper'] = "Un estudiante suba su tarea (se enviará sólo a profesores)";
-$strings['MessageXUserXUploadedAssignmentXCourseX'] = "... y no exista una sesión (se enviará sólo a coordinadores)";
-$strings['MessageXUserXUploadedAssignmentXCheckX'] = "... (se enviará sólo a profesores)";
-$strings['MessageXSubscribedSessionX'] = "Se cree o edite una sesión nueva y se suscriban a usuarios nuevos";
-$strings['MessageXSubscribedSessionXCSV'] = "Se suscriban a usuarios nuevos desde un archivo CSV";
-$strings['MessageXUserXSuggestedBeFriends'] = "Se reciba una invitación de amistad";
-$strings['MessageXUserXAnsweredInboxMessage'] = "Se reciba la contestación a un mensaje en la bandeja de entrada";
-$strings['MessageXBeenInvitedJoinGroupX'] = "Se reciba una invitación para unirse a un grupo";
-$strings['MessageXMessagesSentEditedGroupXEdited'] = "Se actualice un mensaje en un tema de grupo";
-$strings['MessageXMessagesSentEditedGroupXAdded'] = "Se añada un mensaje en un tema de grupo";
-$strings['MessageXBeenInvitedCompleteSurveyXCourseX'] = "Se cree una encuesta nueva";
-$strings['MessageXReminderAssignmentXCourseXDue'] = "Se envíe un recordatorio a los estudiantes que no hayan enviado su tarea";
-$strings['MessageXUserDetailsModified'] = "Se actualice información de un usuario";
-
-$strings['WelcomeXLoginXPasswordX'] = "Bienvenido a %s. Éstos son sus datos de acceso: usuario: %s, contraseña: %s";
-$strings['XNewFileSharedCourseXByX'] = "%s: Un nuevo archivo ha sido compartido contigo en el curso %s por %s";
-$strings['XAccountApprovedConnectX'] = "%s: Su cuenta ha sido aprobada por un administrador. Ya puede conectarse a %s";
-$strings['XNewCourseXBeenCreatedX'] = "%s: Un nuevo curso (%s) ha sido creado por %s";
-$strings['XNewUserXSubscribedCourseX'] = "%s: Un nuevo usuario (%s) se ha suscrito a su curso (%s)";
-$strings['XNewCourseSuggestedTeacherX'] = "%s: Un nuevo curso ha sido sugerido por el profesor (%s). Por favor, conéctese a la página de administración para revisarlo";
-$strings['XCourseOpeningRequestCodeXRegistered'] = "%s: Su solicitud de apertura de curso (código %s) ha sido registrada. Será informado cuando ésta sea aprobada";
-$strings['XCourseOpeningRequestCourseCodeXApproved'] = "%s: Su solicitud de apertura de curso para el código de curso %s ha sido aprobada. Conéctese a su portal para usarlo";
-$strings['XRequestOpenCourseCodeXReject'] = "%s: Lamentamos informarle que su solicitud de apertura de curso para el código de curso %s ha sido rechazada";
-$strings['XCourseOpeningRequestCourseCodeX'] = "%s: Su solicitud de apertura de curso para el código de curso %s requiere más información. Compruebe su e-mail para más información";
-$strings['XBeenSubscribedCourseX'] = "%s: Ha sido suscrito al curso %s";
-$strings['XAssignmentBeenCreatedCourseX'] = "%s: Una nueva tarea ha sido creada en el curso %s. Por favor, conéctese para más información";
-$strings['XAccountCreatedUpdatedLoginXPasswordX'] = "%s: Su cuenta ha sido creada o actualizada. Ya puede conectarse como %s, contraseña: %s";
-$strings['XPasswordUpdatedLoginXPasswordX'] = "%s: Su contraseña ha sido actualizada. Ya puede conectarse como %s, contraseña: %s";
-$strings['XRequestedPasswordChange'] = "%s: Ha solicitado un cambio de contraseña. Por favor, compruebe su e-mail para más información";
-$strings['XReceivedNewPersonalMessages'] = "%s: Ha recibido mensajes personales nuevos en su bandeja de entrada o en el foro. Por favor, compruebe su e-mail para más información";
-$strings['XNewUserXPendingApproval'] = "%s: Una inscripción de un nuevo usuario (%s) está pendiente de su aprobación. Por favor, conéctese al panel de administración para revisarla";
-$strings['XXPostedForumXCourseX'] = "%s: %s acaba de escribir en el foro %s del curso %s";
-$strings['XXXCheckEmailConnectMoreInfo'] = "%s: %s: %s. Compruebe su e-mail o conéctese para más información";
-$strings['XXStudentXAnsweredTestX'] = "%s: %s: El estudiante %s acaba de contestar al test %s";
-$strings['XXStudentXAnsweredTestXOpenQuestion'] = "%s: %s: El estudiante %s contestó a la pregunta abierta del test %s. Por favor, conéctese para revisarla";
-$strings['XXStudentXAnsweredTestXVoiceQuestion'] = "%s: %s: El estudiante %s contestó a la pregunta de voz del test %s. Por favor, conéctese para revisarla";
-$strings['XXAnswerOpenQuestionTestXReviewed'] = "%s: %s: Su respuesta a la pregunta abierta en el test %s ha sido revisada.";
-$strings['XXNewThreadXStartedForumX'] = "%s: %s: Se ha comenzado un nuevo hilo (%s) en el foro %s";
-$strings['XXNewAnswerPostedXForumX'] = "%s: %s: Se ha escrito una nueva respuesta a (%s) en el foro %s";
-$strings['XXNewSystemAnnouncementAdded'] = "%s: %s";
-$strings['XTestXNewSystemAnnouncementAdded'] = "%s (prueba): %s";
-$strings['XXSystemAnnouncementUpdate'] = "%s: %s (actualización)";
-$strings['XTestXSystemAnnouncementUpdate'] = "%s (prueba): %s";
-$strings['XUserXUploadedAssignmentXCourseXStudentSubmitsPaper'] = "%s: El usuario %s subió la tarea %s al curso %s";
-$strings['XUserXUploadedAssignmentXCheckXStudentSubmitsPaper'] = "%s: El usuario %s subió la tarea %s. Compruébelo en %s";
-$strings['XUserXUploadedAssignmentXCourseX'] = "%s: El usuario %s subió la tarea %s al curso %s";
-$strings['XUserXUploadedAssignmentXCheckX'] = "%s: El usuario %s subió la tarea %s. Compruébelo en %s";
-$strings['XSubscribedSessionX'] = "%s: Ha sido suscrito a la sesión %s";
-$strings['XSubscribedSessionXCSV'] = "%s: Ha sido suscrito a la sesión %s";
-$strings['XUserXSuggestedBeFriends'] = "%s: El usuario %s le sugirió que podrían ser amigos. Compruebe su bandeja de entrada o su e-mail para más detalles";
-$strings['XUserXAnsweredInboxMessage'] = "%s: El usuario acaba de contestar a su mensaje de la bandeja de entrada";
-$strings['XBeenInvitedJoinGroupX'] = "%s: Ha sido invitado a unirse al grupo %s. Compruebe su bandeja de entrada para más detalles";
-$strings['XMessagesSentEditedGroupXEdited'] = "%s: Hay mensajes enviados o editados en el grupo %s. Compruebe su bandeja de entrada para más detalles";
-$strings['XMessagesSentEditedGroupXAdded'] = "%s: Hay mensajes enviados o editados en el grupo %s. Compruebe su bandeja de entrada para más detalles";
-$strings['XBeenInvitedCompleteSurveyXCourseX'] = "%s: Ha sido invitado a completar la encuesta %s del curso %s";
-$strings['XReminderAssignmentXCourseXDue'] = "%s: Se le recuerda que su tarea (%s) del curso %s aún está pendiente";
-$strings['XUserDetailsModified'] = "%s: Su información de usuario ha sido modificada. Compruebe su e-mail para más información";
diff --git a/plugin/clockworksms/lib/clockworksms.lib.php b/plugin/clockworksms/lib/clockworksms.lib.php
deleted file mode 100755
index fb82367aec..0000000000
--- a/plugin/clockworksms/lib/clockworksms.lib.php
+++ /dev/null
@@ -1,676 +0,0 @@
-
- *
- * Clockworksms-Chamilo connector class
- */
-class Clockworksms implements SmsPluginLibraryInterface
-{
- public $apiKey;
- public $api;
- public $plugin_enabled = false;
-
- /**
- * Constructor (generates a connection to the API).
- *
- * @param string Clockworksms API key required to use the plugin
- */
- public function __construct($apiKey = null)
- {
- $plugin = ClockworksmsPlugin::create();
- $clockWorkSMSPlugin = $plugin->get('tool_enable');
- if (empty($apiKey)) {
- $clockWorkSMSApiKey = $plugin->get('api_key');
- } else {
- $clockWorkSMSApiKey = $apiKey;
- }
- $this->table = Database::get_main_table('user_field_values');
- if ($clockWorkSMSPlugin == true) {
- $this->apiKey = $clockWorkSMSApiKey;
- // Setting Clockworksms api
- if (!defined('CONFIG_SECURITY_API_KEY')) {
- define('CONFIG_SECURITY_API_KEY', $this->apiKey);
- }
- $trimmedApiKey = trim(CONFIG_SECURITY_API_KEY);
- if (!empty($trimmedApiKey)) {
- $this->api = new Clockwork(CONFIG_SECURITY_API_KEY);
- } else {
- $this->api = new Clockwork(' ');
- $recipient_name = api_get_person_name(
- api_get_setting('administratorName'),
- api_get_setting('administratorSurname'),
- null,
- PERSON_NAME_EMAIL_ADDRESS
- );
- $email_form = api_get_setting('emailAdministrator');
- $emailsubject = 'Clockworksms error';
- $emailbody = 'Key cannot be blank';
- $sender_name = $recipient_name;
- $email_admin = $email_form;
- api_mail_html(
- $recipient_name,
- $email_form,
- $emailsubject,
- $emailbody,
- $sender_name,
- $email_admin
- );
- }
- $this->plugin_enabled = true;
- }
- }
-
- /**
- * {@inheritdoc}
- */
- public function getMobilePhoneNumberById($userId)
- {
- $mobilePhoneNumberExtraField = new ExtraField('user');
- $mobilePhoneNumberExtraField = $mobilePhoneNumberExtraField->get_handler_field_info_by_field_variable(
- 'mobile_phone_number'
- );
-
- $mobilePhoneNumberExtraFieldValue = new ExtraFieldValue('user');
- $mobilePhoneNumberExtraFieldValue = $mobilePhoneNumberExtraFieldValue->get_values_by_handler_and_field_id(
- $userId,
- $mobilePhoneNumberExtraField['id']
- );
-
- return $mobilePhoneNumberExtraFieldValue['value'];
- }
-
- /**
- * send (sends an SMS to the user).
- *
- * @param array Data needed to send the SMS. It is mandatory to include the
- * 'smsType' and 'userId' (or 'mobilePhoneNumber') fields at least.
- * More data may be neccesary depending on the message type
- * Example: $additional_parameters = array(
- * 'smsType' => EXAMPLE_SMS_TYPE,
- * 'userId' => $userId,
- * 'moreData' => $moreData
- * );
- */
- public function send($additionalParameters)
- {
- $trimmedKey = trim(CONFIG_SECURITY_API_KEY);
- if (!empty($trimmedKey)) {
- $phoneExists = array_key_exists('mobilePhoneNumber', $additionalParameters);
- $to = $phoneExists ? $additionalParameters['mobilePhoneNumber'] : $this->getMobilePhoneNumberById($additionalParameters['userId']);
-
- $message = [
- 'to' => $to,
- 'message' => $this->getSms($additionalParameters),
- ];
-
- if (!empty($message['message'])) {
- $this->api->send($message);
- }
- }
- }
-
- /**
- * buildSms (builds an SMS from a template and data).
- *
- * @param ClockworksmsPlugin $plugin
- * @param Template $tpl
- * @param string Template file name
- * @param string $messageKey Text key from lang file
- * @param array $parameters Data to fill message variables (if any)
- *
- * @return string
- */
- public function buildSms(
- $plugin,
- $tpl,
- $templateName,
- $messageKey,
- $parameters = []
- ) {
- // Send direct message with out using plugin get_lang
- if (isset($parameters['direct_message'])) {
- return $parameters['direct_message'];
- }
-
- $message = $plugin->get_lang($messageKey);
- if ($parameters !== null) {
- $message = vsprintf($message, $parameters);
- }
-
- return $message;
- }
-
- /**
- * getSms (returns an SMS message depending of its type).
- *
- * @param array Data needed to send the SMS. It is mandatory to include the
- * 'smsType' and 'userId' (or 'mobilePhoneNumber') fields at least.
- * More data may be neccesary depending on the message type
- * Example: $additional_parameters = array(
- * 'smsType' => EXAMPLE_SMS_TYPE,
- * 'userId' => $userId,
- * 'moreData' => $moreData
- * );
- *
- * @return string A ready to be sent SMS
- */
- public function getSms($additionalParameters)
- {
- $plugin = ClockworksmsPlugin::create();
- $tool_name = $plugin->get_lang('plugin_title');
- $tpl = new Template($tool_name);
-
- switch ($additionalParameters['smsType']) {
- case SmsPlugin::WELCOME_LOGIN_PASSWORD:
- $userInfo = api_get_user_info($additionalParameters['userId']);
-
- return $this->buildSms(
- $plugin,
- $tpl,
- 'welcome_login_password.tpl',
- 'WelcomeXLoginXPasswordX',
- [
- api_get_setting('siteName'),
- $userInfo['username'],
- $additionalParameters['password'],
- ]
- );
- break;
- case SmsPlugin::NEW_FILE_SHARED_COURSE_BY:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'new_file_shared_course_by.tpl',
- 'XNewFileSharedCourseXByX',
- [
- api_get_setting('siteName'),
- $additionalParameters['courseTitle'],
- $additionalParameters['userUsername'],
- ]
- );
- break;
- case SmsPlugin::ACCOUNT_APPROVED_CONNECT:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'account_approved_connect.tpl',
- 'XAccountApprovedConnectX',
- [
- api_get_setting('siteName'),
- $tpl->params['_p']['web'],
- ]
- );
- break;
- case SmsPlugin::NEW_COURSE_BEEN_CREATED:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'new_course_been_created.tpl',
- 'XNewCourseXBeenCreatedX',
- [
- api_get_setting('siteName'),
- $additionalParameters['courseName'],
- $additionalParameters['creatorUsername'],
- ]
- );
- break;
- case SmsPlugin::NEW_USER_SUBSCRIBED_COURSE:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'new_user_subscribed_course.tpl',
- 'XNewUserXSubscribedCourseX',
- [
- api_get_setting('siteName'),
- $additionalParameters['userUsername'],
- $additionalParameters['courseCode'],
- ]
- );
- break;
- case SmsPlugin::NEW_COURSE_SUGGESTED_TEACHER:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'new_course_suggested_teacher.tpl',
- 'XNewCourseSuggestedTeacherX',
- [
- api_get_setting('siteName'),
- $additionalParameters['userUsername'],
- ]
- );
- break;
- case SmsPlugin::COURSE_OPENING_REQUEST_CODE_REGISTERED:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'course_opening_request_code_registered.tpl',
- 'XCourseOpeningRequestCodeXRegistered',
- [
- api_get_setting('siteName'),
- $additionalParameters['courseCode'],
- ]
- );
- break;
- case SmsPlugin::COURSE_OPENING_REQUEST_CODE_APPROVED:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'course_opening_request_course_code_approved.tpl',
- 'XCourseOpeningRequestCourseCodeXApproved',
- [
- api_get_setting('siteName'),
- $additionalParameters['courseCode'],
- ]
- );
- break;
- case SmsPlugin::COURSE_OPENING_REQUEST_CODE_REJECTED:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'request_open_course_code_rejected.tpl',
- 'XRequestOpenCourseCodeXReject',
- [
- api_get_setting('siteName'),
- $additionalParameters['courseCode'],
- ]
- );
- break;
- case SmsPlugin::COURSE_OPENING_REQUEST_CODE:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'course_opening_request_course_code.tpl',
- 'XCourseOpeningRequestCourseCodeX',
- [
- api_get_setting('siteName'),
- $additionalParameters['courseCode'],
- ]
- );
- break;
- case SmsPlugin::BEEN_SUBSCRIBED_COURSE:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'been_subscribed_course.tpl',
- 'XBeenSubscribedCourseX',
- [
- api_get_setting('siteName'),
- $additionalParameters['courseTitle'],
- ]
- );
- break;
- case SmsPlugin::ASSIGNMENT_BEEN_CREATED_COURSE:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'assignment_been_created_course.tpl',
- 'XAssignmentBeenCreatedCourseX',
- [
- api_get_setting('siteName'),
- $additionalParameters['courseTitle'],
- ]
- );
- break;
- case SmsPlugin::CERTIFICATE_NOTIFICATION:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'certificate_notification.tpl',
- '',
- $additionalParameters
- );
- break;
- // Message types to be implemented. Fill the array parameter with arguments.
- /*case SmsPlugin::ACCOUNT_CREATED_UPDATED_LOGIN_PASSWORD:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'account_created_updated_login_password.tpl',
- 'XAccountCreatedUpdatedLoginXPasswordX',
- array(
- api_get_setting('siteName')
- )
- );
- break;*/
- /*case SmsPlugin::PASSWORD_UPDATED_LOGIN_PASSWORD:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'password_updated_login_password.tpl',
- 'XPasswordUpdatedLoginXPasswordX',
- array(
- api_get_setting('siteName')
- )
- );
- break;*/
- /*case SmsPlugin::REQUESTED_PASSWORD_CHANGE:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'requested_password_change.tpl',
- 'XPasswordUpdatedLoginXPasswordX',
- array(
- api_get_setting('siteName')
- )
- );
- break;*/
- /*case SmsPlugin::RECEIVED_NEW_PERSONAL_MESSAGES:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'received_new_personal_messages.tpl',
- 'XReceivedNewPersonalMessages',
- array(
- api_get_setting('siteName')
- )
- );
- break;*/
- /*case SmsPlugin::NEW_USER_PENDING_APPROVAL:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'new_user_pending_approval.tpl',
- 'XNewUserXPendingApproval',
- array(
- api_get_setting('siteName')
- )
- );
- break;*/
- /*case SmsPlugin::POSTED_FORUM_COURSE:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'posted_forum_course.tpl',
- 'XXPostedForumXCourseX',
- array(
- api_get_setting('siteName')
- )
- );
- break;*/
- /*case SmsPlugin::CHECK_EMAIL_CONNECT_MORE_INFO:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'check_email_connect_more_info.tpl',
- 'XXXCheckEmailConnectMoreInfo',
- array(
- api_get_setting('siteName')
- )
- );
- break;*/
- /*case SmsPlugin::STUDENT_ANSWERED_TEST:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'student_answered_test.tpl',
- 'XXStudentXAnsweredTestX',
- array(
- api_get_setting('siteName')
- )
- );
- break;*/
- /*case SmsPlugin::STUDENT_ANSWERED_TEST_OPEN_QUESTION:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'student_answered_test_open_question.tpl',
- 'XXStudentXAnsweredTestXOpenQuestion',
- array(
- api_get_setting('siteName')
- )
- );
- break;*/
- /*case SmsPlugin::STUDENT_ANSWERED_TEST_VOICE_QUESTION:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'student_answered_test_voice_question.tpl',
- 'XXStudentXAnsweredTestXVoiceQuestion',
- array(
- api_get_setting('siteName')
- )
- );
- break;*/
- /*case SmsPlugin::ANSWER_OPEN_QUESTION_TEST_REVIEWED:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'answer_open_question_test_reviewed.tpl',
- 'XXAnswerOpenQuestionTestXReviewed',
- array(
- api_get_setting('siteName')
- )
- );
- break;*/
- /*case SmsPlugin::NEW_THREAD_STARTED_FORUM:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'new_thread_started_forum.tpl',
- 'XXNewThreadXStartedForumX',
- array(
- api_get_setting('siteName')
- )
- );
- break;*/
- /*case SmsPlugin::NEW_ANSWER_POSTED_FORUM:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'new_answer_posted_forum.tpl',
- 'XXNewAnswerPostedXForumX',
- array(
- api_get_setting('siteName')
- )
- );
- break;*/
- /*case SmsPlugin::NEW_SYSTEM_ANNOUNCEMENT_ADDED:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'new_system_announcement_added.tpl',
- 'XXNewSystemAnnouncementAdded',
- array(
- api_get_setting('siteName')
- )
- );
- break;*/
- /*case SmsPlugin::TEST_NEW_SYSTEM_ANNOUNCEMENT_ADDED:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'test_new_system_announcement_added.tpl',
- 'XTestXNewSystemAnnouncementAdded',
- array(
- api_get_setting('siteName')
- )
- );
- break;*/
- /*case SmsPlugin::SYSTEM_ANNOUNCEMENT_UPDATE:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'system_announcement_update.tpl',
- 'XXSystemAnnouncementUpdate',
- array(
- api_get_setting('siteName')
- )
- );
- break;*/
- /*case SmsPlugin::TEST_SYSTEM_ANNOUNCEMENT_UPDATE:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'test_system_announcement_update.tpl',
- 'XXSystemAnnouncementUpdate',
- array(
- api_get_setting('siteName')
- )
- );
- break;*/
- /*case SmsPlugin::USER_UPLOADED_ASSIGNMENT_COURSE_STUDENT_SUBMITS_PAPER:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'user_uploaded_assignment_course_student_submits_paper.tpl',
- 'XUserXUploadedAssignmentXCourseXStudentSubmitsPaper',
- array(
- api_get_setting('siteName')
- )
- );
- break;*/
- /*case SmsPlugin::USER_UPLOADED_ASSIGNMENT_CHECK_STUDENT_SUBMITS_PAPER:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'user_uploaded_assignment_check_student_submits_paper.tpl',
- 'XUserXUploadedAssignmentXCheckXStudentSubmitsPaper',
- array(
- api_get_setting('siteName')
- )
- );
- break;*/
- /*case SmsPlugin::USER_UPLOADED_ASSIGNMENT_COURSE:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'user_uploaded_assignment_course.tpl',
- 'XUserXUploadedAssignmentXCourseX',
- array(
- api_get_setting('siteName')
- )
- );
- break;*/
- /*case SmsPlugin::USER_UPLOADED_ASSIGNMENT_CHECK:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'user_uploaded_assignment_check.tpl',
- 'XUserXUploadedAssignmentXCheckX',
- array(
- api_get_setting('siteName')
- )
- );
- break;*/
- /*case SmsPlugin::SUBSCRIBED_SESSION:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'subscribed_session.tpl',
- 'XSubscribedSessionX',
- array(
- api_get_setting('siteName')
- )
- );
- break;*/
- /*case SmsPlugin::SUBSCRIBED_SESSION_CSV:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'subscribed_session_csv.tpl',
- 'XSubscribedSessionXCSV',
- array(
- api_get_setting('siteName')
- )
- );
- break;*/
- /*case SmsPlugin::USER_SUGGESTED_BE_FRIENDS:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'user_suggested_be_friends.tpl',
- 'XUserXSuggestedBeFriends',
- array(
- api_get_setting('siteName')
- )
- );
- break;*/
- /*case SmsPlugin::USER_ANSWERED_INBOX_MESSAGE:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'user_answered_inbox_message.tpl',
- 'XUserXAnsweredInboxMessage',
- array(
- api_get_setting('siteName')
- )
- );
- break;*/
- /*case SmsPlugin::BEEN_INVITED_JOIN_GROUP:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'been_invited_join_group.tpl',
- 'XBeenInvitedJoinGroupX',
- array(
- api_get_setting('siteName')
- )
- );
- break;*/
- /*case SmsPlugin::MESSAGES_SENT_EDITED_GROUP_EDITED:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'messages_sent_edited_group_edited.tpl',
- 'XMessagesSentEditedGroupXEdited',
- array(
- api_get_setting('siteName')
- )
- );
- break;*/
- /*case SmsPlugin::MESSAGES_SENT_EDITED_GROUP_ADDED:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'messages_sent_edited_group_added.tpl',
- 'XMessagesSentEditedGroupXAdded',
- array(
- api_get_setting('siteName')
- )
- );
- break;*/
- /*case SmsPlugin::BEEN_INVITED_COMPLETE_SURVEY_COURSE:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'been_invited_complete_survey_course.tpl',
- 'XBeenInvitedCompleteSurveyXCourseX',
- array(
- api_get_setting('siteName')
- )
- );
- break;*/
- /*case SmsPlugin::REMINDER_ASSIGNMENT_COURSE_DUE:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'reminder_assignment_course_due.tpl',
- 'XReminderAssignmentXCourseXDue',
- array(
- api_get_setting('siteName')
- )
- );
- break;*/
- /*case SmsPlugin::USER_DETAILS_MODIFIED:
- return $this->buildSms(
- $plugin,
- $tpl,
- 'user_details_modified.tpl',
- 'XUserDetailsModified',
- array(
- api_get_setting('siteName')
- )
- );
- break;*/
- default:
- return '';
- }
- }
-}
diff --git a/plugin/clockworksms/lib/clockworksms_plugin.class.php b/plugin/clockworksms/lib/clockworksms_plugin.class.php
deleted file mode 100755
index 257860ae92..0000000000
--- a/plugin/clockworksms/lib/clockworksms_plugin.class.php
+++ /dev/null
@@ -1,50 +0,0 @@
-
- * @author Julio Montoya - Refactor code
- */
-class ClockworksmsPlugin extends SmsPlugin
-{
- /**
- * Constructor.
- */
- public function __construct()
- {
- $fields = ['tool_enable' => 'boolean', 'api_key' => 'text'];
- $smsTypeOptions = $this->getSmsTypeOptions();
- foreach ($smsTypeOptions as $smsTypeOption) {
- $fields[$smsTypeOption] = 'checkbox';
- }
- parent::__construct('0.1', 'Imanol Losada', $fields);
- }
-
- /**
- * create (a singleton function that ensures ClockworksmsPlugin instance is
- * created only once. If it is already created, it returns the instance).
- *
- * @return object ClockworksmsPlugin instance
- */
- public static function create()
- {
- static $result = null;
-
- return $result ? $result : $result = new self();
- }
-
- /**
- * install (uninstalls the plugin and removes all plugin's tables and/or rows).
- */
- public function uninstall()
- {
- $tSettings = Database::get_main_table(TABLE_MAIN_SETTINGS_CURRENT);
- $sql = "DELETE FROM $tSettings WHERE subkey = 'clockworksms'";
- Database::query($sql);
- }
-}
diff --git a/plugin/clockworksms/license.txt b/plugin/clockworksms/license.txt
deleted file mode 100644
index b70d65ea23..0000000000
--- a/plugin/clockworksms/license.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-This plugin, as the rest of Chamilo, is released under the GNU/GPLv3 license.
-
-The Clockworks library included is provided under the ICS license, compatible
-with GNU/GPLv3. See https://github.com/mediaburst/clockwork-php/issues/3 for
-details.
\ No newline at end of file
diff --git a/plugin/clockworksms/plugin.php b/plugin/clockworksms/plugin.php
deleted file mode 100755
index bdc6f9fa4a..0000000000
--- a/plugin/clockworksms/plugin.php
+++ /dev/null
@@ -1,11 +0,0 @@
-
- */
-require_once __DIR__.'/config.php';
-
-$plugin_info = ClockworksmsPlugin::create()->get_info();
diff --git a/plugin/clockworksms/sms_templates/account_approved_connect.tpl b/plugin/clockworksms/sms_templates/account_approved_connect.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/account_approved_connect.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/account_created_updated_login_password.tpl b/plugin/clockworksms/sms_templates/account_created_updated_login_password.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/account_created_updated_login_password.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/answer_open_question_test_reviewed.tpl b/plugin/clockworksms/sms_templates/answer_open_question_test_reviewed.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/answer_open_question_test_reviewed.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/assignment_been_created_course.tpl b/plugin/clockworksms/sms_templates/assignment_been_created_course.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/assignment_been_created_course.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/been_invited_complete_survey_course.tpl b/plugin/clockworksms/sms_templates/been_invited_complete_survey_course.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/been_invited_complete_survey_course.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/been_invited_join_group.tpl b/plugin/clockworksms/sms_templates/been_invited_join_group.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/been_invited_join_group.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/been_subscribed_course.tpl b/plugin/clockworksms/sms_templates/been_subscribed_course.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/been_subscribed_course.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/certificate_notification.tpl b/plugin/clockworksms/sms_templates/certificate_notification.tpl
deleted file mode 100644
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/certificate_notification.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/check_email_connect_more_info.tpl b/plugin/clockworksms/sms_templates/check_email_connect_more_info.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/check_email_connect_more_info.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/course_opening_request_code_registered.tpl b/plugin/clockworksms/sms_templates/course_opening_request_code_registered.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/course_opening_request_code_registered.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/course_opening_request_course_code.tpl b/plugin/clockworksms/sms_templates/course_opening_request_course_code.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/course_opening_request_course_code.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/course_opening_request_course_code_approved.tpl b/plugin/clockworksms/sms_templates/course_opening_request_course_code_approved.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/course_opening_request_course_code_approved.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/messages_sent_edited_group_added.tpl b/plugin/clockworksms/sms_templates/messages_sent_edited_group_added.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/messages_sent_edited_group_added.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/messages_sent_edited_group_edited.tpl b/plugin/clockworksms/sms_templates/messages_sent_edited_group_edited.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/messages_sent_edited_group_edited.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/new_answer_posted_forum.tpl b/plugin/clockworksms/sms_templates/new_answer_posted_forum.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/new_answer_posted_forum.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/new_course_been_created.tpl b/plugin/clockworksms/sms_templates/new_course_been_created.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/new_course_been_created.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/new_course_suggested_teacher.tpl b/plugin/clockworksms/sms_templates/new_course_suggested_teacher.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/new_course_suggested_teacher.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/new_file_shared_course_by.tpl b/plugin/clockworksms/sms_templates/new_file_shared_course_by.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/new_file_shared_course_by.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/new_system_announcement_added.tpl b/plugin/clockworksms/sms_templates/new_system_announcement_added.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/new_system_announcement_added.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/new_thread_started_forum.tpl b/plugin/clockworksms/sms_templates/new_thread_started_forum.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/new_thread_started_forum.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/new_user_pending_approval.tpl b/plugin/clockworksms/sms_templates/new_user_pending_approval.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/new_user_pending_approval.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/new_user_subscribed_course.tpl b/plugin/clockworksms/sms_templates/new_user_subscribed_course.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/new_user_subscribed_course.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/password_updated_login_password.tpl b/plugin/clockworksms/sms_templates/password_updated_login_password.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/password_updated_login_password.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/posted_forum_course.tpl b/plugin/clockworksms/sms_templates/posted_forum_course.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/posted_forum_course.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/received_new_personal_messages.tpl b/plugin/clockworksms/sms_templates/received_new_personal_messages.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/received_new_personal_messages.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/reminder_assignment_course_due.tpl b/plugin/clockworksms/sms_templates/reminder_assignment_course_due.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/reminder_assignment_course_due.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/request_open_course_code_rejected.tpl b/plugin/clockworksms/sms_templates/request_open_course_code_rejected.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/request_open_course_code_rejected.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/requested_password_change.tpl b/plugin/clockworksms/sms_templates/requested_password_change.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/requested_password_change.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/student_answered_test.tpl b/plugin/clockworksms/sms_templates/student_answered_test.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/student_answered_test.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/student_answered_test_open_question.tpl b/plugin/clockworksms/sms_templates/student_answered_test_open_question.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/student_answered_test_open_question.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/student_answered_test_voice_question.tpl b/plugin/clockworksms/sms_templates/student_answered_test_voice_question.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/student_answered_test_voice_question.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/subscribed_session.tpl b/plugin/clockworksms/sms_templates/subscribed_session.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/subscribed_session.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/subscribed_session_csv.tpl b/plugin/clockworksms/sms_templates/subscribed_session_csv.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/subscribed_session_csv.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/system_announcement_update.tpl b/plugin/clockworksms/sms_templates/system_announcement_update.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/system_announcement_update.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/test_new_system_announcement_added.tpl b/plugin/clockworksms/sms_templates/test_new_system_announcement_added.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/test_new_system_announcement_added.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/test_system_announcement_update.tpl b/plugin/clockworksms/sms_templates/test_system_announcement_update.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/test_system_announcement_update.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/user_answered_inbox_message.tpl b/plugin/clockworksms/sms_templates/user_answered_inbox_message.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/user_answered_inbox_message.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/user_details_modified.tpl b/plugin/clockworksms/sms_templates/user_details_modified.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/user_details_modified.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/user_suggested_be_friends.tpl b/plugin/clockworksms/sms_templates/user_suggested_be_friends.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/user_suggested_be_friends.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/user_uploaded_assignment_check.tpl b/plugin/clockworksms/sms_templates/user_uploaded_assignment_check.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/user_uploaded_assignment_check.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/user_uploaded_assignment_check_student_submits_paper.tpl b/plugin/clockworksms/sms_templates/user_uploaded_assignment_check_student_submits_paper.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/user_uploaded_assignment_check_student_submits_paper.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/user_uploaded_assignment_course.tpl b/plugin/clockworksms/sms_templates/user_uploaded_assignment_course.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/user_uploaded_assignment_course.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/user_uploaded_assignment_course_student_submits_paper.tpl b/plugin/clockworksms/sms_templates/user_uploaded_assignment_course_student_submits_paper.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/user_uploaded_assignment_course_student_submits_paper.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/sms_templates/welcome_login_password.tpl b/plugin/clockworksms/sms_templates/welcome_login_password.tpl
deleted file mode 100755
index 414c17f26b..0000000000
--- a/plugin/clockworksms/sms_templates/welcome_login_password.tpl
+++ /dev/null
@@ -1 +0,0 @@
-{{ message }}
diff --git a/plugin/clockworksms/uninstall.php b/plugin/clockworksms/uninstall.php
deleted file mode 100755
index 34e9e6f8d0..0000000000
--- a/plugin/clockworksms/uninstall.php
+++ /dev/null
@@ -1,14 +0,0 @@
-
- */
-require_once __DIR__.'/config.php';
-ClockworksmsPlugin::create()->uninstall();
diff --git a/plugin/clockworksms/vendor/changelog.md b/plugin/clockworksms/vendor/changelog.md
deleted file mode 100644
index bf6023876f..0000000000
--- a/plugin/clockworksms/vendor/changelog.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# Changelog
-
-## 1.0 (July 19th, 2012)
-
-* Initial release. [JI/MS]
-
-### 1.1 (August 21st, 2012)
-
-* Added /get_key functionality to translate a legacy Mediaburst username and password into a new Clockwork API key. [JI]
-* Deprecated `checkCredit()` and replaced with `checkBalance()` [JI]
-
-### 1.2 (September 7th, 2012)
-
-* Added various new Wordpress classes, including the Clockwork_Plugin class for writing plugins based on Clockwork. [JI]
-
-### 1.3 (September 18th, 2012)
-
-* Added `is_valid_msisdn()` method. [JI]
-
-#### 1.3.1 (November 13th, 2012)
-
-* Updated `is_valid_msisdn()` method to handle 9-digit phone numbers, e.g. Norway. [JI]
\ No newline at end of file
diff --git a/plugin/clockworksms/vendor/clockworksms_api.php b/plugin/clockworksms/vendor/clockworksms_api.php
deleted file mode 100755
index 2c36624214..0000000000
--- a/plugin/clockworksms/vendor/clockworksms_api.php
+++ /dev/null
@@ -1,643 +0,0 @@
-key = $key;
- }
-
- $this->ssl = (array_key_exists('ssl', $options)) ? $options['ssl'] : null;
- $this->proxy_host = (array_key_exists('proxy_host', $options)) ? $options['proxy_host'] : null;
- $this->proxy_port = (array_key_exists('proxy_port', $options)) ? $options['proxy_port'] : null;
- $this->from = (array_key_exists('from', $options)) ? $options['from'] : null;
- $this->long = (array_key_exists('long', $options)) ? $options['long'] : null;
- $this->truncate = (array_key_exists('truncate', $options)) ? $options['truncate'] : null;
- $this->invalid_char_action = (array_key_exists('invalid_char_action', $options)) ? $options['invalid_char_action'] : null;
- $this->log = (array_key_exists('log', $options)) ? $options['log'] : false;
- }
-
- /**
- * Send some text messages
- *
- *
- * @author Martin Steel
- */
- public function send(array $sms) {
- if (!is_array($sms)) {
- throw new ClockworkException("sms parameter must be an array");
- }
- $single_message = $this->is_assoc($sms);
-
- if ($single_message) {
- $sms = array($sms);
- }
-
- $req_doc = new DOMDocument('1.0', 'UTF-8');
- $root = $req_doc->createElement('Message');
- $req_doc->appendChild($root);
-
- $user_node = $req_doc->createElement('Key');
- $user_node->appendChild($req_doc->createTextNode($this->key));
- $root->appendChild($user_node);
-
- for ($i = 0; $i < count($sms); $i++) {
- $single = $sms[$i];
-
- $sms_node = $req_doc->createElement('SMS');
-
- // Phone number
- $sms_node->appendChild($req_doc->createElement('To', $single['to']));
-
- // Message text
- $content_node = $req_doc->createElement('Content');
- $content_node->appendChild($req_doc->createTextNode($single['message']));
- $sms_node->appendChild($content_node);
-
- // From
- if (array_key_exists('from', $single) || isset($this->from)) {
- $from_node = $req_doc->createElement('From');
- $from_node->appendChild($req_doc->createTextNode(array_key_exists('from', $single) ? $single['from'] : $this->from));
- $sms_node->appendChild($from_node);
- }
-
- // Client ID
- if (array_key_exists('client_id', $single)) {
- $client_id_node = $req_doc->createElement('ClientID');
- $client_id_node->appendChild($req_doc->createTextNode($single['client_id']));
- $sms_node->appendChild($client_id_node);
- }
-
- // Long
- if (array_key_exists('long', $single) || isset($this->long)) {
- $long = array_key_exists('long', $single) ? $single['long'] : $this->long;
- $long_node = $req_doc->createElement('Long');
- $long_node->appendChild($req_doc->createTextNode($long ? 1 : 0));
- $sms_node->appendChild($long_node);
- }
-
- // Truncate
- if (array_key_exists('truncate', $single) || isset($this->truncate)) {
- $truncate = array_key_exists('truncate', $single) ? $single['truncate'] : $this->truncate;
- $trunc_node = $req_doc->createElement('Truncate');
- $trunc_node->appendChild($req_doc->createTextNode($truncate ? 1 : 0));
- $sms_node->appendChild($trunc_node);
- }
-
- // Invalid Char Action
- if (array_key_exists('invalid_char_action', $single) || isset($this->invalid_char_action)) {
- $action = array_key_exists('invalid_char_action', $single) ? $single['invalid_char_action'] : $this->invalid_char_action;
- switch (strtolower($action)) {
- case 'error':
- $sms_node->appendChild($req_doc->createElement('InvalidCharAction', 1));
- break;
- case 'remove':
- $sms_node->appendChild($req_doc->createElement('InvalidCharAction', 2));
- break;
- case 'replace':
- $sms_node->appendChild($req_doc->createElement('InvalidCharAction', 3));
- break;
- default:
- break;
- }
- }
-
- // Wrapper ID
- $sms_node->appendChild($req_doc->createElement('WrapperID', $i));
-
- $root->appendChild($sms_node);
- }
-
- $req_xml = $req_doc->saveXML();
-
- $resp_xml = $this->postToClockwork(self::API_SMS_METHOD, $req_xml);
- $resp_doc = new DOMDocument();
- $resp_doc->loadXML($resp_xml);
-
- $response = array();
- $err_no = null;
- $err_desc = null;
-
- foreach($resp_doc->documentElement->childNodes AS $doc_child) {
- switch(strtolower($doc_child->nodeName)) {
- case 'sms_resp':
- $resp = array();
- $wrapper_id = null;
- foreach($doc_child->childNodes AS $resp_node) {
- switch(strtolower($resp_node->nodeName)) {
- case 'messageid':
- $resp['id'] = $resp_node->nodeValue;
- break;
- case 'errno':
- $resp['error_code'] = $resp_node->nodeValue;
- break;
- case 'errdesc':
- $resp['error_message'] = $resp_node->nodeValue;
- break;
- case 'wrapperid':
- $wrapper_id = $resp_node->nodeValue;
- break;
- }
- }
- if( array_key_exists('error_code', $resp ) )
- {
- $resp['success'] = 0;
- } else {
- $resp['success'] = 1;
- }
- $resp['sms'] = $sms[$wrapper_id];
- array_push($response, $resp);
- break;
- case 'errno':
- $err_no = $doc_child->nodeValue;
- break;
- case 'errdesc':
- $err_desc = $doc_child->nodeValue;
- break;
- }
- }
-
- if (isset($err_no)) {
- throw new ClockworkException($err_desc, $err_no);
- }
-
- if ($single_message) {
- return $response[0];
- } else {
- return $response;
- }
- }
-
- /**
- * Check how many SMS credits you have available
- *
- * @return integer SMS credits remaining
- * @deprecated Use checkBalance() instead
- * @author Martin Steel
- */
- public function checkCredit() {
- // Create XML doc for request
- $req_doc = new DOMDocument('1.0', 'UTF-8');
- $root = $req_doc->createElement('Credit');
- $req_doc->appendChild($root);
- $root->appendChild($req_doc->createElement('Key', $this->key));
- $req_xml = $req_doc->saveXML();
-
- // POST XML to Clockwork
- $resp_xml = $this->postToClockwork(self::API_CREDIT_METHOD, $req_xml);
-
- // Create XML doc for response
- $resp_doc = new DOMDocument();
- $resp_doc->loadXML($resp_xml);
-
- // Parse the response to find credit value
- $credit;
- $err_no = null;
- $err_desc = null;
-
- foreach ($resp_doc->documentElement->childNodes AS $doc_child) {
- switch ($doc_child->nodeName) {
- case "Credit":
- $credit = $doc_child->nodeValue;
- break;
- case "ErrNo":
- $err_no = $doc_child->nodeValue;
- break;
- case "ErrDesc":
- $err_desc = $doc_child->nodeValue;
- break;
- default:
- break;
- }
- }
-
- if (isset($err_no)) {
- throw new ClockworkException($err_desc, $err_no);
- }
- return $credit;
- }
-
- /**
- * Check your account balance
- *
- * @return array Array of account balance:
- * @author Martin Steel
- */
- public function checkBalance() {
- // Create XML doc for request
- $req_doc = new DOMDocument('1.0', 'UTF-8');
- $root = $req_doc->createElement('Balance');
- $req_doc->appendChild($root);
- $root->appendChild($req_doc->createElement('Key', $this->key));
- $req_xml = $req_doc->saveXML();
-
- // POST XML to Clockwork
- $resp_xml = $this->postToClockwork(self::API_BALANCE_METHOD, $req_xml);
-
- // Create XML doc for response
- $resp_doc = new DOMDocument();
- $resp_doc->loadXML($resp_xml);
-
- // Parse the response to find balance value
- $balance = null;
- $err_no = null;
- $err_desc = null;
-
- foreach ($resp_doc->documentElement->childNodes as $doc_child) {
- switch ($doc_child->nodeName) {
- case "Balance":
- $balance = number_format(floatval($doc_child->nodeValue), 2);
- break;
- case "Currency":
- foreach ($doc_child->childNodes as $resp_node) {
- switch ($resp_node->tagName) {
- case "Symbol":
- $symbol = $resp_node->nodeValue;
- break;
- case "Code":
- $code = $resp_node->nodeValue;
- break;
- }
- }
- break;
- case "ErrNo":
- $err_no = $doc_child->nodeValue;
- break;
- case "ErrDesc":
- $err_desc = $doc_child->nodeValue;
- break;
- default:
- break;
- }
- }
-
- if (isset($err_no)) {
- throw new ClockworkException($err_desc, $err_no);
- }
-
- return array( 'symbol' => $symbol, 'balance' => $balance, 'code' => $code );
- }
-
- /**
- * Check whether the API Key is valid
- *
- * @return bool True indicates a valid key
- * @author Martin Steel
- */
- public function checkKey() {
- // Create XML doc for request
- $req_doc = new DOMDocument('1.0', 'UTF-8');
- $root = $req_doc->createElement('Authenticate');
- $req_doc->appendChild($root);
- $root->appendChild($req_doc->createElement('Key', $this->key));
- $req_xml = $req_doc->saveXML();
-
- // POST XML to Clockwork
- $resp_xml = $this->postToClockwork(self::API_AUTH_METHOD, $req_xml);
-
- // Create XML doc for response
- $resp_doc = new DOMDocument();
- $resp_doc->loadXML($resp_xml);
-
- // Parse the response to see if authenticated
- $cust_id;
- $err_no = null;
- $err_desc = null;
-
- foreach ($resp_doc->documentElement->childNodes AS $doc_child) {
- switch ($doc_child->nodeName) {
- case "CustID":
- $cust_id = $doc_child->nodeValue;
- break;
- case "ErrNo":
- $err_no = $doc_child->nodeValue;
- break;
- case "ErrDesc":
- $err_desc = $doc_child->nodeValue;
- break;
- default:
- break;
- }
- }
-
- if (isset($err_no)) {
- throw new ClockworkException($err_desc, $err_no);
- }
- return isset($cust_id);
- }
-
- /**
- * Make an HTTP POST to Clockwork
- *
- * @param string method Clockwork method to call (sms/credit)
- * @param string data Content of HTTP POST
- *
- * @return string Response from Clockwork
- * @author Martin Steel
- */
- protected function postToClockwork($method, $data) {
- if ($this->log) {
- $this->logXML("API $method Request XML", $data);
- }
-
- if( isset( $this->ssl ) ) {
- $ssl = $this->ssl;
- } else {
- $ssl = $this->sslSupport();
- }
-
- $url = $ssl ? 'https://' : 'http://';
- $url .= self::API_BASE_URL . $method;
-
- $response = $this->xmlPost($url, $data);
-
- if ($this->log) {
- $this->logXML("API $method Response XML", $response);
- }
-
- return $response;
- }
-
- /**
- * Make a HTTP POST
- *
- * cURL will be used if available, otherwise tries the PHP stream functions
- *
- * @param string url URL to send to
- * @param string data Data to POST
- * @return string Response returned by server
- * @author Martin Steel
- */
- protected function xmlPost($url, $data) {
- if(extension_loaded('curl')) {
- $ch = curl_init($url);
- curl_setopt($ch, CURLOPT_POST, 1);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
- curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type: text/xml"));
- curl_setopt($ch, CURLOPT_USERAGENT, 'Clockwork PHP Wrapper/1.0' . self::VERSION);
- curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
- if (isset($this->proxy_host) && isset($this->proxy_port)) {
- curl_setopt($ch, CURLOPT_PROXY, $this->proxy_host);
- curl_setopt($ch, CURLOPT_PROXYPORT, $this->proxy_port);
- }
-
- $response = curl_exec($ch);
- $info = curl_getinfo($ch);
-
- if ($response === false || $info['http_code'] != 200) {
- throw new Exception('HTTP Error calling Clockwork API - HTTP Status: ' . $info['http_code'] . ' - cURL Erorr: ' . curl_error($ch));
- } elseif (curl_errno($ch) > 0) {
- throw new Exception('HTTP Error calling Clockwork API - cURL Error: ' . curl_error($ch));
- }
-
- curl_close($ch);
-
- return $response;
- } elseif (function_exists('stream_get_contents')) {
- // Enable error Track Errors
- $track = ini_get('track_errors');
- ini_set('track_errors',true);
-
- $params = array('http' => array(
- 'method' => 'POST',
- 'header' => "Content-Type: text/xml\r\nUser-Agent: mediaburst PHP Wrapper/" . self::VERSION . "\r\n",
- 'content' => $data
- ));
-
- if (isset($this->proxy_host) && isset($this->proxy_port)) {
- $params['http']['proxy'] = 'tcp://'.$this->proxy_host . ':' . $this->proxy_port;
- $params['http']['request_fulluri'] = True;
- }
-
- $ctx = stream_context_create($params);
- $fp = @fopen($url, 'rb', false, $ctx);
- if (!$fp) {
- ini_set('track_errors',$track);
- throw new Exception("HTTP Error calling Clockwork API - fopen Error: $php_errormsg");
- }
- $response = @stream_get_contents($fp);
- if ($response === false) {
- ini_set('track_errors',$track);
- throw new Exception("HTTP Error calling Clockwork API - stream Error: $php_errormsg");
- }
- ini_set('track_errors',$track);
- return $response;
- } else {
- throw new Exception("Clockwork requires PHP5 with cURL or HTTP stream support");
- }
- }
-
- /**
- * Does the server/HTTP wrapper support SSL
- *
- * This is a best guess effort, some servers have weird setups where even
- * though cURL is compiled with SSL support is still fails to make
- * any requests.
- *
- * @return bool True if SSL is supported
- * @author Martin Steel
- */
- protected function sslSupport() {
- $ssl = false;
- // See if PHP is compiled with cURL
- if (extension_loaded('curl')) {
- $version = curl_version();
- $ssl = ($version['features'] & CURL_VERSION_SSL) ? true : false;
- } elseif (extension_loaded('openssl')) {
- $ssl = true;
- }
- return $ssl;
- }
-
- /**
- * Log some XML, tidily if possible, in the PHP error log
- *
- * @param string log_msg The log message to prepend to the XML
- * @param string xml An XML formatted string
- *
- * @return void
- * @author Martin Steel
- */
- protected function logXML($log_msg, $xml) {
- // Tidy if possible
- if (class_exists('tidy')) {
- $tidy = new tidy;
- $config = array(
- 'indent' => true,
- 'input-xml' => true,
- 'output-xml' => true,
- 'wrap' => 200
- );
- $tidy->parseString($xml, $config, 'utf8');
- $tidy->cleanRepair();
- $xml = $tidy;
- }
- // Output
- error_log("Clockwork $log_msg: $xml");
- }
-
- /**
- * Check if an array is associative
- *
- * @param array $array Array to check
- * @return bool
- * @author Martin Steel
- */
- protected function is_assoc($array) {
- return (bool)count(array_filter(array_keys($array), 'is_string'));
- }
-
- /**
- * Check if a number is a valid MSISDN
- *
- * @param string $val Value to check
- * @return bool True if valid MSISDN
- * @author James Inman
- * @since 1.3.0
- * @todo Take an optional country code and check that the number starts with it
- */
- public static function is_valid_msisdn($val) {
- return preg_match( '/^[1-9][0-9]{7,12}$/', $val );
- }
-
-}
diff --git a/plugin/clockworksms/vendor/exception.php b/plugin/clockworksms/vendor/exception.php
deleted file mode 100755
index bf8d63ee85..0000000000
--- a/plugin/clockworksms/vendor/exception.php
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-Permission to use, copy, modify, and/or distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
diff --git a/plugin/clockworksms/vendor/readme.md b/plugin/clockworksms/vendor/readme.md
deleted file mode 100644
index fc536fb62d..0000000000
--- a/plugin/clockworksms/vendor/readme.md
+++ /dev/null
@@ -1,253 +0,0 @@
-# Clockwork SMS API Wrapper for PHP
-
-This wrapper lets you interact with Clockwork without the hassle of having to create any XML or make HTTP calls.
-
-## What's Clockwork?
-
-[Clockwork][2] is Mediaburst's SMS API.
-
-### Prerequisites
-
-* A [Clockwork][2] account
-
-## Usage
-
-Require the Clockwork library:
-
-```php
-require 'class-Clockwork.php';
-```
-
-### Sending a message
-
-```php
-$clockwork = new Clockwork( $API_KEY );
-$message = array( 'to' => '441234567891', 'message' => 'This is a test!' );
-$result = $clockwork->send( $message );
-```
-
-### Sending multiple messages
-
-We recommend you use batch sizes of 500 messages or fewer. By limiting the batch size it prevents any timeouts when sending.
-
-```php
-$clockwork = new Clockwork( $API_KEY );
-$messages = array(
- array( 'to' => '441234567891', 'message' => 'This is a test!' ),
- array( 'to' => '441234567892', 'message' => 'This is a test 2!' )
-);
-$results = $clockwork->send( $messages );
-```
-
-### Handling the response
-
-The responses come back as arrays, these contain the unique Clockwork message ID, whether the message worked (`success`), and the original SMS so you can update your database.
-
- Array
- (
- [id] => VE_164732148
- [success] => 1
- [sms] => Array
- (
- [to] => 441234567891
- [message] => This is a test!
- )
-
- )
-
-If you send multiple SMS messages in a single send, you'll get back an array of results, one per SMS.
-
-The result will look something like this:
-
- Array
- (
- [0] => Array
- (
- [id] => VI_143228951
- [success] => 1
- [sms] => Array
- (
- [to] => 441234567891
- [message] => This is a test!
- )
-
- )
-
- [1] => Array
- (
- [id] => VI_143228952
- [success] => 1
- [sms] => Array
- (
- [to] => 441234567892
- [message] => This is a test 2!
- )
-
- )
-
- )
-
-If a message fails, the reason for failure will be set in `error_code` and `error_message`.
-
-For example, if you send to invalid phone number "abc":
-
- Array
- (
- [error_code] => 10
- [error_message] => Invalid 'To' Parameter
- [success] => 0
- [sms] => Array
- (
- [to] => abc
- [message] => This is a test!
- )
-
- )
-
-### Checking your balance
-
-Check your available SMS balance:
-
-```php
-$clockwork = new Clockwork( $API_KEY );
-$clockwork->checkBalance();
-```
-
-This will return:
-
- Array
- (
- [symbol] => £
- [balance] => 351.91
- [code] => GBP
- )
-
-### Handling Errors
-
-The Clockwork wrapper will throw a `ClockworkException` if the entire call failed.
-
-```php
-try
-{
- $clockwork = new Clockwork( 'invalid_key' );
- $message = array( 'to' => 'abc', 'message' => 'This is a test!' );
- $result = $clockwork->send( $message );
-}
-catch( ClockworkException $e )
-{
- print $e->getMessage();
- // Invalid API Key
-}
-```
-
-### Advanced Usage
-
-This class has a few additional features that some users may find useful, if these are not set your account defaults will be used.
-
-### Optional Parameters
-
-See the [Clockwork Documentation](http://www.clockworksms.com/doc/clever-stuff/xml-interface/send-sms/) for full details on these options.
-
-* $from [string]
-
- The from address displayed on a phone when they receive a message
-
-* $long [boolean]
-
- Enable long SMS. A standard text can contain 160 characters, a long SMS supports up to 459.
-
-* $truncate [nullable boolean]
-
- Truncate the message payload if it is too long, if this is set to false, the message will fail if it is too long.
-
-* $invalid_char_action [string]
-
- What to do if the message contains an invalid character. Possible values are
- * error - Fail the message
- * remove - Remove the invalid characters then send
- * replace - Replace some common invalid characters such as replacing curved quotes with straight quotes
-
-* $ssl [boolean, default: true]
-
- Use SSL when making an HTTP request to the Clockwork API
-
-
-### Setting Options
-
-#### Global Options
-
-Options set on the API object will apply to all SMS messages unless specifically overridden.
-
-In this example both messages will be sent from Clockwork:
-
-```php
-$options = array( 'from' => 'Clockwork' );
-$clockwork = new Clockwork( $API_KEY, $options );
-$messages = array(
- array( 'to' => '441234567891', 'message' => 'This is a test!' ),
- array( 'to' => '441234567892', 'message' => 'This is a test 2!' )
-);
-$results = $clockwork->send( $messages );
-```
-
-#### Per-message Options
-
-Set option values individually on each message.
-
-In this example, one message will be from Clockwork and the other from 84433:
-
-```php
-$clockwork = new Clockwork( $API_KEY, $options );
-$messages = array(
- array( 'to' => '441234567891', 'message' => 'This is a test!', 'from' => 'Clockwork' ),
- array( 'to' => '441234567892', 'message' => 'This is a test 2!', 'from' => '84433' )
-);
-$results = $clockwork->send( $messages );
-```
-
-### SSL Errors
-
-Due to the huge variety of PHP setups out there a small proportion of users may get PHP errors when making API calls due to their SSL configuration.
-
-The errors will generally look something like this:
-
-```
-Fatal error:
-Uncaught exception 'Exception' with message 'HTTP Error calling Clockwork API
-HTTP Status: 0
-cURL Erorr: SSL certificate problem, verify that the CA cert is OK.
-Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed'
-```
-
-If you're seeing this error there are two fixes available, the first is easy, simply disable SSL on Clockwork calls. Alternatively you can setup your PHP install with the correct root certificates.
-
-#### Disable SSL on Clockwork calls
-
-```php
-$options = array( 'ssl' => false );
-$clockwork = new Clockwork( $API_KEY, $options );
-```
-
-#### Setup SSL root certificates on your server
-
-This is much more complicated as it depends on your setup, however there are many guides available online.
-Try a search term like "windows php curl root certificates" or "ubuntu update root certificates".
-
-
-# License
-
-This project is licensed under the ISC open-source license.
-
-A copy of this license can be found in license.txt.
-
-# Contributing
-
-If you have any feedback on this wrapper drop us an email to [hello@clockworksms.com][1].
-
-The project is hosted on GitHub at [https://github.com/mediaburst/clockwork-php][3].
-If you would like to contribute a bug fix or improvement please fork the project
-and submit a pull request.
-
-[1]: mailto:hello@clockworksms.com
-[2]: http://www.clockworksms.com/
-[3]: https://github.com/mediaburst/clockwork-php