Modul is in use ... but where ...

Stefek

[i]"Gemeinsam schafft man mehr."[/i]

[b][url=http://duden.de/rechtschreibung/gemeinsam#Bedeutung1]gemeinsam[/url][/b]
1. mehreren Personen oder Dingen in gleicher Weise gehörend, eigen
2. in Gemeinschaft [unternommen, zu bewältigen]; zusammen, miteinander
#Duden


Stefek

Quote from: erpe on August 23, 2008, 07:32:55 PM
As I can read you are a member of the marketing team.
Maybe from this point of view?

Nope, this has nothing to do with the Marketing.

Best Regard,
Stefek
[i]"Gemeinsam schafft man mehr."[/i]

[b][url=http://duden.de/rechtschreibung/gemeinsam#Bedeutung1]gemeinsam[/url][/b]
1. mehreren Personen oder Dingen in gleicher Weise gehörend, eigen
2. in Gemeinschaft [unternommen, zu bewältigen]; zusammen, miteinander
#Duden

erpe0812

Hi Stefek,

As I can read you are a member of the marketing team.
Maybe from this point of view?

If you think, it is a good idea to let it implement as a standard, than you can open a new ticket?
Maybe I'm wrong, but this is my oppinion.

I agree to what you had said, so I will open an new ticket as soon as I can reach the project-site (timeouts)

Have a nice day.

erpe

Stefek

Yes I know, Erpe.
But why do you address these words to me?  :-D

If Aldus decide that his efforts are worth it being implemented, than he will do.

I'm just telling  that I think they're worth it  :wink:

Regards,
Stefek
[i]"Gemeinsam schafft man mehr."[/i]

[b][url=http://duden.de/rechtschreibung/gemeinsam#Bedeutung1]gemeinsam[/url][/b]
1. mehreren Personen oder Dingen in gleicher Weise gehörend, eigen
2. in Gemeinschaft [unternommen, zu bewältigen]; zusammen, miteinander
#Duden

erpe0812

Hi Stefek,

Ruebenwurzel told me,  the easiest way to achieve this is to make a new ticket!

rgds

erpe

Stefek

Aaaaahh *lightsup*

I got it.

Well this is helpfull. It's a real nightmare if you have to search manually for the modules.
:roll:

Should be standard I think.

Best Regards,
Stefek
[i]"Gemeinsam schafft man mehr."[/i]

[b][url=http://duden.de/rechtschreibung/gemeinsam#Bedeutung1]gemeinsam[/url][/b]
1. mehreren Personen oder Dingen in gleicher Weise gehörend, eigen
2. in Gemeinschaft [unternommen, zu bewältigen]; zusammen, miteinander
#Duden

aldus

#3
No - they tell you where in use - incl. link to the page (-settings)

Regards
Aldus

[gelöscht durch Administrator]

Stefek

Using this snippets you are able to deinstall modules/templates althaugh they're in use?

What if you really need them?

Is there something i missed?

Regards,
Stefek
[i]"Gemeinsam schafft man mehr."[/i]

[b][url=http://duden.de/rechtschreibung/gemeinsam#Bedeutung1]gemeinsam[/url][/b]
1. mehreren Personen oder Dingen in gleicher Weise gehörend, eigen
2. in Gemeinschaft [unternommen, zu bewältigen]; zusammen, miteinander
#Duden

aldus

#1
Hello

I'll keep it brief: it happend today again and drives me xxx:
"Can't uninstall modul, modul is in use ...".
To get rid of this situation here is a code-snipped for
"admin/modules/uninstall.php", line 53 ff.

<?php
/**
*    Check if the module is in use
*
*    @version    0.1.0
*    @build        1
*    @date        2008-08-16
*    @author        aldus
*    @package    WebsiteBaker - Admin - modules
*    @state        @dev
*
*/

function replace_all ($aStr "", &$aArray ) {
    foreach(
$aArray as $k=>$v$aStr str_replace("{{".$k."}}"$v$aStr);
    return 
$aStr;
}

$info $database->query("SELECT section_id, page_id FROM ".TABLE_PREFIX."sections WHERE module='".$_POST['file']."'" );

if ( 
$info->numRows() > 0) {
    
    
/**
    *    Modul is in use, so we have to warn the user
    */
    
    
$add $info->numRows() == "this page" "these pages";
    
$msg_template_str  "<br /><br />Modul <b>{{modul_name}}</b> could not be uninstalled because it is still in use on ";
    
$msg_template_str .= $add.":<br /><i>click for editing.</i><br /><br />";

    
/**
    *    The template-string for displaying the Page-Titles ... in this case as a link
    */
    
$page_template_str "- <b><a href='../pages/sections.php?page_id={{id}}'>{{title}}</a></b><br />";
    
    
$values = array ('modul_name' => $file);
    
$msg replace_all $msg_template_str,  $values );
        
    
$page_names "";
    
    while (
$data $info->fetchRow(DB_FETCHMODE_ASSOC) ) {
    
        
$temp $database->query("SELECT page_title from ".TABLE_PREFIX."pages where page_id=".$data['page_id']);
        
$temp_title $temp->fetchRowDB_FETCHMODE_ASSOC );
        
        
$page_info = array(
            
'id'    => $data['page_id'], 
            
'title' => $temp_title['page_title']
        );
            
        
$page_names .= replace_all $page_template_str$page_info );
    }
    
    
/**
    *    Printing out the error-message and die().
    */
    
$admin->print_error(str_replace ("Datei""Modul"$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE']).$msg.$page_names);
}
?>



Without the "<?php" and "?>" lines ...
Edit:
And for the templates (wb/admin/templates/uninstall.php, line 56 ff.) this one:

<?php
/**
*    Check if the template is the standard-template or still in use
*/
$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IS_DEFAULT_TEMPLATE'] = "Can't unistall this template <b>".$file."</b> because it's the standardtemplate!";

if (
$file == DEFAULT_TEMPLATE) {
    
$admin->print_error($MESSAGE['GENERIC']['CANNOT_UNINSTALL_IS_DEFAULT_TEMPLATE']); /** Text is missing! 2008-06-15 */

} else {
    
    
/**
    *    Check if the template is still in use by a page ...
    *
    *    @version    0.2.0
    *    @build        4
    *    @author        aldus
    *    @since        0.1.0
    *    @lastchange 2008-08-16
    *
    */
    
$info $database->query("SELECT page_id, page_title FROM ".TABLE_PREFIX."pages WHERE template='".$file."' order by page_title");
    
    if (
$info->numRows() > 0) {
    
        
/**
        *    Template is still in use, so we're collecting the page-titles
        *
        *    @version    0.2.0
        *    @build        4
        *    @since        0.1.0
        *    @lastchange 2008-08-16
        *
        *    0.2.0        Codechanges for WebsiteBaker to use it without the Black-Hawk-Engine
        *
        *    0.1.1        add this page <if we found only one> / these pages
        *
        *    @notice        All listed pages got linked to "settings.php" so the user can easy change
        *                the template-settings. Modifications could be made in "page_template_str".
        *                For additional informations you will have to modify the query, the page_template_str
        *                and the page_info array.
        *
        *    @todo        1 - Additional informations about the pages (modified, modified_by, visibility, etc)
        *
        *                2 - What happends about pages, the user is not allowed to edit?
        *                    Marked "red"?
        *
        *                3 - Multiple language support here ...
        */
        
        /**
        *    The base-message template-string for the top of the message
        *
        *    0.1.2    this page/ these pages
        *
        */
        
$add $info->numRows() == "this page" "these pages";
        
$msg_template_str  "<br /><br />Template <b>{{template_name}}</b> could not be uninstalled because it is still in use by ";
        
$msg_template_str .= $add.":<br /><i>click for editing.</i><br /><br />";
        
        
/**
        *    The template-string for displaying the Page-Titles ... in this case as a link
        */
        
$page_template_str "- <b><a href='../pages/settings.php?page_id={{id}}'>{{title}}</a></b><br />";
        
        
$values = array ('template_name' => $file);
        
$msg replace_all $msg_template_str,  $values );
        
        
$page_names "";
        
        while (
$data $info->fetchRow(DB_FETCHMODE_ASSOC) ) {
            
            
$page_info = array(
                
'id'    => $data['page_id'], 
                
'title' => $data['page_title']
            );
            
            
$page_names .= replace_all $page_template_str$page_info );
        }
        
        
/**
        *    Printing out the error-message and die().
        */
        
$admin->print_error($MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE'].$msg.$page_names);
    }
}
?>



Regards
Aldus