Example #1
0
    /**
     * Delete the IWnoteboard module
     * @author Albert Pérez Monfort (aperezm@xtec.cat)
     * @return bool true if successful, false otherwise
     */
    public function Uninstall() {
        // Delete module table
        DBUtil::dropTable('IWnoteboard');
        DBUtil::dropTable('IWnoteboard_topics');

        //Delete module vars
        $this->delVar('grups')
                ->delVar('permisos')
                ->delVar('marcat')
                ->delVar('verifica')
                ->delVar('caducitat')
                ->delVar('repperdefecte')
                ->delVar('colorrow1')
                ->delVar('colorrow2')
                ->delVar('colornewrow1')
                ->delVar('colornewrow2')
                ->delVar('attached')
                ->delVar('notRegisteredSeeRedactors')
                ->delVar('multiLanguage')
                ->delVar('topicsSystem')
                ->delVar('shipHeadersLines')
                ->delVar('notifyNewEntriesByMail')
                ->delVar('editPrintAfter')
                ->delVar('notifyNewCommentsByMail')
                ->delVar('commentCheckedByDefault')
                ->delVar('smallAvatar');

		HookUtil::unregisterSubscriberBundles($this->version->getHookSubscriberBundles());

        //Deletion successfull
        return true;
    }
Example #2
0
 /**
  * Delete the IWmain module
  * @author Albert Pérez Monfort (aperezm@xtec.cat)
  * @return bool true if successful, false otherwise
  */
 public function uninstall() {
     // Delete module table
     DBUtil::dropTable('IWmain');
     //Delete module vars
     $this->delVars;
     //Deletion successfull
     return true;
 }
Example #3
0
/**
 * delete the Admin module
 * This function is only ever called once during the lifetime of a particular
 * module instance
 * @author Mark West
 * @return bool true if deletetion succcesful, false otherwise
 */
function Admin_Messages_delete()
{
    if (!DBUtil::dropTable('message')) {
        return false;
    }
    ModUtil::delVar('Admin_Messages');
    // Deletion successful
    return true;
}
Example #4
0
    /**
     * Delete the IWmenu module
     * @author Albert Pï¿œrez Monfort (aperezm@xtec.cat)
     * @return bool true if successful, false otherwise
     */
    public function Uninstall() {
        // Delete module table
        DBUtil::dropTable('IWmenu');

        //Delete module vars
        ModUtil::delVar('IWmenu', 'height');
        ModUtil::delVar('IWmenu', 'width');
        ModUtil::delVar('IWmenu', 'imagedir');

        //Deletion successfull
        return true;
    }
Example #5
0
    /**
     * uninstall the IWdocmanager module
     * @author Albert Pérez Monfort (aperezm@xtec.cat)
     * @return bool true if successful, false otherwise
     */
    public function uninstall() {
        // Delete module table
        DBUtil::dropTable('IWdocmanager');
        DBUtil::dropTable('IWdocmanager_categories');

        //Delete module vars
        $this->delVar('documentsFolder')
                ->delVar('notifyMail')
                ->delVar('editTime')
                ->delVar('deleteTime');
        //Deletion successfull
        return true;
    }
Example #6
0
    /**
     * Delete the IWwebbox module
     * @author Albert Pérez Monfort
     * @return bool true if successful, false otherwise
     */
    public function uninstall() {
        // Delete module table
        DBUtil::dropTable('IWwebbox');
        //Delete module vars
        $this->delVar('url')
                ->delVar('width')
                ->delVar('height')
                ->delVar('scrolls')
                ->delVar('widthunit');

        //Deletion successfull
        return true;
    }
Example #7
0
    /**
     * Delete the IWqv module
     * @author Sara Arjona Téllez (sarjona@xtec.cat)
     * @return bool true if successful, false otherwise
     */
    public function uninstall() {
        // Delete module table
        DBUtil::dropTable('IWqv');
        DBUtil::dropTable('IWqv_assignments');
        DBUtil::dropTable('IWqv_sections');
        DBUtil::dropTable('IWqv_messages');
        DBUtil::dropTable('IWqv_messages_read');

        //Delete module vars
        //ModUtil::delVar('IWqv', 'varname');
        //Deletion successfull
        return true;
    }
Example #8
0
 /**
  * Delete the Search module
  * This function is only ever called once during the lifetime of a particular
  * module instance
  */
 public function uninstall()
 {
     if (DBUtil::dropTable('search_stat') != 2) {
         return false;
     }
     if (DBUtil::dropTable('search_result') != 2) {
         return false;
     }
     // Delete any module variables
     $this->delVars();
     // unregister event handlers
     EventUtil::unregisterPersistentModuleHandlers('Search');
     // Deletion successful
     return true;
 }
