示例#1
0
        $rowarray[] = $onerow;
        $rowclass == "row1" ? $rowclass = "row2" : ($rowclass = "row1");
    }
    $this->smarty->assign('items', $rowarray);
    $this->smarty->assign('itemcount', count($rowarray));
    $this->smarty->assign('prompt_themename', $this->Lang('prompt_themename'));
    $this->smarty->assign('input_themename', $this->CreateInputText($id, 'input_themename', '', 20, 20));
    $this->smarty->assign('info_themename', $this->Lang('info_themename'));
    $this->smarty->assign('submit', $this->CreateInputSubmit($id, 'submit', $this->Lang('export')));
    $this->smarty->assign('endform', $this->CreateFormEnd());
    echo $this->ProcessTemplate('export.tpl');
    echo $this->EndTab();
}
// the import tab
if ($this->CheckPermission('Add Stylesheets') && $this->CheckPermission('Add Templates') && $this->CheckPermission('Add Stylesheet Assoc')) {
    echo $this->StartTab('import');
    if (FALSE == can_admin_upload()) {
        echo '<div class="pageerrorcontainer"><div class="pageoverflow"><p class="pageerror">' . $this->Lang('error_uploadpermissions') . '</p></div></div>';
        return;
    } else {
        $this->smarty->assign('startform', $this->CreateFormStart($id, 'importtheme', $returnid, 'post', 'multipart/form-data'));
        $this->smarty->assign('prompt_browse', $this->Lang('upload'));
        $this->smarty->assign('input_browse', $this->CreateFileUploadInput($id, 'input_browse', '', 30));
        $this->smarty->assign('submit', $this->CreateInputSubmit($id, 'submit', $this->Lang('import')));
        $this->smarty->assign('endform', $this->CreateFormEnd());
        echo $this->ProcessTemplate('import.tpl');
    }
    echo $this->EndTab();
}
echo "</div>";
// <--strange that one
示例#2
0
 function _DisplayAdminModulesTab($id, &$params, $returnid)
 {
     $caninstall = true;
     if (FALSE == can_admin_upload()) {
         echo '<div class="pageerrorcontainer"><div class="pageoverflow"><p class="pageerror">' . $this->Lang('error_permissions') . '</p></div></div>';
         $caninstall = false;
     }
     $curletter = 'A';
     if (isset($params['curletter'])) {
         $curletter = $params['curletter'];
         $_SESSION['mm_curletter'] = $curletter;
     } else {
         if (isset($_SESSION['mm_curletter'])) {
             $curletter = $_SESSION['mm_curletter'];
         }
     }
     // get the modules available in the repository
     $repmodules = '';
     $newest = $this->GetPreference('onlynewest', 1);
     $result = $this->_GetRepositoryModules($curletter, $newest);
     if (!$result[0]) {
         $this->_DisplayErrorPage($id, $params, $returnid, $result[1]);
         return;
     }
     $repmodules = $result[1];
     // get the modules that are already installed
     $instmodules = '';
     $result = $this->_GetInstalledModules();
     if (!$result[0]) {
         $this->_DisplayErrorPage($id, $params, $returnid, $result[1]);
         return;
     }
     $instmodules = $result[1];
     // build a letters list
     $letters = array();
     $tmp = explode(',', 'A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z');
     foreach ($tmp as $i) {
         if ($i == $curletter) {
             $letters[] = "<strong>{$i}</strong>";
         } else {
             $letters[] = $this->CreateLink($id, 'defaultadmin', $returnid, $i, array('curletter' => $i, 'active_tab' => 'modules'));
         }
     }
     // cross reference them
     $data = array();
     if (count($repmodules)) {
         $data = $this->_BuildModuleData($repmodules, $instmodules);
     }
     if (count($data)) {
         $size = count($data);
         // check for permissions
         $moduledir = dirname(dirname(dirname(__FILE__))) . DIRECTORY_SEPARATOR . "modules";
         $writable = is_writable($moduledir);
         // build the table
         $rowarray = array();
         $rowclass = 'row1';
         $newestdisplayed = "";
         foreach ($data as $row) {
             $onerow = new stdClass();
             $onerow->name = $row['name'];
             $onerow->version = $row['version'];
             $onerow->helplink = $this->CreateLink($id, 'modulehelp', $returnid, $this->Lang('helptxt'), array('name' => $row['name'], 'version' => $row['version'], 'filename' => $row['filename']));
             $onerow->dependslink = $this->CreateLink($id, 'moduledepends', $returnid, $this->Lang('dependstxt'), array('name' => $row['name'], 'version' => $row['version'], 'filename' => $row['filename']));
             $onerow->aboutlink = $this->CreateLink($id, 'moduleabout', $returnid, $this->Lang('abouttxt'), array('name' => $row['name'], 'version' => $row['version'], 'filename' => $row['filename']));
             switch ($row['status']) {
                 case 'incompatible':
                     $onerow->status = $this->Lang('incompatible');
                     break;
                 case 'uptodate':
                     $onerow->status = $this->Lang('uptodate');
                     break;
                 case 'newerversion':
                     $onerow->status = $this->Lang('newerversion');
                     break;
                 case 'notinstalled':
                     $mod = $moduledir . DIRECTORY_SEPARATOR . $row['name'];
                     if (($writable && is_dir($mod) && is_directory_writable($mod) || $writable && !file_exists($mod)) && $caninstall) {
                         $onerow->status = $this->CreateLink($id, 'installmodule', $returnid, $this->Lang('download'), array('name' => $row['name'], 'version' => $row['version'], 'filename' => $row['filename'], 'size' => $row['size']));
                     } else {
                         $onerow->status = $this->Lang('cantdownload');
                     }
                     break;
                 case 'upgrade':
                     $mod = $moduledir . DIRECTORY_SEPARATOR . $row['name'];
                     if (($writable && is_dir($mod) && is_directory_writable($mod) || $writable && !file_exists($mod)) && $caninstall) {
                         $onerow->status = $this->CreateLink($id, 'upgrademodule', $returnid, $this->Lang('upgrade'), array('name' => $row['name'], 'version' => $row['version'], 'filename' => $row['filename'], 'size' => $row['size']));
                     } else {
                         $onerow->status = $this->Lang('cantdownload');
                     }
                     break;
             }
             $onerow->size = (int) ((double) $row['size'] / 1024.0 + 0.5);
             $onerow->rowclass = $rowclass;
             if (isset($row['description'])) {
                 $onerow->description = $row['description'];
             }
             $rowarray[] = $onerow;
             $rowclass == "row1" ? $rowclass = "row2" : ($rowclass = "row1");
         }
         // for
         $this->smarty->assign('items', $rowarray);
         $this->smarty->assign('itemcount', count($rowarray));
     } else {
         $this->smarty->assign('message', $this->Lang('error_connectnomodules'));
     }
     // Setup search form
     $searchstart = $this->CreateFormStart($id, 'searchmod', $returnid);
     $searchend = $this->CreateFormEnd();
     $searchfield = $this->CreateInputText($id, 'search_input', "Doesn't Work", 30, 100);
     //todo
     $searchsubmit = $this->CreateInputSubmit($id, 'submit', 'Search');
     // todo -- $this->Lang('search'));
     $this->smarty->assign('search', $searchstart . $searchfield . $searchsubmit . $searchend);
     // and display our page
     $this->smarty->assign('letters', implode('&nbsp;', array_values($letters)));
     $this->smarty->assign('nametext', $this->Lang('nametext'));
     $this->smarty->assign('vertext', $this->Lang('vertext'));
     $this->smarty->assign('sizetext', $this->Lang('sizetext'));
     $this->smarty->assign('statustext', $this->Lang('statustext'));
     echo $this->processTemplate('adminpanel.tpl');
 }