diff --git a/notifications.admin.inc b/notifications.admin.inc index 40ad882..55e720d 100644 --- a/notifications.admin.inc +++ b/notifications.admin.inc @@ -10,7 +10,7 @@ function notifications_admin_manage_subscriptions($form, &$form_state) { module_load_include('manage.inc', 'notifications'); if (isset($form_state['values']['operation']) && $form_state['values']['operation'] == 'delete') { if ($selected = array_filter($form_state['values']['subscriptions'])) { // $form_state['values']['subscriptions'] - $list = Notifications_Subscription_List::build_sids(array_keys($selected)); + $list = Notifications_Subscription_List::build_sids(array_keys($selected), 'Notifications_Subscription_List'); return notifications_subscription_list_form($form, $form_state, 'delete', $list); } } diff --git a/notifications.info b/notifications.info index c2418ea..5776bb7 100644 --- a/notifications.info +++ b/notifications.info @@ -3,7 +3,7 @@ description = The basic notifications framework package = "Notifications" version = VERSION core = 7.x -php = 5.3 +php = 5.2 dependencies[] = messaging dependencies[] = trigger dependencies[] = messaging_template diff --git a/notifications.list.inc b/notifications.list.inc index b61178e..1142a51 100644 --- a/notifications.list.inc +++ b/notifications.list.inc @@ -245,9 +245,11 @@ class Notifications_Subscription_List implements Iterator { /** * Build subscription list instance from object or array of subscriptions */ - public static function build_list($items) { + public static function build_list($items, $class = '') { // PHP 5.3.0 only, we may want to construct another class extending this one - $class = get_called_class(); + if (empty($class) && function_exists('get_called_class')) { + $class = get_called_class(); + } if (is_a($items, $class)) { return $items; } @@ -260,9 +262,11 @@ class Notifications_Subscription_List implements Iterator { /** * Build subscription list from array of sids */ - public static function build_sids($sids) { + public static function build_sids($sids, $class = '') { // PHP 5.3.0 only, we may want to construct another class extending this one - $class = get_called_class(); + if (empty($class) && function_exists('get_called_class')) { + $class = get_called_class(); + } $list = new $class(); $list->load_multiple($sids); return $list; diff --git a/notifications.manage.inc b/notifications.manage.inc index d914265..72ac4d3 100644 --- a/notifications.manage.inc +++ b/notifications.manage.inc @@ -79,7 +79,7 @@ function notifications_manage_subscriptions_form($conditions = array()) { ->execute() ->fetchCol(); - $subscriptions = Notifications_Subscription_Table::build_sids($sids) + $subscriptions = Notifications_Subscription_Table::build_sids($sids, 'Notifications_Subscription_Table') ->set_header($header); // Only use a tableselect when the current user is able to perform any operations. if ($admin_access) { diff --git a/notifications.module b/notifications.module index c4be8d5..0a64be2 100644 --- a/notifications.module +++ b/notifications.module @@ -1294,7 +1294,7 @@ function notifications_subscription_form_submit($form, &$form_state) { * Form with subscription list */ function notifications_subscription_list_form($form, &$form_state, $type, $subscriptions) { - $form = Notifications_Subscription_List::build_list($subscriptions) + $form = Notifications_Subscription_List::build_list($subscriptions, 'Notifications_Subscription_List') ->get_form($type, $form, $form_state); $form['#submit'][] = 'notifications_subscription_list_form_validate'; $form['#validate'][] = 'notifications_subscription_list_form_submit'; diff --git a/notifications_account/notifications_account.pages.inc b/notifications_account/notifications_account.pages.inc index 8b5b587..37d8aaa 100644 --- a/notifications_account/notifications_account.pages.inc +++ b/notifications_account/notifications_account.pages.inc @@ -69,7 +69,7 @@ function notifications_account_overview($account) { function notifications_account_manage_subscriptions_form($form, &$form_state, $account) { module_load_include('manage.inc', 'notifications'); if (isset($form_state['values']['operation']) && $form_state['values']['operation'] == 'delete') { - $list = Notifications_Subscription_List::build_sids(array_filter($form_state['values']['subscriptions'])); + $list = Notifications_Subscription_List::build_sids(array_filter($form_state['values']['subscriptions']), 'Notifications_Subscription_List'); return notifications_subscription_list_form($form, $form_state, 'delete', $list); } $form = notifications_manage_subscriptions_filter_form(); @@ -100,7 +100,7 @@ function notifications_account_manage_subscriptions_form($form, &$form_state, $a function notifications_account_subscription_list_form($form, &$form_state, $type, $account) { if (isset($form_state['values']['op']) && $form_state['values']['op'] == t('Delete')) { if ($selected = array_filter($form_state['values']['subscriptions']['select'])) { - $list = Notifications_Subscription_List::build_sids(array_keys($selected)); + $list = Notifications_Subscription_List::build_sids(array_keys($selected), 'Notifications_Subscription_List'); return notifications_subscription_list_form($form, $form_state, 'delete', $list); } }