Example #9
0
 /**
  * delete module
  */
 public function uninstall()
 {
     DBUtil::dropTable('categories_category');
     DBUtil::dropTable('categories_mapobj');
     DBUtil::dropTable('categories_mapmeta');
     DBUtil::dropTable('categories_registry');
     $this->delVars();
     // delete other modules use of categories flag
     $dbtable = DBUtil::getTables();
     $cols = $dbtable['module_vars_column'];
     $name = DataUtil::formatForStore('enablecategorization');
     $where = "{$cols['name']}='{$name}'";
     $res = (bool) DBUtil::deleteWhere('module_vars', $where);
     // Deletion successful
     return true;
 }
Example #10
0
    /**
     * Delete the IWforums module
     * @author Albert Pérez Monfort (aperezm@xtec.cat)
     * @return bool true if successful, false otherwise
     */
    public function uninstall() {
        // Delete module table
        DBUtil::dropTable('IWforums_definition');
        DBUtil::dropTable('IWforums_temes');
        DBUtil::dropTable('IWforums_msg');

        //Delete module vars
        $this->delVar('urladjunts')
             ->delVar('avatarsVisible')
             ->delVar('restyledTheme')
             ->delVar('smiliesActive');
        ;
        // unregister hook handlers
        HookUtil::unregisterSubscriberBundles($this->version->getHookSubscriberBundles());
        //success
        return true;
    }
Example #11
0
    /**
     * Delete the IWmessages module
     * @author Albert Pérez Monfort (aperezm@xtec.cat)
     * @author Jaume Fernàndez Valiente (jfern343@xtec.cat)
     * @return bool true if successful, false otherwise
     */
    public function uninstall() {
        // Delete module table
        DBUtil::dropTable('IWmessages');

        //Delete module vars
        $this->delVar('IWmessages', 'groupsCanUpdate')
                ->delVar('uploadFolder')
                ->delVar('multiMail')
                ->delVar('limitInBox')
                ->delVar('limitOutBox')
                ->delVar('dissableSuggest')
                ->delVar('smiliesActive');

        //Deletion successfull
HookUtil::unregisterSubscriberBundles($this->version->getHookSubscriberBundles());
        return true;
    }
Example #12
0
    /**
     * Delete the IWusers module
     * @author Albert Pérez Monfort (aperezm@xtec.cat)
     * @return bool true if successful, false otherwise
     */
    public function Uninstall() {
        // Delete module table
        DBUtil::dropTable('IWusers');
        DBUtil::dropTable('IWusers_friends');
        //Delete module vars
        $this->delVar('friendsSystemAvailable')
                ->delVar('invisibleGroupsInList')
                ->delVar('usersCanManageName')
                ->delVar('allowUserChangeAvatar')
                ->delVar('allowUserSetTheirSex')
                ->delVar('allowUserDescribeTheirSelves')
                ->delVar('avatarChangeValidationNeeded')
                ->delVar('usersPictureFolder');

        //Deletion successfull
        return true;
    }
Example #13
0
    /**
     * Delete the IWbookings module
     * @author Albert Pérez Monfort (aperezm@xtec.cat)
     * @return bool true if successful, false otherwise
     */
    function Uninstall() {
        // Delete module table
        DBUtil::dropTable('IWbookings');
        DBUtil::dropTable('IWbookings_spaces');

        //Delete module vars
        ModUtil::delVar('IWbookings', 'groups');
        ModUtil::delVar('IWbookings', 'weeks');
        ModUtil::delVar('IWbookings', 'month_panel');
        ModUtil::delVar('IWbookings', 'weekends');
        ModUtil::delVar('IWbookings', 'eraseold');
        ModUtil::delVar('IWbookings', 'showcolors');
        ModUtil::delVar('IWbookings', 'NTPtime');

        //Deletion successfull
        return true;
    }
Example #14
0
 /**
  * uninstall the Files module
  * @author Albert Pérez Monfort (aperezm@xtec.cat)
  * @return bool true if successful, false otherwise
  */
 public function uninstall()
 {
     // Delete module table
     DBUtil::dropTable('Files');
     //Delete module vars
     $this->delVar('folderPath');
     $this->delVar('usersFolder');
     $this->delVar('showHideFiles');
     $this->delVar('allowedExtensions');
     $this->delVar('defaultQuota');
     $this->delVar('groupsQuota');
     $this->delVar('filesMaxSize');
     $this->delVar('maxWidth');
     $this->delVar('maxHeight');
     $this->delVar('editableExtensions');
     //Deletion successfull
     return true;
 }
