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