Example #15
0
 /**
  * Desinstal·lació del mòdul Llicencies
  *
  * @return bool true si ha anat tot bé, false en qualsevol altre cas.
  */
 public function uninstall()
 {
     if (!SecurityUtil::checkPermission('Llicencies::', '::', ACCESS_ADMIN)) {
         return LogUtil::registerPermissionError();
     }
     // Esborrar taules del mòdul
     if (!DBUtil::dropTable('llicencies')||
         !DBUtil::dropTable('llicencies_curs')||
         !DBUtil::dropTable('llicencies_tema')||
         !DBUtil::dropTable('llicencies_subtema')||
         !DBUtil::dropTable('llicencies_tipus')||
         !DBUtil::dropTable('llicencies_modalitat')||
         !DBUtil::dropTable('llicencies_estats')
         )
         return false;
     //Esborrar variables del mòdul
     $this->delVars();
     return true;
 }
Example #16
0
    /**
     * Delete the IWTimeFrames module & update existing bookings references
     * @author Albert Pérez Monfort (aperezm@xtec.cat)
     * @author Josep Ferràndiz Farré (jferran6@xtec.cat)
     * @return bool true if successful, false otherwise
     */
    public function uninstall() {
        // Delete module table
        DBUtil::dropTable('IWtimeframes');
        DBUtil::dropTable('IWtimeframes_definition');

        // Totes les referències als marcs s'han d'esborrar a IWbookings_spaces
        // 1r. mirar si existeix el mòdul i després actualitzar els registres

        $modid = ModUtil::getIdFromName('IWbookings');
        $modinfo = ModUtil::getInfo($modid);

        if ($modinfo['state'] > 1) {
            $obj = array('mdid' => 0);
            DBUtil::updateObject($obj, 'IWbookings_spaces', 'mdid != 0');
        }

        //Delete module vars
        $this->delVar('frames');

        //Deletion successfull
        return true;
    }
Example #17
0
    /**
     * Migrate from version 1.13 to 2.2.0
     *
     * @param string $oldversion The old version from which this upgrade is being processed.
     *
     * @return bool True on success; otherwise false.
     */
    public function upgrade113XTablesTo220Tables($oldversion)
    {
        if (!DBUtil::changeTable('users_temp')) {
            return false;
        }

        // Get the dbinfo for the new version
        ModUtil::dbInfoLoad('Users', 'Users');

        $nowUTC = new DateTime(null, new DateTimeZone('UTC'));
        $nowUTCStr = $nowUTC->format(Users_Constant::DATETIME_FORMAT);

        $serviceManager = ServiceUtil::getManager();
        $dbinfoSystem = $serviceManager['dbtables'];
        $dbinfo113X = Users_tables('1.13');
        $dbinfo220 = Users_tables('2.2.0');
        $usersOldFields = array(
            'user_theme',
            'user_viewemail',
            'storynum',
            'counter',
            'hash_method',
            'validfrom',
            'validuntil',
        );
        $usersOldFieldsDB = array(
            $dbinfo113X['users_column']['user_theme'],
            $dbinfo113X['users_column']['user_viewemail'],
            $dbinfo113X['users_column']['storynum'],
            $dbinfo113X['users_column']['counter'],
            $dbinfo113X['users_column']['hash_method'],
            $dbinfo113X['users_column']['validfrom'],
            $dbinfo113X['users_column']['validuntil']
        );

        // Upgrade the tables

        // Update the users table with new and altered fields. No fields are removed at this point, and no fields
        // are getting a new data type that is incompatible, so no need to save anything off first.
        // Also, create the users_verifychg tables at this point.
        // Merge the global dbtables with the new field information.
        $tables['users_column'] = $dbinfo220['users_column'];
        $tables['users_column_def'] = $dbinfo220['users_column_def'];
        $tables['users_verifychg'] = $dbinfo220['users_verifychg'];
        $tables['users_verifychg_column'] = $dbinfo220['users_verifychg_column'];
        $tables['users_verifychg_column_def'] = $dbinfo220['users_verifychg_column_def'];
        $serviceManager['dbtables'] = array_merge($dbinfoSystem, $tables);

        // Now change the tables
        if (!DBUtil::changeTable('users')) {
            return false;
        }
        if (!DBUtil::createTable('users_verifychg')) {
            return false;
        }

        // First users_temp pending email verification records to users_verifychg.
        $tempColumn = $dbinfo113X['users_temp_column'];
        $verifyColumn = $dbinfo220['users_verifychg_column'];
        $usersColumn = $dbinfo220['users_column'];

        $legalModInfo = ModUtil::getInfoFromName('Legal');
        if (($legalModInfo['state'] == ModUtil::STATE_ACTIVE) || ($legalModInfo['state'] == ModUtil::STATE_UPGRADED)) {
            $legalModuleActive = true;
            $termsOfUseActive = ModUtil::getVar('Legal', 'termsofuse', false);
            $privacyPolicyActive = ModUtil::getVar('Legal', 'privacypolicy', false);
            $agePolicyActive = ($this->getVar('minage', 0) > 0);
        } else {
            $legalModuleActive = false;
        }

        // Next, users table conversion
        // We need to convert some information over from the old users table fields, so merge the old field list into
        // the new one. The order of array_merge parameters is important here!
        $tables = array('users_column' => array_merge($dbinfo113X['users_column'], $dbinfo220['users_column']));
        $serviceManager['dbtables'] = array_merge($dbinfoSystem, $tables);
        // Do the conversion in PHP we use mb_strtolower, and even if MySQL had an equivalent, there is
        // no guarantee that another supported DB platform would.
        $limitNumRows = 100;
        $limitOffset = 0;
        $updated = true;
        $userCount = DBUtil::selectObjectCount('users');
        while ($limitOffset < $userCount) {
            $userArray = DBUtil::selectObjectArray('users', "{$usersColumn['uid']} != 1", '', $limitOffset, $limitNumRows,
                '', null, null, array('uid', 'uname', 'email', 'pass', 'hash_method', 'user_regdate', 'lastlogin', 'approved_by', 'approved_date'));
            if (!empty($userArray) && is_array($userArray)) {
                foreach ($userArray as $key => $userObj) {
                    // force user names and emails to lower case
                    $userArray[$key]['uname'] = mb_strtolower($userArray[$key]['uname']);
                    $userArray[$key]['email'] = mb_strtolower($userArray[$key]['email']);

                    if ($userArray[$key]['user_regdate'] == '1970-01-01 00:00:00') {
                        $userArray[$key]['user_regdate'] = $nowUTCStr;
                        $userArray[$key]['approved_date'] = $nowUTCStr;
                    } else {
                        $userArray[$key]['approved_date'] = $userArray[$key]['user_regdate'];
                    }
                    $userArray[$key]['approved_by'] = 2;

                    // merge hash method for salted passwords, leave salt blank
                    if (!empty($userArray[$key]['pass']) && (strpos($userArray[$key]['pass'], '$$') === false)) {
                        $userArray[$key]['pass'] =
                            (isset($userArray[$key]['hash_method'])
                                ? $userArray[$key]['hash_method']
                                : '1')
                            . '$$' . $userArray[$key]['pass'];
                    }

                    // Save some disappearing fields as attributes, just in case someone actually used them for
                    // something. But don't overwrite if there already
                    if (!isset($userArray[$key]['__ATTRIBUTES__']) || !is_array($userArray[$key]['__ATTRIBUTES__'])) {
                        $userArray[$key]['__ATTRIBUTES__'] = array();
                    }
                    foreach ($usersOldFields as $fieldName) {
                        if (($fieldName != 'hash_method') && isset($userArray[$key][$fieldName])
                                && !empty($userArray[$key][$fieldName]) && !isset($userArray[$key]['__ATTRIBUTES__'][$fieldName])) {
                            $userArray[$key]['__ATTRIBUTES__'][$fieldName] = $userArray[$key][$fieldName];
                        }
                    }

                    if ($legalModuleActive && ($userArray[$key]['uid'] > 2)) {
                        $userRegDateTime = new DateTime($userArray[$key]['user_regdate'], new DateTimeZone('UTC'));
                        $policyDateTimeStr = $userRegDateTime->format(DATE_ISO8601);

                        if ($termsOfUseActive) {
                            $userArray[$key]['__ATTRIBUTES__']['_Legal_termsOfUseAccepted'] = $policyDateTimeStr;
                        }
                        if ($privacyPolicyActive) {
                            $userArray[$key]['__ATTRIBUTES__']['_Legal_privacyPolicyAccepted'] = $policyDateTimeStr;
                        }
                        if ($agePolicyActive) {
                            $userArray[$key]['__ATTRIBUTES__']['_Legal_agePolicyConfirmed'] = $policyDateTimeStr;
                        }
                    }
                }
            }
            if (!DBUtil::updateObjectArray($userArray, 'users', 'uid', false)) {
                $updated = false;
                break;
            }
            $limitOffset += $limitNumRows;
        }
        if (!$updated) {
            return false;
        }

        $obaColumn = $dbinfoSystem['objectdata_attributes_column'];

        $limitNumRows = 100;
        $limitOffset = 0;
        $updated = true;
        $userCount = DBUtil::selectObjectCount('users_temp');
        // Pass through the users_temp table in chunks of 100
        //  * ensure unames and email addresses are lower case,
        while ($limitOffset < $userCount) {
            $userTempArray = DBUtil::selectObjectArray('users_temp', '', '', $limitOffset, $limitNumRows, '', null, null,
                array('tid', 'type', 'uname', 'email', 'pass', 'hash_method', 'dynamics', 'comment'));
            $userArray = array();
            if (!empty($userTempArray) && is_array($userTempArray)) {
                foreach ($userTempArray as $key => $userTempOpj) {
                    // type == 1: User registration pending approval (moderation)
                    if ($userTempArray[$key]['type'] == 1) {
                        $userObj = array();

                        // Ensure uname and email are lower case
                        $userObj['uname'] = mb_strtolower($userTempArray[$key]['uname']);
                        $userObj['email'] = mb_strtolower($userTempArray[$key]['email']);

                        // Convert pass to salted pass with embedded hash method, leave salt blank
                        $userObj['pass'] = $userTempArray[$key]['hash_method'] . '$$' . $userTempArray[$key]['pass'];

                        $userObj['approved_by'] = 0;
                        $userObj['activated'] = Users_Constant::ACTIVATED_PENDING_REG;

                        if (!empty($userTempArray[$key]['dynamics'])) {
                            $userObj['__ATTRIBUTES__'] = unserialize($userTempArray[$key]['dynamics']);
                        } else {
                            $userObj['__ATTRIBUTES__'] = array();
                        }

                        if (isset($userObj['dynamics']) && !empty($userObj['dynamics'])) {
                            if (DataUtil::is_serialized($userObj['dynamics'])) {
                                $dynamics = @unserialize($userObj['dynamics']);
                                if (!empty($dynamics) && is_array($dynamics)) {
                                    foreach ($dynamics as $key => $value) {
                                        $userObj['__ATTRIBUTES__'][$key] = $value;
                                    }
                                }
                            }
                        }

                        $userObj['__ATTRIBUTES__']['_Users_isVerified'] = 0;

                        if ($legalModuleActive) {
                            $userRegDateTime = new DateTime($userArray[$key]['user_regdate'], new DateTimeZone('UTC'));
                            $policyDateTimeStr = $userRegDateTime->format(DATE_ISO8601);

                            if ($termsOfUseActive) {
                                $userObj['__ATTRIBUTES__']['_Legal_termsOfUseAccepted'] = $policyDateTimeStr;
                            }
                            if ($privacyPolicyActive) {
                                $userObj['__ATTRIBUTES__']['_Legal_privacyPolicyAccepted'] = $policyDateTimeStr;
                            }
                            if ($agePolicyActive) {
                                $userObj['__ATTRIBUTES__']['_Legal_agePolicyConfirmed'] = $policyDateTimeStr;
                            }
                        }

                        $userArray[] = $userObj;
                    } else {
                        throw new Zikula_Exception_Fatal($this->__f('Unknown users_temp record type: %1$s', array($userTempArray[$key]['type'])));
                    }
                }
            }
            if (!DBUtil::insertObjectArray($userArray, 'users', 'uid', false)) {
                $updated = false;
                break;
            }
            $limitOffset += $limitNumRows;
        }
        if (!$updated) {
            return false;
        }

        // Done upgrading. Let's lose some old fields and tables we no longer need.
        DBUtil::dropColumn('users', $usersOldFieldsDB);
        DBUtil::dropTable('users_temp');

        // Reset the system tables to the new table definitons, so the rest of the
        // system upgrade goes smoothly.
        $dbinfoSystem = $serviceManager['dbtables'];
        foreach ($dbinfo113X as $key => $value) {
            unset($dbinfoSystem[$key]);
        }
        foreach ($dbinfo220 as $key => $value) {
            $dbinfoSystem[$key] = $value;
        }
        $serviceManager['dbtables'] = $dbinfoSystem;

        // Update users table for data type change of activated field.
        if (!DBUtil::changeTable('users')) {
            return false;
        }

        return true;
    }
Example #18
0
 /**
  * Delete ephemerides module
  * @author The Zikula Development Team
  * @return true if init successful, false otherwise
  */
 public function uninstall()
 {
     DBUtil::dropTable('ephem');
     // delete module variables
     ModUtil::delVar('Ephemerides');
     // delete entries from category registry
     /*ModUtil::dbInfoLoad('Categories');
       DBUtil::deleteWhere('categories_registry', "modname = 'Ephemerides'");
       DBUtil::deleteWhere('categories_mapobj', "modname = 'Ephemerides'");*/
     // Remove hooks
     HookUtil::unregisterSubscriberBundles($this->version->getHookSubscriberBundles());
     HookUtil::unregisterProviderBundles($this->version->getHookProviderBundles());
     // deletion successful
     return true;
 }
Example #19
0
    /**
     * delete the theme module
     *
     * This function is only ever called once during the lifetime of a particular
     * module instance
     * This function MUST exist in the pninit file for a module
     *
     * Since the theme module should never be deleted we'all always return false here
     * @return bool false
     */
    public function uninstall()
    {
        // drop the table
        if (!DBUtil::dropTable('Themes')) {
            return false;
        }

        // delete all module variables
        $this->delVar('Theme');

        // Deletion not allowed
        return false;
    }
Example #20
0
    /**
     * Esborrar el mòdul IWbooks
     */
    public function uninstall() {
        // Delete tables
        DBUtil::dropTable('IWbooks');
        DBUtil::dropTable('IWbooks_materies');

        // Esborrar les variables del mòdul
        ModUtil::delVar('IWbooks', 'itemsperpage');
        ModUtil::delVar('IWbooks', 'fpdf');
        ModUtil::delVar('IWbooks', 'any');
        ModUtil::delVar('IWbooks', 'encap');
        ModUtil::delVar('IWbooks', 'plans');
        ModUtil::delVar('IWbooks', 'darrer_nivell');
        ModUtil::delVar('IWbooks', 'nivells');
        ModUtil::delVar('IWbooks', 'llistar_materials');
        ModUtil::delVar('IWbooks', 'mida_font');
        ModUtil::delVar('IWbooks', 'marca_aigua');
        // Acció d'esborrar acabada amb èxit
        return true;
    }
Example #21
0
    /**
     * delete the comments module
     *
     */
    public function uninstall() {
        // drop tables
        $tables = array('IWstats', 'IWstats_summary');
        
        foreach ($tables as $table) {
            if (!DBUtil::dropTable($table)) {
                return false;
            }
        }

        // delete config variables
        $this->delVars();

        // delete the system init hook
        EventUtil::unregisterPersistentModuleHandler('IWstats', 'core.postinit', array('IWstats_Listeners', 'coreinit'));

        // Deletion successful
        return true;
    }
Example #22
0
    /**
     * Delete the IWforms module
     * @author Albert Pérez Monfort (aperezm@xtec.cat)
     * @return bool true if successful, false otherwise
     */
    public function Uninstall() {
        // Delete module table
        DBUtil::dropTable('IWforms_definition');
        DBUtil::dropTable('IWforms_cat');
        DBUtil::dropTable('IWforms');
        DBUtil::dropTable('IWforms_note');
        DBUtil::dropTable('IWforms_note_definition');
        DBUtil::dropTable('IWforms_validator');
        DBUtil::dropTable('IWforms_group');

        //Delete module vars
        $this->delVar('characters')
                ->delVar('resumeview')
                ->delVar('newsColor')
                ->delVar('viewedColor')
                ->delVar('completedColor')
                ->delVar('validatedColor')
                ->delVar('fieldsColor')
                ->delVar('contentColor')
                ->delVar('attached')
                ->delVar('publicFolder');
		HookUtil::unregisterSubscriberBundles($this->version->getHookSubscriberBundles());
        //Deletion successfull
        return true;
    }
Example #23
0
 /**
  * delete the module
  */
 public function uninstall()
 {
     DBUtil::dropTable('pagelock');
     return true;
 }
Example #24
0
 public function uninstall()
 {
     // drop table
     if (!DBUtil::dropTable('scribite')) {
         return false;
     }
     // Delete any module variables
     $this->delVars();
     EventUtil::unregisterPersistentModuleHandler('Scribite', 'core.postinit', array('Scribite_Listeners', 'coreinit'));
     // Deletion successful
     return true;
 }
Example #25
0
    /**
     * Desinstal·lació del mòdul Cataleg
     * 
     * @return bool true si ha anat tot bé, false en qualsevol altre cas.
     */
    public function uninstall()
    {
        if (!SecurityUtil::checkPermission('Cataleg::', '::', ACCESS_ADMIN)) {
            return LogUtil::registerPermissionError();
        }
        // Esborrar taules del mòdul          
        if (!DBUtil::dropTable('cataleg')||
            !DBUtil::dropTable('cataleg_eixos')||
            !DBUtil::dropTable('cataleg_prioritats')||
            !DBUtil::dropTable('cataleg_unitatsImplicades')||
            !DBUtil::dropTable('cataleg_subprioritats')|| 
            !DBUtil::dropTable('cataleg_activitats')||               
            !DBUtil::dropTable('cataleg_activitatsZona')||   
            !DBUtil::dropTable('cataleg_unitats')||
            !DBUtil::dropTable('cataleg_responsables')||
            !DBUtil::dropTable('cataleg_contactes')||
            !DBUtil::dropTable('cataleg_auxiliar')||
            !DBUtil::dropTable('cataleg_centresActivitat')||
	    !DBUtil::dropTable('cataleg_centres')||
            !DBUtil::dropTable('cataleg_gestioActivitatDefaults')||
            !DBUtil::dropTable('cataleg_importTaules')||
            !DBUtil::dropTable('cataleg_importAssign')||
            !DBUtil::dropTable('cataleg_gtafEntities')||
            !DBUtil::dropTable('cataleg_gtafGroups')
            ) 
        return false;
        //Esborrar variables del mòdul
        $this->delVars();
        // unregister hook handlers
        HookUtil::unregisterSubscriberBundles($this->version->getHookSubscriberBundles());
        return true;
    }
Example #26
0
 /**
  * upgrade
  */
 public function upgrade($oldversion)
 {
     // Upgrade dependent on old version number
     switch ($oldversion) {
         case '2.4':
             $prefix = $this->serviceManager['prefix'];
             $connection = Doctrine_Manager::getInstance()->getConnection('default');
             $sql = 'RENAME TABLE ' . $prefix . '_' . 'reviews' . ' TO ' . 'reviews';
             $stmt = $connection->prepare($sql);
             try {
                 $stmt->execute();
             } catch (Exception $e) {
                 LogUtil::registerError($e);
             }
         case '2.4.1':
             try {
                 DoctrineHelper::updateSchema($this->entityManager, $this->listEntityClasses());
             } catch (\Exception $e) {
                 if (System::isDevelopmentMode()) {
                     LogUtil::registerError($this->__('Doctrine Exception: ') . $e->getMessage());
                 }
                 return LogUtil::registerError($this->__f('An error was encountered while dropping the tables for the %s extension.', array($this->getName())));
             }
             $repository = $this->getEntityManager()->getRepository('Reviews_Entity_Review');
             // we get all old entries
             $result = DBUtil::executeSQL('SELECT * FROM `reviews`');
             $reviews = $result->fetchAll(Doctrine::FETCH_ASSOC);
             $dom = ZLanguage::getModuleDomain($this->name);
             $workflowHelper = new Zikula_Workflow('standard', 'Reviews');
             // we get serviceManager
             $serviceManager = ServiceUtil::getManager();
             // we get entityManager
             $entityManager = $serviceManager->getService('doctrine.entitymanager');
             if (count($reviews) > 0) {
                 foreach ($reviews as $key => $review) {
                     $newReview = new Reviews_Entity_Review();
                     $newReview->setWorkflowState('approved');
                     $newReview->setTitle($review['pn_title']);
                     $newReview->setText($review['pn_text']);
                     if ($review['pn_reviewer'] != '') {
                         $newReview->setReviewer($review['pn_reviewer']);
                     } else {
                         $newReview->setReviewer(__('Unknown', $dom));
                     }
                     if ($review['pn_email'] != '') {
                         $newReview->setEmail($review['pn_email']);
                     } else {
                         $adminmail = UserUtil::getVar('email', 2);
                         $newReview->setEmail(__($adminmail));
                     }
                     $newReview->setScore($review['pn_score']);
                     $newReview->setCover($review['pn_cover']);
                     $newReview->setUrl($review['pn_url']);
                     $newReview->setUrl_title($review['pn_url_title']);
                     $newReview->setHits($review['pn_hits']);
                     $newReview->setZlanguage($review['pn_language']);
                     $createdDate = new Datetime($review['pn_cr_date']);
                     $newReview->setCreatedDate($createdDate);
                     $updatedDate = new DateTime($review['pn_lu_date']);
                     $newReview->setUpdatedDate($updatedDate);
                     $newReview->setCreatedUserId($review['pn_cr_uid']);
                     $newReview->setUpdatedUserId($review['pn_lu_uid']);
                     $entityManager->persist($newReview);
                     $entityManager->flush();
                 }
             }
             $result2 = DBUtil::executeSQL('SELECT * FROM `reviews_review`');
             $reviews2 = $result2->fetchAll(Doctrine::FETCH_ASSOC);
             // we set the workflow
             foreach ($reviews2 as $key => $review2) {
                 $obj['__WORKFLOW__']['obj_table'] = 'review';
                 $obj['__WORKFLOW__']['obj_idcolumn'] = 'id';
                 $obj['id'] = $review2['id'];
                 $workflowHelper->registerWorkflow($obj, 'approved');
             }
             // move relations from categories_mapobj to reviews_category
             // then delete old data
             $connection = $this->entityManager->getConnection();
             $sqls = array();
             $sqls[] = "INSERT INTO reviews_review_category (entityId, registryId, categoryId) SELECT obj_id, reg_id, category_id FROM categories_mapobj WHERE modname = 'Reviews' AND tablename = 'reviews'";
             $sqls[] = "DELETE FROM categories_mapobj WHERE modname = 'Reviews' AND tablename = 'reviews'";
             // update category registry data to change tablename to EntityName
             $sqls[] = "UPDATE categories_registry SET tablename = 'Review' WHERE tablename = 'reviews'";
             // do changes
             foreach ($sqls as $sql) {
                 $stmt = $connection->prepare($sql);
                 try {
                     $stmt->execute();
                 } catch (Exception $e) {
                     LogUtil::registerError($e->getMessage());
                 }
             }
             $pagesize = $this->getVar('itemsperpage');
             $this->setVar('pagesize', $pagesize);
             $this->delVar('itemsperpage');
             $this->setVar('scoreForUsers', false);
             $addcategorytitletopermalink = $this->getVar('addcategorytitletopermalink');
             $this->setVar('addcategorytitletopermalink');
             // register persistent event handlers
             $this->registerPersistentEventHandlers();
             // register hook subscriber bundles
             HookUtil::registerSubscriberBundles($this->version->getHookSubscriberBundles());
             DBUtil::dropTable('reviews');
         case '2.5.0':
             // later upgrades
     }
     // upgrade successful
     return true;
 }
Example #27
0
/**
 * Module delete
 */
function mediashare_delete()
{
    $tables = array('albums', 'media', 'keywords', 'mediastore', 'mediadb', 'mediahandlers', 'sources', 'access', 'setup', 'invitation');
    // Delete the mediashare tables
    foreach ($tables as $table) {
        if (!DBUtil::dropTable("mediashare_{$table}")) {
            return false;
        }
    }
    pnModDelVar('mediashare');
    $sql = "DROP PROCEDURE mediashareUpdateNestedSetValuesRec";
    DBUtil::executeSQL($sql);
    $sql = "DROP PROCEDURE mediashareUpdateNestedSetValues";
    DBUtil::executeSQL($sql);
    // Deletion successful
    return true;
}
Example #28
0
    /**
     * Delete the IWagendas module
     *
     * @return bool true if successful, false otherwise
     */
    public function uninstall() {
        // Delete module table
        DBUtil::dropTable('IWagendas');
        DBUtil::dropTable('IWagendas_definition');
        DBUtil::dropTable('IWagendas_subs');

        // Delete module vars
        $this->delVars();

        // Deletion successfull
        return true;
    }
Example #29
0
 /**
  * delete the Admin module
  * This function is only ever called once during the lifetime of a particular
  * module instance
  * @return bool true if deletetion succcesful, false otherwise
  */
 public function uninstall()
 {
     if (!DBUtil::dropTable('admin_module')) {
         return false;
     }
     if (!DBUtil::dropTable('admin_category')) {
         return false;
     }
     $this->delVars();
     // Deletion successful
     return true;
 }
Example #30
0
 public function uninstall()
 {
     // delete all database tables
     DBUtil::dropTable('content_page');
     DBUtil::dropTable('content_content');
     DBUtil::dropTable('content_pagecategory');
     DBUtil::dropTable('content_searchable');
     DBUtil::dropTable('content_translatedcontent');
     DBUtil::dropTable('content_translatedpage');
     DBUtil::dropTable('content_history');
     // delete all module variables
     $this->delVars();
     // delete entries from category registry
     ModUtil::dbInfoLoad('Categories');
     DBUtil::deleteWhere('categories_registry', "modname='Content'");
     DBUtil::deleteWhere('categories_mapobj', "modname='Content'");
     // unregister event/hook handlers
     EventUtil::unregisterPersistentModuleHandlers('Content');
     HookUtil::unregisterSubscriberBundles($this->version->getHookSubscriberBundles());
     // Deletion successful
     return true;
 }