Exemplo n.º 1
0
 public function getUserLevels($id)
 {
     global $lC_Database;
     $modules = array();
     $Qaccess = $lC_Database->query('select module, level from :table_administrators_access where administrators_groups_id = :administrators_groups_id');
     $Qaccess->bindTable(':table_administrators_access', TABLE_ADMINISTRATORS_ACCESS);
     $Qaccess->bindInt(':administrators_groups_id', $id);
     $Qaccess->execute();
     while ($Qaccess->next()) {
         if (strstr($Qaccess->value('module'), '-')) {
             $modules[substr($Qaccess->value('module'), strpos($Qaccess->value('module'), '-') + 1)] = $Qaccess->value('level');
         } else {
             $modules[$Qaccess->value('module')] = $Qaccess->value('level');
         }
     }
     if (array_key_exists('*', $modules)) {
         $modules = array();
         $lC_DirectoryListing = new lC_DirectoryListing('includes/modules/access');
         $lC_DirectoryListing->setIncludeDirectories(false);
         foreach ($lC_DirectoryListing->getFiles() as $file) {
             $modules[substr($file['name'], 0, strrpos($file['name'], '.'))] = '99';
         }
         $modulesPlusAddons = lC_Addons_Admin::getModulesAccessTopAdmin($modules);
         $modules = $modulesPlusAddons;
     }
     return $modules;
 }
 public function getAll()
 {
     global $lC_Language, $lC_Vqmod;
     $media = $_GET['media'];
     $lC_DirectoryListing = new lC_DirectoryListing('includes/modules/product_attributes');
     $lC_DirectoryListing->setIncludeDirectories(false);
     $lC_DirectoryListing->setStats(true);
     $localFiles = $lC_DirectoryListing->getFiles();
     $addonFiles = lC_Addons_Admin::getAdminAddonsProductAttributesFiles();
     $files = array_merge((array) $localFiles, (array) $addonFiles);
     $cnt = 0;
     $result = array('aaData' => array());
     $installed_modules = array();
     foreach ($files as $file) {
         include $lC_Vqmod->modCheck($file['path']);
         $class = substr($file['name'], 0, strrpos($file['name'], '.'));
         if (class_exists('lC_ProductAttributes_' . $class)) {
             $moduleClass = 'lC_ProductAttributes_' . $class;
             $mod = new $moduleClass();
             $lC_Language->loadIniFile('modules/product_attributes/' . $class . '.php');
             $title = '<td>' . $lC_Language->get('product_attributes_' . $mod->getCode() . '_title') . '</td>';
             $action = '<td class="align-right vertical-center"><span class="button-group compact">';
             if ($mod->isInstalled()) {
                 $action .= '<a href="' . ((int) ($_SESSION['admin']['access']['modules'] < 4) ? '#' : 'javascript://" onclick="uninstallModule(\'' . $mod->getCode() . '\', \'' . urlencode($mod->getTitle()) . '\')') . '" class="button icon-minus-round icon-red' . ((int) ($_SESSION['admin']['access']['modules'] < 4) ? ' disabled' : NULL) . '">' . ($media === 'mobile-portrait' || $media === 'mobile-landscape' ? NULL : $lC_Language->get('icon_uninstall')) . '</a>';
             } else {
                 $action .= '<a href="' . ((int) ($_SESSION['admin']['access']['modules'] < 3) ? '#' : 'javascript://" onclick="installModule(\'' . $mod->getCode() . '\', \'' . urlencode($lC_Language->get('product_attributes_' . $mod->getCode() . '_title')) . '\')') . '" class="button icon-plus-round icon-green' . ((int) ($_SESSION['admin']['access']['modules'] < 3) ? ' disabled' : NULL) . '">' . ($media === 'mobile-portrait' || $media === 'mobile-landscape' ? NULL : $lC_Language->get('button_install')) . '</a>';
             }
             $action .= '</span></td>';
             $result['aaData'][] = array("{$title}", "{$action}");
             $cnt++;
         }
     }
     $result['total'] = $cnt;
     return $result;
 }
Exemplo n.º 3
0
 public static function getAll()
 {
     global $lC_Language;
     $media = $_GET['media'];
     $lC_DirectoryListing = new lC_DirectoryListing(DIR_FS_BACKUP);
     $lC_DirectoryListing->setIncludeDirectories(false);
     $lC_DirectoryListing->setCheckExtension('zip');
     $lC_DirectoryListing->setCheckExtension('sql');
     $lC_DirectoryListing->setCheckExtension('gz');
     $cnt = 0;
     $result = array('aaData' => array());
     foreach ($lC_DirectoryListing->getFiles() as $file) {
         $downloadLink = lc_href_link_admin(FILENAME_DEFAULT, 'backup&action=download&file=' . $file['name']);
         $check = '<td><input class="batch" type="checkbox" name="batch[]" value="' . $file['name'] . '" id="' . $file['name'] . '"></td>';
         $filename = '<td><a href="' . $downloadLink . '"><span class="icon-download icon-orange with-tooltip" title="' . $lC_Language->icon_download . '">&nbsp;' . $file['name'] . '</a></td>';
         $date = '<td>' . lC_DateTime::getShort(lC_DateTime::fromUnixTimestamp(@filemtime(DIR_FS_BACKUP . $file['name'])), true) . '</td>';
         $size = '<td>' . number_format(@filesize(DIR_FS_BACKUP . $file['name'])) . '</td>';
         $action = '<td class="align-right vertical-center"><span class="button-group compact">
   <a href="' . ((int) ($_SESSION['admin']['access']['backup'] < 3) ? '#' : 'javascript://" onclick="restoreEntry(\'' . $file['name'] . '\')') . '" class="button icon-pencil' . ((int) ($_SESSION['admin']['access']['backup'] < 3) ? ' disabled' : NULL) . '">' . ($media === 'mobile-portrait' || $media === 'mobile-landscape' ? NULL : $lC_Language->get('icon_restore')) . '</a>
   <a href="' . ((int) ($_SESSION['admin']['access']['backup'] < 4) ? '#' : 'javascript://" onclick="deleteEntry(\'' . $file['name'] . '\', \'' . urlencode($file['name']) . '\')') . '" class="button icon-trash with-tooltip' . ((int) ($_SESSION['admin']['access']['backup'] < 4) ? ' disabled' : NULL) . '" title="' . $lC_Language->get('icon_delete') . '"></a>
   </span></td>';
         $result['aaData'][] = array("{$check}", "{$filename}", "{$date}", "{$size}", "{$action}");
         $cnt++;
     }
     $result['total'] = $cnt;
     return $result;
 }
Exemplo n.º 4
0
 public static function getAll()
 {
     global $lC_Language, $lC_Vqmod;
     $media = $_GET['media'];
     $lC_DirectoryListing = new lC_DirectoryListing('includes/modules/image');
     $lC_DirectoryListing->setIncludeDirectories(false);
     $lC_DirectoryListing->setCheckExtension('php');
     $cnt = 0;
     $result = array('aaData' => array());
     foreach ($lC_DirectoryListing->getFiles() as $file) {
         include $lC_Vqmod->modCheck('includes/modules/image/' . $file['name']);
         $class = 'lC_Image_Admin_' . substr($file['name'], 0, strrpos($file['name'], '.'));
         if (class_exists($class)) {
             $module = new $class();
             $name = '<td>' . $module->getTitle() . '</td>';
             $action = '<td class="align-right vertical-center"><span class="button-group">
                <a href="' . ((int) ($_SESSION['admin']['access']['images'] < 3) ? '#' : 'javascript://" onclick="doAction(\'' . str_ireplace('.php', '', $file['name']) . '\', \'' . urlencode(str_ireplace('.php', '', $file['name'])) . '\')') . '" class="button icon-gear' . ((int) ($_SESSION['admin']['access']['images'] < 3) ? ' disabled' : NULL) . '">' . ($media === 'mobile-portrait' || $media === 'mobile-landscape' ? NULL : $lC_Language->get('icon_run')) . '</a>
              </span></td>';
             $result['aaData'][] = array("{$name}", "{$action}");
             $cnt++;
         }
     }
     $result['total'] = $cnt;
     return $result;
 }
Exemplo n.º 5
0
 public static function getFormData($id = null)
 {
     global $lC_Language;
     $result = array();
     $lC_DirectoryListing = new lC_DirectoryListing('../includes/modules/variants');
     $lC_DirectoryListing->setIncludeDirectories(false);
     $lC_DirectoryListing->setCheckExtension('php');
     if ($id != null && is_numeric($id)) {
         $result['pvData'] = lC_Product_variants_Admin::getData($id, $lC_Language->getID());
     }
     $modules_array = array();
     foreach ($lC_DirectoryListing->getFiles() as $file) {
         $module = substr($file['name'], 0, strrpos($file['name'], '.'));
         $modules_array[$module] = $module;
     }
     $result['modulesArray'] = $modules_array;
     $result['groupNames'] = '';
     $result['editGroupNames'] = '';
     foreach ($lC_Language->getAll() as $l) {
         if ($id != null && is_numeric($id)) {
             $result['editGroupNames'] .= '<span class="input" style="width:88%"><label for="name[' . $l['id'] . ']" class="button silver-gradient glossy">' . $lC_Language->showImage($l['code']) . '</label>' . lc_draw_input_field('group_name[' . $l['id'] . ']', $result['pvData']['title'], 'id="editGroupName[' . $l['id'] . ']" class="input-unstyled"') . '</span><br />';
         } else {
             $result['groupNames'] .= '<span class="input" style="width:88%"><label for="name[' . $l['id'] . ']" class="button silver-gradient glossy">' . $lC_Language->showImage($l['code']) . '</label>' . lc_draw_input_field('group_name[' . $l['id'] . ']', null, 'class="input-unstyled"') . '</span><br />';
         }
     }
     return $result;
 }
Exemplo n.º 6
0
 public static function getAll()
 {
     global $lC_Language, $lC_Vqmod;
     $media = $_GET['media'];
     $lC_DirectoryListing = new lC_DirectoryListing('../includes/modules/' . $_GET['set']);
     $lC_DirectoryListing->setIncludeDirectories(false);
     include $lC_Vqmod->modCheck('../includes/classes/modules.php');
     $lC_Language->load('modules-' . $_GET['set'], null, false);
     $result = array('aaData' => array());
     foreach ($lC_DirectoryListing->getFiles() as $file) {
         include $lC_Vqmod->modCheck('../includes/modules/' . $_GET['set'] . '/' . $file['name']);
         $code = substr($file['name'], 0, strrpos($file['name'], '.'));
         $class = 'lC_' . ucfirst($_GET['set']) . '_' . $code;
         if (class_exists($class)) {
             $lC_Language->injectDefinitions('modules/' . $_GET['set'] . '/' . $code . '.xml');
             $module = new $class();
             $name = '<td>' . $module->getTitle() . '</td>';
             $action = '<td class="align-right vertical-center"><span class="button-group compact" style="white-space:nowrap;">';
             if ($module->isInstalled()) {
                 if ($module->hasKeys()) {
                     $action .= '<a href="' . ((int) ($_SESSION['admin']['access']['templates'] < 3) ? '#' : 'javascript://" onclick="editModule(\'' . str_ireplace('.php', '', $file['name']) . '\')') . '" class="button icon-pencil' . ((int) ($_SESSION['admin']['access']['templates'] < 3) ? ' disabled' : NULL) . '">' . ($media === 'mobile-portrait' || $media === 'mobile-landscape' ? NULL : $lC_Language->get('icon_edit')) . '</a>';
                 }
                 $action .= '<a href="' . ((int) ($_SESSION['admin']['access']['templates'] < 3) ? '#' : 'javascript://" onclick="uninstallModule(\'' . str_ireplace('.php', '', $file['name']) . '\', \'' . $module->getTitle() . '\')') . '" class="button icon-minus-round icon-red with-tooltip' . ((int) ($_SESSION['admin']['access']['templates'] < 3) ? ' disabled' : NULL) . '" title="' . $lC_Language->get('icon_uninstall') . '"></a>';
             } else {
                 $action .= '<a href="' . ((int) ($_SESSION['admin']['access']['templates'] < 3) ? '#' : 'javascript://" onclick="installModule(\'' . str_ireplace('.php', '', $file['name']) . '\', \'' . $module->getTitle() . '\')') . '" class="button icon-plus-round icon-green with-tooltip' . ((int) ($_SESSION['admin']['access']['templates'] < 3) ? ' disabled' : NULL) . '" title="' . $lC_Language->get('icon_install') . '"></a>';
             }
             $action .= '<a href="' . ((int) ($_SESSION['admin']['access']['templates'] < 3) ? '#' : 'javascript://" onclick="showInfo(\'' . str_ireplace('.php', '', $file['name']) . '\', \'' . $module->getTitle() . '\')') . '" class="button icon-question-round icon-blue with-tooltip' . ((int) ($_SESSION['admin']['access']['templates'] < 3) ? ' disabled' : NULL) . '" title="' . $lC_Language->get('icon_info') . '"></a>';
             $action .= '</span></td>';
             $result['aaData'][] = array("{$name}", "{$action}");
             $cnt++;
         }
     }
     return $result;
 }
Exemplo n.º 7
0
 public static function formData($id = null)
 {
     global $lC_Database, $lC_Language, $lC_Vqmod;
     $lC_DirectoryListing = new lC_DirectoryListing('includes/modules/newsletters');
     $lC_DirectoryListing->setIncludeDirectories(false);
     $modules_array = array();
     foreach ($lC_DirectoryListing->getFiles() as $file) {
         $module = substr($file['name'], 0, strrpos($file['name'], '.'));
         $lC_Language->loadIniFile('modules/newsletters/' . $file['name']);
         include $lC_Vqmod->modCheck('includes/modules/newsletters/' . $file['name']);
         $newsletter_module_class = 'lC_Newsletter_' . $module;
         $lC_NewsletterModule = new $newsletter_module_class();
         $modules_array[$module] = $lC_NewsletterModule->getTitle();
     }
     $result['modulesArray'] = $modules_array;
     if ($id != null) {
         $Qnewsletter = $lC_Database->query('select * from :table_newsletters where newsletters_id = :newsletters_id');
         $Qnewsletter->bindTable(':table_newsletters', TABLE_NEWSLETTERS);
         $Qnewsletter->bindInt(':newsletters_id', $id);
         $Qnewsletter->execute();
         $data = $Qnewsletter->toArray();
         $Qnewsletter->freeResult();
         $result = array_merge((array) $result, (array) $data);
     }
     return $result;
 }
Exemplo n.º 8
0
 protected function _initialize()
 {
     global $lC_Vqmod;
     $lC_DirectoryListing = new lC_DirectoryListing(DIR_FS_CATALOG . 'addons');
     $lC_DirectoryListing->setRecursive(true);
     $lC_DirectoryListing->setIncludeDirectories(false);
     $lC_DirectoryListing->setCheckExtension('php');
     $lC_DirectoryListing->setStats(true);
     $enabled = '';
     $lC_Addons_data = array();
     foreach ($lC_DirectoryListing->getFiles() as $addon) {
         $ao = utility::cleanArr($addon);
         if ($ao['name'] != 'controller.php') {
             continue;
         }
         $nameArr = explode('/', $ao['path']);
         $class = $nameArr[count($nameArr) - 2];
         if (file_exists($ao['path'])) {
             include_once $lC_Vqmod->modCheck($ao['path']);
             $aoData = new $class();
             $_SESSION['lC_Addons_data'][$class] = array('type' => $aoData->getAddonType(), 'title' => $aoData->getAddonTitle(), 'description' => $aoData->getAddonDescription(), 'rating' => $aoData->getAddonRating(), 'author' => $aoData->getAddonAuthor(), 'authorWWW' => $aoData->getAddonAuthorWWW(), 'thumbnail' => $aoData->getAddonThumbnail(), 'version' => $aoData->getAddonVersion(), 'compatibility' => $aoData->getCompatibility(), 'installed' => $aoData->isInstalled(), 'mobile' => $aoData->isMobileEnabled(), 'enabled' => $aoData->isEnabled());
             if ($aoData->isEnabled()) {
                 $enabled .= $addon['path'] . ';';
             }
         }
     }
     if ($enabled != '') {
         $enabled = substr($enabled, 0, -1);
     }
     if (!file_exists(DIR_FS_WORK . 'cache/addons.cache')) {
         file_put_contents(DIR_FS_WORK . 'cache/addons.cache', serialize($enabled));
     }
     $this->_data = $_SESSION['lC_Addons_data'];
 }
Exemplo n.º 9
0
 public static function getAll()
 {
     global $lC_Language;
     if (!defined('LC_ADMIN_FILE_MANAGER_ROOT_PATH')) {
         define('LC_ADMIN_FILE_MANAGER_ROOT_PATH', substr(DIR_FS_CATALOG, 0, -1));
     }
     $media = $_GET['media'];
     $goto_array = array(array('id' => '', 'text' => $lC_Language->get('top_level')));
     if ($_SESSION['fm_directory'] != LC_ADMIN_FILE_MANAGER_ROOT_PATH) {
         $path_array = explode('/', substr($_SESSION['fm_directory'], strlen(LC_ADMIN_FILE_MANAGER_ROOT_PATH) + 1));
         foreach ($path_array as $value) {
             if (sizeof($goto_array) < 2) {
                 $goto_array[] = array('id' => $value, 'text' => $value);
             } else {
                 $parent = end($goto_array);
                 $goto_array[] = array('id' => $parent['id'] . '/' . $value, 'text' => $parent['id'] . '/' . $value);
             }
         }
     }
     $lC_DirectoryListing = new lC_DirectoryListing($_SESSION['fm_directory']);
     $lC_DirectoryListing->setStats(true);
     $result = array('aaData' => array());
     if ($_SESSION['fm_directory'] != LC_ADMIN_FILE_MANAGER_ROOT_PATH) {
         $files = '<td>' . lc_link_object(lc_href_link_admin(FILENAME_DEFAULT, 'file_manager&goto=' . $goto_array[sizeof($goto_array) - 2]['id']), '<span class="icon-up-fat icon-blue">&nbsp;' . $lC_Language->get('parent_level')) . '</td>';
         $result['aaData'][] = array("{$files}", "", "", "", "", "", "", "");
     }
     $cnt = 0;
     foreach ($lC_DirectoryListing->getFiles() as $file) {
         $file_owner = posix_getpwuid($file['user_id']);
         $group_owner = posix_getgrgid($file['group_id']);
         if ($file['is_directory'] === true) {
             $entry_url = lc_href_link_admin(FILENAME_DEFAULT, 'file_manager&directory=' . $file['name']);
             $files = '<td>' . lc_link_object($entry_url, '<span class="icon-folder icon-orange">&nbsp;' . $file['name']) . '</td>';
         } else {
             $entry_url = lc_href_link_admin(FILENAME_DEFAULT, 'file_manager&entry=' . $file['name'] . '&action=save');
             $files = '<td><a href="javascript:void(0);" onclick="editEntry(\'' . $file['name'] . '\')">' . '<span class="icon-page-list icon-blue">&nbsp;' . $file['name'] . '</a></td>';
         }
         $size = '<td>' . number_format($file['size']) . '</td>';
         $perms = '<td>' . lc_get_file_permissions($file['permissions']) . '</td>';
         $user = '******' . $file_owner['name'] . '</td>';
         $group = '<td>' . $group_owner['name'] . '</td>';
         $write = '<td>' . is_writable($lC_DirectoryListing->getDirectory() . '/' . $file['name']) ? '<span class="icon-tick icon-green">' : '<span class="icon-cross icon-red">' . '</td>';
         $last = '<td>' . lC_DateTime::getShort(@date('Y-m-d H:i:s', $file['last_modified']), true) . '</td>';
         if ($file['is_directory'] === false) {
             $action_links = '<a href="' . ((int) ($_SESSION['admin']['access']['file_manager'] < 3) ? '#' : 'javascript://" onclick="editEntry(\'' . $file['name'] . '\')') . '" class="button icon-pencil' . ((int) ($_SESSION['admin']['access']['file_manager'] < 3) ? ' disabled' : NULL) . '">' . ($media === 'mobile-portrait' || $media === 'mobile-landscape' ? NULL : $lC_Language->get('icon_edit')) . '</a>' . '<a href="' . ((int) ($_SESSION['admin']['access']['file_manager'] < 2) ? '#' : lc_href_link_admin(FILENAME_DEFAULT, 'file_manager&entry=' . $file['name'] . '&action=download')) . '" class="button icon-download with-tooltip' . ((int) ($_SESSION['admin']['access']['file_manager'] < 2) ? ' disabled' : NULL) . '" title="' . $lC_Language->get('icon_download') . '"></a>' . '<a href="' . ((int) ($_SESSION['admin']['access']['file_manager'] < 4) ? '#' : 'javascript://" onclick="deleteEntry(\'' . $file['name'] . '\', \'' . urlencode($file['name']) . '\')"') . '" class="button icon-trash with-tooltip' . ((int) ($_SESSION['admin']['access']['file_manager'] < 4) ? ' disabled' : NULL) . '" title="' . $lC_Language->get('icon_delete') . '"></a>';
         } else {
             $action_links = '<a href="' . ((int) ($_SESSION['admin']['access']['file_manager'] < 4) ? '#' : 'javascript://" onclick="deleteEntry(\'' . $file['name'] . '\', \'' . urlencode($file['name']) . '\')"') . '" class="button icon-trash' . ((int) ($_SESSION['admin']['access']['file_manager'] < 4) ? ' disabled' : NULL) . '" title="' . $lC_Language->get('icon_delete') . '"></a>';
         }
         $action = '<td class="align-right vertical-center"><span class="button-group compact">
                ' . $action_links . '
              </span></td>';
         $result['aaData'][] = array("{$files}", "{$size}", "{$perms}", "{$user}", "{$group}", "{$write}", "{$last}", "{$action}");
         $cnt++;
     }
     $result['total'] = $cnt;
     return $result;
 }
Exemplo n.º 10
0
 public static function getAll()
 {
     global $lC_Language, $lC_Vqmod;
     $media = $_GET['media'];
     $lC_DirectoryListing = new lC_DirectoryListing('includes/templates');
     $lC_DirectoryListing->setIncludeDirectories(false);
     $files = $lC_DirectoryListing->getFiles();
     $cnt = 0;
     $result = array('aaData' => array());
     // sort the array of files so the default template is at top
     $default = array();
     $other = array();
     foreach ($files as $file) {
         if (strpos($file['name'], '.') !== (int) 0) {
             $code = substr($file['name'], 0, strrpos($file['name'], '.'));
             if ($code == DEFAULT_TEMPLATE) {
                 $default[] = $file;
             } else {
                 $other[] = $file;
             }
             $sorted = array_merge((array) $default, (array) $other);
         }
     }
     foreach ($sorted as $file) {
         if (strpos($file['name'], '.') !== (int) 0) {
             include $lC_Vqmod->modCheck('includes/templates/' . $file['name']);
             $code = substr($file['name'], 0, strrpos($file['name'], '.'));
             $class = 'lC_Template_' . $code;
             if (class_exists($class)) {
                 $module = new $class();
                 $image = '<a href="' . ((int) ($_SESSION['admin']['access']['templates'] < 3) ? '#' : 'javascript://" onclick="showInfo(\'' . str_ireplace('.php', '', $file['name']) . '\', \'' . $module->getTitle() . '\')') . '" class="' . ((int) ($_SESSION['admin']['access']['templates'] < 3) ? ' disabled' : NULL) . '">' . lc_image(DIR_WS_CATALOG . 'templates/' . $code . '/images/' . $module->getScreenshot(), null, 160, 120) . '</a>';
                 $module_title = $module->getTitle();
                 if ($module->getCode() == DEFAULT_TEMPLATE) {
                     $module_title .= '<small class="tag purple-gradient glossy margin-left">' . $lC_Language->get('default_entry') . '</small>';
                 }
                 $name = '<div class="strong">' . $module_title . '</div><div class="mid-margin-top"><a href="' . $module->getAuthorAddress() . '" target="_blank">' . $module->getAuthorName() . '</a></div><div class="mid-margin-top"><small>' . $module->getMarkup() . ' ' . $module->getMedium() . '</small></div>';
                 $action = '<span class="button-group compact">';
                 if ($module->isInstalled() && $module->isActive()) {
                     if ($module->hasKeys() || $module->getCode() != DEFAULT_TEMPLATE) {
                         $action .= '<a href="' . ((int) ($_SESSION['admin']['access']['templates'] < 3) ? '#' : 'javascript://" onclick="editTemplate(\'' . str_ireplace('.php', '', $file['name']) . '\')') . '" class="button icon-pencil' . ((int) ($_SESSION['admin']['access']['templates'] < 3) ? ' disabled' : NULL) . '">' . ($media === 'mobile-portrait' || $media === 'mobile-landscape' ? NULL : $lC_Language->get('icon_edit')) . '</a>';
                     }
                     if ($module->getCode() != DEFAULT_TEMPLATE) {
                         $action .= '<a href="' . ((int) ($_SESSION['admin']['access']['templates'] < 3) ? '#' : 'javascript://" onclick="uninstallTemplate(\'' . str_ireplace('.php', '', $file['name']) . '\', \'' . $module->getTitle() . '\')') . '" class="button icon-minus-round icon-red with-tooltip' . ((int) ($_SESSION['admin']['access']['templates'] < 3) ? ' disabled' : NULL) . '" title="' . $lC_Language->get('icon_uninstall') . '"></a>';
                     }
                 } else {
                     $action .= '<a href="' . ((int) ($_SESSION['admin']['access']['templates'] < 3) ? '#' : 'javascript://" onclick="installTemplate(\'' . str_ireplace('.php', '', $file['name']) . '\', \'' . $module->getTitle() . '\')') . '" class="button icon-plus-round icon-green with-tooltip' . ((int) ($_SESSION['admin']['access']['templates'] < 3) ? ' disabled' : NULL) . '" title="' . $lC_Language->get('icon_install') . '"></a>';
                 }
                 $action .= '<a href="' . ((int) ($_SESSION['admin']['access']['templates'] < 3) ? '#' : 'javascript://" onclick="showInfo(\'' . str_ireplace('.php', '', $file['name']) . '\', \'' . $module->getTitle() . '\')') . '" class="button icon-camera icon-blue with-tooltip' . ((int) ($_SESSION['admin']['access']['templates'] < 3) ? ' disabled' : NULL) . '" title="' . $lC_Language->get('icon_preview') . '"></a>';
                 $result['aaData'][] = array("{$image}", "{$name}", "{$action}");
                 $cnt++;
             }
         }
     }
     return $result;
 }
Exemplo n.º 11
0
 public function lC_LanguageInstall()
 {
     $lC_DirectoryListing = new lC_DirectoryListing('../includes/languages');
     $lC_DirectoryListing->setIncludeDirectories(false);
     $lC_DirectoryListing->setCheckExtension('xml');
     foreach ($lC_DirectoryListing->getFiles() as $file) {
         $lC_XML = new lC_XML(file_get_contents('../includes/languages/' . $file['name']));
         $lang = $lC_XML->toArray();
         $this->_languages[$lang['language']['data']['code']] = array('name' => $lang['language']['data']['title'], 'code' => $lang['language']['data']['code'], 'charset' => $lang['language']['data']['character_set']);
     }
     unset($lang);
     $language = isset($_GET['language']) && !empty($_GET['language']) ? $_GET['language'] : '';
     $this->set($language);
     $this->loadIniFile();
     $this->loadIniFile(basename($_SERVER['SCRIPT_FILENAME']));
 }
Exemplo n.º 12
0
 public static function getAll()
 {
     global $lC_Language, $lC_Template, $lC_Vqmod;
     $media = $_GET['media'];
     $lC_DirectoryListing = new lC_DirectoryListing('includes/modules/order_total');
     $lC_DirectoryListing->setIncludeDirectories(false);
     $files = $lC_DirectoryListing->getFiles();
     $installed_modules = array();
     $result = array('aaData' => array());
     foreach ($files as $file) {
         include $lC_Vqmod->modCheck('includes/modules/order_total/' . $file['name']);
         $class = substr($file['name'], 0, strrpos($file['name'], '.'));
         if (class_exists('lC_OrderTotal_' . $class)) {
             $lC_Language->injectDefinitions('modules/order_total/' . $class . '.xml');
             $module = 'lC_OrderTotal_' . $class;
             $module = new $module();
             $name = '<td>' . $module->_title . '</td>';
             $sort = '<td>' . $module->_sort_order . '</td>';
             if ($module->_title == null) {
                 continue;
             }
             if ($module->isInstalled()) {
                 $action = '<td class="align-right vertical-center"><span class="button-group compact">
                    <a href="' . ((int) ($_SESSION['admin']['access']['modules'] < 3) ? '#' : 'javascript://" onclick="editModule(\'' . $module->_code . '\')') . '" class="button icon-pencil' . ((int) ($_SESSION['admin']['access']['modules'] < 3) ? ' disabled' : NULL) . '">' . ($media === 'mobile-portrait' || $media === 'mobile-landscape' ? NULL : $lC_Language->get('icon_edit')) . '</a>
                    <a href="' . ((int) ($_SESSION['admin']['access']['modules'] < 4) ? '#' : 'javascript://" onclick="uninstallModule(\'' . $module->_code . '\', \'' . urlencode($module->_title) . '\')') . '" class="button icon-minus-round icon-red with-tooltip' . ((int) ($_SESSION['admin']['access']['modules'] < 4) ? ' disabled' : NULL) . '" title="' . $lC_Language->get('icon_uninstall') . '"></a>
                  </span></td>';
             } else {
                 $action = '<td class="align-right vertical-center"><span class="button-group compact">
                    <a href="' . ((int) ($_SESSION['admin']['access']['modules'] < 2) ? '#' : 'javascript://" onclick="installModule(\'' . $module->_code . '\')') . '" class="button icon-plus-round icon-green' . ((int) ($_SESSION['admin']['access']['modules'] < 2) ? ' disabled' : NULL) . '">' . ($media === 'mobile-portrait' || $media === 'mobile-landscape' ? NULL : $lC_Language->get('icon_install')) . '</a>
                  </span></td>';
             }
             $result['aaData'][] = array("{$name}", "{$sort}", "{$action}");
             $result['entries'][] = array('module_class' => $class, 'module_title' => $module->_title);
         }
     }
     return $result;
 }
Exemplo n.º 13
0
 public static function getAll()
 {
     global $lC_Language, $_module;
     $media = $_GET['media'];
     $lC_DirectoryListing = new lC_DirectoryListing(DIR_FS_WORK . 'cache/');
     $lC_DirectoryListing->setIncludeDirectories(false);
     $lC_DirectoryListing->setCheckExtension('cache');
     $cached_files = array();
     foreach ($lC_DirectoryListing->getFiles() as $file) {
         $last_modified = filemtime(DIR_FS_WORK . 'cache/' . $file['name']);
         if (strpos($file['name'], '-') !== false) {
             $code = substr($file['name'], 0, strpos($file['name'], '-'));
         } else {
             $code = substr($file['name'], 0, strpos($file['name'], '.'));
         }
         if (isset($cached_files[$code])) {
             $cached_files[$code]['total']++;
             if ($last_modified > $cached_files[$code]['last_modified']) {
                 $cached_files[$code]['last_modified'] = $last_modified;
             }
         } else {
             $cached_files[$code] = array('total' => 1, 'last_modified' => $last_modified);
         }
     }
     $result = array('aaData' => array());
     foreach ($cached_files as $cache => $stats) {
         $check = '<td><input class="batch" type="checkbox" name="batch[]" value="' . $cache . '" id="' . $cache . '"></td>';
         $block = '<td>' . $cache . '</td>';
         $total = '<td>' . $stats['total'] . '</td>';
         $last = '<td>' . lC_DateTime::getShort(lC_DateTime::fromUnixTimestamp($stats['last_modified']), true) . '</td>';
         $action = '<td><span class="button-group compact">
                <a href="' . ((int) ($_SESSION['admin']['access'][$_module] < 4) ? '#' : 'javascript://" onclick="deleteEntry(\'' . $cache . '\', \'' . urlencode($cache) . '\')') . '" class="button icon-trash' . ((int) ($_SESSION['admin']['access'][$_module] < 4) ? ' disabled' : NULL) . '">' . ($media === 'mobile-portrait' || $media === 'mobile-landscape' ? NULL : $lC_Language->get('icon_delete')) . '</a>
              </span></td>';
         $result['aaData'][] = array("{$check}", "{$block}", "{$total}", "{$last}", "{$action}");
     }
     return $result;
 }
Exemplo n.º 14
0
 public static function getAll()
 {
     global $lC_Language, $lC_Vqmod;
     $media = $_GET['media'];
     $lC_DirectoryListing = new lC_DirectoryListing('includes/modules/statistics');
     $lC_DirectoryListing->setIncludeDirectories(false);
     $lC_DirectoryListing->setCheckExtension('php');
     $cnt = 0;
     foreach ($lC_DirectoryListing->getFiles() as $file) {
         include $lC_Vqmod->modCheck('includes/modules/statistics/' . $file['name']);
         $class = 'lC_Statistics_' . str_replace(' ', '_', ucwords(str_replace('_', ' ', substr($file['name'], 0, strrpos($file['name'], '.')))));
         if (class_exists($class)) {
             $module = new $class();
             $name = '<td>' . lc_link_object(lc_href_link_admin(FILENAME_DEFAULT, 'statistics&module=' . substr($file['name'], 0, strrpos($file['name'], '.'))), $module->getIcon() . '&nbsp;' . $module->getTitle()) . '</td>';
             $action = '<td class="align-right vertical-center"><span class="button-group">
                  <a href="' . ((int) ($_SESSION['admin']['access']['banner_manager'] < 3) ? '#' : lc_href_link_admin(FILENAME_DEFAULT, 'statistics&module=' . substr($file['name'], 0, strrpos($file['name'], '.')))) . '" class="button icon-gear' . ((int) ($_SESSION['admin']['access']['banner_manager'] < 3) ? ' disabled' : NULL) . '">' . ($media === 'mobile-portrait' || $media === 'mobile-landscape' ? NULL : $lC_Language->get('icon_run')) . '</a>
                </span></td>';
             $result['aaData'][] = array("{$name}", "{$action}");
             $cnt++;
         }
     }
     $result['total'] = $cnt;
     return $result;
 }
Exemplo n.º 15
0
 public static function getAll()
 {
     global $lC_Language, $lC_Template, $lC_Vqmod;
     $media = $_GET['media'];
     $lC_DirectoryListing = new lC_DirectoryListing('includes/modules/geoip');
     $lC_DirectoryListing->setIncludeDirectories(false);
     $files = $lC_DirectoryListing->getFiles();
     $installed = explode(';', MODULE_SERVICES_INSTALLED);
     $result = array('aaData' => array());
     foreach ($files as $file) {
         include $lC_Vqmod->modCheck('includes/modules/geoip/' . $file['name']);
         $class = substr($file['name'], 0, strrpos($file['name'], '.'));
         if (class_exists('lC_GeoIP_' . $class)) {
             $lC_Language->loadIniFile('modules/geoip/' . $class . '.php');
             $module = 'lC_GeoIP_' . $class;
             $module = new $module();
             $name = '<td>' . $module->getTitle() . '</td>';
             $action = '<td class="align-right vertical-center"><span class="button-group compact" style="white-space:nowrap;">';
             if ($module->isInstalled()) {
                 if (sizeof($module->getKeys()) > 0) {
                     $action .= '<a href="' . ((int) ($_SESSION['admin']['access']['modules'] < 4) ? '#' : 'javascript://" onclick="editModule(\'' . $class . '\')') . '" class="button icon-pencil' . ((int) ($_SESSION['admin']['access']['modules'] < 4) ? ' disabled' : NULL) . '">' . ($media === 'mobile-portrait' || $media === 'mobile-landscape' ? NULL : $lC_Language->get('icon_edit')) . '</a>';
                     $action .= '<a href="' . ((int) ($_SESSION['admin']['access']['modules'] < 2) ? '#' : 'javascript://" onclick="showInfo(\'' . $class . '\', \'' . urlencode($module->getTitle()) . '\')') . '" class="button icon-question-round icon-blue with-tooltip' . ((int) ($_SESSION['admin']['access']['modules'] < 2) ? ' disabled' : NULL) . '" title="' . $lC_Language->get('button_info') . '"></a>';
                 } else {
                     $action .= '<a href="' . ((int) ($_SESSION['admin']['access']['modules'] < 2) ? '#' : 'javascript://" onclick="showInfo(\'' . $class . '\', \'' . urlencode($module->getTitle()) . '\')') . '" class="button icon-question-round icon-blue' . ((int) ($_SESSION['admin']['access']['modules'] < 2) ? ' disabled' : NULL) . '">' . ($media === 'mobile-portrait' || $media === 'mobile-landscape' ? NULL : $lC_Language->get('button_info')) . '</a>';
                 }
                 $action .= '<a href="' . ((int) ($_SESSION['admin']['access']['modules'] < 4) ? '#' : 'javascript://" onclick="uninstallModule(\'' . $class . '\', \'' . urlencode($module->getTitle()) . '\')') . '" class="button icon-minus-round icon-red with-tooltip' . ((int) ($_SESSION['admin']['access']['modules'] < 4) ? ' disabled' : NULL) . '" title="' . $lC_Language->get('icon_uninstall') . '"></a>';
             } else {
                 $action .= '<a href="' . ((int) ($_SESSION['admin']['access']['modules'] < 2) ? '#' : 'javascript://" onclick="showInfo(\'' . $class . '\', \'' . urlencode($module->getTitle()) . '\')') . '" class="button icon-question-round icon-blue' . ((int) ($_SESSION['admin']['access']['modules'] < 2) ? ' disabled' : NULL) . '">' . ($media === 'mobile-portrait' || $media === 'mobile-landscape' ? NULL : $lC_Language->get('button_info')) . '</a>';
                 $action .= '<a href="' . ((int) ($_SESSION['admin']['access']['modules'] < 3) ? '#' : 'javascript://" onclick="installModule(\'' . $class . '\', \'' . urlencode($module->getTitle()) . '\')') . '" class="button icon-plus-round icon-green with-tooltip' . ((int) ($_SESSION['admin']['access']['modules'] < 3) ? ' disabled' : NULL) . '" title="' . $lC_Language->get('icon_install') . '"></a>';
             }
             $action .= '</span></td>';
         }
         $result['aaData'][] = array("{$name}", "{$action}");
     }
     return $result;
 }
Exemplo n.º 16
0
 public static function import($file, $type)
 {
     global $lC_Database, $lC_Currencies;
     if (file_exists('../includes/languages/' . $file . '.xml')) {
         $lC_XML = new lC_XML(file_get_contents('../includes/languages/' . $file . '.xml'));
         $source = $lC_XML->toArray();
         $language = array('name' => $source['language']['data']['title'], 'code' => $source['language']['data']['code'], 'locale' => $source['language']['data']['locale'], 'charset' => $source['language']['data']['character_set'], 'date_format_short' => $source['language']['data']['date_format_short'], 'date_format_long' => $source['language']['data']['date_format_long'], 'time_format' => $source['language']['data']['time_format'], 'text_direction' => $source['language']['data']['text_direction'], 'currency' => $source['language']['data']['default_currency'], 'numeric_separator_decimal' => $source['language']['data']['numerical_decimal_separator'], 'numeric_separator_thousands' => $source['language']['data']['numerical_thousands_separator'], 'parent_language_code' => isset($source['language']['data']['parent_language_code']) ? $source['language']['data']['parent_language_code'] : '', 'parent_id' => 0);
         if (lC_Currencies_Admin::exists($language['currency']) === false) {
             $language['currency'] = DEFAULT_CURRENCY;
         }
         if (!empty($language['parent_language_code']) && self::exists($language['parent_language_code'])) {
             $language['parent_id'] = self::get($language['parent_language_code'], 'languages_id');
         }
         $definitions = array();
         if (isset($source['language']['definitions']['definition'])) {
             $definitions = $source['language']['definitions']['definition'];
             if (isset($definitions['key']) && isset($definitions['value']) && isset($definitions['group'])) {
                 $definitions = array(array('key' => $definitions['key'], 'value' => $definitions['value'], 'group' => $definitions['group']));
             }
         }
         unset($source);
         $error = false;
         $add_category_and_product_placeholders = true;
         $lC_Database->startTransaction();
         $language_id = self::get($language['code'], 'languages_id');
         if ($language_id !== false) {
             $add_category_and_product_placeholders = false;
             $Qlanguage = $lC_Database->query('update :table_languages set name = :name, code = :code, locale = :locale, charset = :charset, date_format_short = :date_format_short, date_format_long = :date_format_long, time_format = :time_format, text_direction = :text_direction, currencies_id = :currencies_id, numeric_separator_decimal = :numeric_separator_decimal, numeric_separator_thousands = :numeric_separator_thousands, parent_id = :parent_id where languages_id = :languages_id');
             $Qlanguage->bindInt(':languages_id', $language_id);
         } else {
             $Qlanguage = $lC_Database->query('insert into :table_languages (name, code, locale, charset, date_format_short, date_format_long, time_format, text_direction, currencies_id, numeric_separator_decimal, numeric_separator_thousands, parent_id) values (:name, :code, :locale, :charset, :date_format_short, :date_format_long, :time_format, :text_direction, :currencies_id, :numeric_separator_decimal, :numeric_separator_thousands, :parent_id)');
         }
         $Qlanguage->bindTable(':table_languages', TABLE_LANGUAGES);
         $Qlanguage->bindValue(':name', $language['name']);
         $Qlanguage->bindValue(':code', $language['code']);
         $Qlanguage->bindValue(':locale', $language['locale']);
         $Qlanguage->bindValue(':charset', $language['charset']);
         $Qlanguage->bindValue(':date_format_short', $language['date_format_short']);
         $Qlanguage->bindValue(':date_format_long', $language['date_format_long']);
         $Qlanguage->bindValue(':time_format', $language['time_format']);
         $Qlanguage->bindValue(':text_direction', $language['text_direction']);
         $Qlanguage->bindInt(':currencies_id', lC_Currencies_Admin::getData($language['currency'], 'currencies_id'));
         $Qlanguage->bindValue(':numeric_separator_decimal', $language['numeric_separator_decimal']);
         $Qlanguage->bindValue(':numeric_separator_thousands', $language['numeric_separator_thousands']);
         $Qlanguage->bindInt(':parent_id', $language['parent_id']);
         $Qlanguage->setLogging($_SESSION['module'], $language_id !== false ? $language_id : null);
         $Qlanguage->execute();
         if ($lC_Database->isError()) {
             $error = true;
         } else {
             if ($language_id === false) {
                 $language_id = $lC_Database->nextID();
             }
             $default_language_id = lC_Languages_Admin::get(DEFAULT_LANGUAGE, 'languages_id');
             if ($type == 'replace') {
                 $Qdel = $lC_Database->query('delete from :table_languages_definitions where languages_id = :languages_id');
                 $Qdel->bindTable(':table_languages_definitions', TABLE_LANGUAGES_DEFINITIONS);
                 $Qdel->bindInt(':languages_id', $language_id);
                 $Qdel->execute();
                 if ($lC_Database->isError()) {
                     $error = true;
                 }
             }
         }
         if ($error === false) {
             $lC_DirectoryListing = new lC_DirectoryListing('../includes/languages/' . $file);
             $lC_DirectoryListing->setRecursive(true);
             $lC_DirectoryListing->setIncludeDirectories(false);
             $lC_DirectoryListing->setAddDirectoryToFilename(true);
             $lC_DirectoryListing->setCheckExtension('xml');
             foreach ($lC_DirectoryListing->getFiles() as $files) {
                 $definitions = array_merge($definitions, lC_Language_Admin::extractDefinitions($file . '/' . $files['name']));
             }
             foreach ($definitions as $def) {
                 $insert = false;
                 $update = false;
                 if ($type == 'replace') {
                     $insert = true;
                 } else {
                     $Qcheck = $lC_Database->query('select definition_key, content_group from :table_languages_definitions where definition_key = :definition_key and languages_id = :languages_id and content_group = :content_group');
                     $Qcheck->bindTable(':table_languages_definitions', TABLE_LANGUAGES_DEFINITIONS);
                     $Qcheck->bindValue(':definition_key', $def['key']);
                     $Qcheck->bindInt(':languages_id', $language_id);
                     $Qcheck->bindValue(':content_group', $def['group']);
                     $Qcheck->execute();
                     if ($Qcheck->numberOfRows() > 0) {
                         if ($type == 'update') {
                             $update = true;
                         }
                     } elseif ($type == 'add') {
                         $insert = true;
                     }
                 }
                 if ($insert === true || $update === true) {
                     if ($insert === true) {
                         $Qdef = $lC_Database->query('insert into :table_languages_definitions (languages_id, content_group, definition_key, definition_value) values (:languages_id, :content_group, :definition_key, :definition_value)');
                     } else {
                         $Qdef = $lC_Database->query('update :table_languages_definitions set content_group = :content_group, definition_key = :definition_key, definition_value = :definition_value where definition_key = :definition_key and languages_id = :languages_id and content_group = :content_group');
                         $Qdef->bindValue(':definition_key', $def['key']);
                         $Qdef->bindValue(':content_group', $def['group']);
                     }
                     $Qdef->bindTable(':table_languages_definitions', TABLE_LANGUAGES_DEFINITIONS);
                     $Qdef->bindInt(':languages_id', $language_id);
                     $Qdef->bindValue(':content_group', $def['group']);
                     $Qdef->bindValue(':definition_key', $def['key']);
                     $Qdef->bindValue(':definition_value', $def['value']);
                     $Qdef->execute();
                     if ($lC_Database->isError()) {
                         $error = true;
                         break;
                     }
                 }
             }
         }
         if ($add_category_and_product_placeholders === true) {
             if ($error === false) {
                 $Qcategories = $lC_Database->query('select categories_id, categories_name, categories_menu_name, categories_blurb, categories_keyword from :table_categories_description where language_id = :language_id');
                 $Qcategories->bindTable(':table_categories_description', TABLE_CATEGORIES_DESCRIPTION);
                 $Qcategories->bindInt(':language_id', $default_language_id);
                 $Qcategories->execute();
                 while ($Qcategories->next()) {
                     $Qinsert = $lC_Database->query('insert into :table_categories_description (categories_id, language_id, categories_name) values (:categories_id, :language_id, :categories_name)');
                     $Qinsert->bindTable(':table_categories_description', TABLE_CATEGORIES_DESCRIPTION);
                     $Qinsert->bindInt(':categories_id', $Qcategories->valueInt('categories_id'));
                     $Qinsert->bindInt(':language_id', $language_id);
                     $Qinsert->bindValue(':categories_name', $Qcategories->value('categories_name'));
                     $Qinsert->bindValue(':categories_menu_name', $Qcategories->value('categories_menu_name'));
                     $Qinsert->bindValue(':categories_blurb', $Qcategories->value('categories_blurb'));
                     $Qinsert->bindValue(':categories_keyword', $Qcategories->value('categories_keyword'));
                     $Qinsert->execute();
                     if ($lC_Database->isError()) {
                         $error = true;
                         break;
                     }
                 }
             }
             if ($error === false) {
                 $Qproducts = $lC_Database->query('select products_id, products_name, products_description, products_keyword, products_tags, products_url from :table_products_description where language_id = :language_id');
                 $Qproducts->bindTable(':table_products_description', TABLE_PRODUCTS_DESCRIPTION);
                 $Qproducts->bindInt(':language_id', $default_language_id);
                 $Qproducts->execute();
                 while ($Qproducts->next()) {
                     $Qinsert = $lC_Database->query('insert into :table_products_description (products_id, language_id, products_name, products_description, products_keyword, products_tags, products_url) values (:products_id, :language_id, :products_name, :products_description, :products_keyword, :products_tags, :products_url)');
                     $Qinsert->bindTable(':table_products_description', TABLE_PRODUCTS_DESCRIPTION);
                     $Qinsert->bindInt(':products_id', $Qproducts->valueInt('products_id'));
                     $Qinsert->bindInt(':language_id', $language_id);
                     $Qinsert->bindValue(':products_name', $Qproducts->value('products_name'));
                     $Qinsert->bindValue(':products_description', $Qproducts->value('products_description'));
                     $Qinsert->bindValue(':products_keyword', $Qproducts->value('products_keyword'));
                     $Qinsert->bindValue(':products_tags', $Qproducts->value('products_tags'));
                     $Qinsert->bindValue(':products_url', $Qproducts->value('products_url'));
                     $Qinsert->execute();
                     if ($lC_Database->isError()) {
                         $error = true;
                         break;
                     }
                 }
             }
             if ($error === false) {
                 $Qattributes = $lC_Database->query('select products_id, value from :table_product_attributes where languages_id = :languages_id');
                 $Qattributes->bindTable(':table_product_attributes', TABLE_PRODUCT_ATTRIBUTES);
                 $Qattributes->bindInt(':languages_id', $default_language_id);
                 $Qattributes->execute();
                 while ($Qattributes->next()) {
                     $Qinsert = $lC_Database->query('insert into :table_product_attributes (products_id, languages_id, value) values (:products_id, :languages_id, :value)');
                     $Qinsert->bindTable(':table_product_attributes', TABLE_PRODUCT_ATTRIBUTES);
                     $Qinsert->bindInt(':products_id', $Qattributes->valueInt('products_id'));
                     $Qinsert->bindInt(':languages_id', $language_id);
                     $Qinsert->bindValue(':value', $Qattributes->value('value'));
                     $Qinsert->execute();
                     if ($lC_Database->isError()) {
                         $error = true;
                         break;
                     }
                 }
             }
             if ($error === false) {
                 $Qgroups = $lC_Database->query('select id, title, sort_order, module from :table_products_variants_groups where languages_id = :languages_id');
                 $Qgroups->bindTable(':table_products_variants_groups', TABLE_PRODUCTS_VARIANTS_GROUPS);
                 $Qgroups->bindInt(':languages_id', $default_language_id);
                 $Qgroups->execute();
                 while ($Qgroups->next()) {
                     $Qinsert = $lC_Database->query('insert into :table_products_variants_groups (id, languages_id, title, sort_order, module) values (:id, :languages_id, :title, :sort_order, :module)');
                     $Qinsert->bindTable(':table_products_variants_groups', TABLE_PRODUCTS_VARIANTS_GROUPS);
                     $Qinsert->bindInt(':id', $Qgroups->valueInt('id'));
                     $Qinsert->bindInt(':languages_id', $language_id);
                     $Qinsert->bindValue(':title', $Qgroups->value('title'));
                     $Qinsert->bindInt(':sort_order', $Qgroups->valueInt('sort_order'));
                     $Qinsert->bindValue(':module', $Qgroups->value('module'));
                     $Qinsert->execute();
                     if ($lC_Database->isError()) {
                         $error = true;
                         break;
                     }
                 }
             }
             if ($error === false) {
                 $Qvalues = $lC_Database->query('select id, products_variants_groups_id, title, sort_order from :table_products_variants_values where languages_id = :languages_id');
                 $Qvalues->bindTable(':table_products_variants_values', TABLE_PRODUCTS_VARIANTS_VALUES);
                 $Qvalues->bindInt(':languages_id', $default_language_id);
                 $Qvalues->execute();
                 while ($Qvalues->next()) {
                     $Qinsert = $lC_Database->query('insert into :table_products_variants_values (id, languages_id, products_variants_groups_id, title, sort_order) values (:id, :languages_id, :products_variants_groups_id, :title, :sort_order)');
                     $Qinsert->bindTable(':table_products_variants_values', TABLE_PRODUCTS_VARIANTS_VALUES);
                     $Qinsert->bindInt(':id', $Qvalues->valueInt('id'));
                     $Qinsert->bindInt(':languages_id', $language_id);
                     $Qinsert->bindInt(':products_variants_groups_id', $Qvalues->valueInt('products_variants_groups_id'));
                     $Qinsert->bindValue(':title', $Qvalues->value('title'));
                     $Qinsert->bindInt(':sort_order', $Qvalues->valueInt('sort_order'));
                     $Qinsert->execute();
                     if ($lC_Database->isError()) {
                         $error = true;
                         break;
                     }
                 }
             }
             if ($error === false) {
                 $Qmanufacturers = $lC_Database->query('select manufacturers_id, manufacturers_url from :table_manufacturers_info where languages_id = :languages_id');
                 $Qmanufacturers->bindTable(':table_manufacturers_info', TABLE_MANUFACTURERS_INFO);
                 $Qmanufacturers->bindInt(':languages_id', $default_language_id);
                 $Qmanufacturers->execute();
                 while ($Qmanufacturers->next()) {
                     $Qinsert = $lC_Database->query('insert into :table_manufacturers_info (manufacturers_id, languages_id, manufacturers_url) values (:manufacturers_id, :languages_id, :manufacturers_url)');
                     $Qinsert->bindTable(':table_manufacturers_info', TABLE_MANUFACTURERS_INFO);
                     $Qinsert->bindInt(':manufacturers_id', $Qmanufacturers->valueInt('manufacturers_id'));
                     $Qinsert->bindInt(':languages_id', $language_id);
                     $Qinsert->bindValue(':manufacturers_url', $Qmanufacturers->value('manufacturers_url'));
                     $Qinsert->execute();
                     if ($lC_Database->isError()) {
                         $error = true;
                         break;
                     }
                 }
             }
             if ($error === false) {
                 $Qstatus = $lC_Database->query('select orders_status_id, orders_status_name from :table_orders_status where language_id = :language_id');
                 $Qstatus->bindTable(':table_orders_status', TABLE_ORDERS_STATUS);
                 $Qstatus->bindInt(':language_id', $default_language_id);
                 $Qstatus->execute();
                 while ($Qstatus->next()) {
                     $Qinsert = $lC_Database->query('insert into :table_orders_status (orders_status_id, language_id, orders_status_name) values (:orders_status_id, :language_id, :orders_status_name)');
                     $Qinsert->bindTable(':table_orders_status', TABLE_ORDERS_STATUS);
                     $Qinsert->bindInt(':orders_status_id', $Qstatus->valueInt('orders_status_id'));
                     $Qinsert->bindInt(':language_id', $language_id);
                     $Qinsert->bindValue(':orders_status_name', $Qstatus->value('orders_status_name'));
                     $Qinsert->execute();
                     if ($lC_Database->isError()) {
                         $error = true;
                         break;
                     }
                 }
             }
             if ($error === false) {
                 $Qstatus = $lC_Database->query('select id, status_name from :table_orders_transactions_status where language_id = :language_id');
                 $Qstatus->bindTable(':table_orders_transactions_status', TABLE_ORDERS_TRANSACTIONS_STATUS);
                 $Qstatus->bindInt(':language_id', $default_language_id);
                 $Qstatus->execute();
                 while ($Qstatus->next()) {
                     $Qinsert = $lC_Database->query('insert into :table_orders_transactions_status (id, language_id, status_name) values (:id, :language_id, :status_name)');
                     $Qinsert->bindTable(':table_orders_transactions_status', TABLE_ORDERS_TRANSACTIONS_STATUS);
                     $Qinsert->bindInt(':id', $Qstatus->valueInt('id'));
                     $Qinsert->bindInt(':language_id', $language_id);
                     $Qinsert->bindValue(':status_name', $Qstatus->value('status_name'));
                     $Qinsert->execute();
                     if ($lC_Database->isError()) {
                         $error = true;
                         break;
                     }
                 }
             }
             if ($error === false) {
                 $Qstatus = $lC_Database->query('select id, title, css_key from :table_shipping_availability where languages_id = :languages_id');
                 $Qstatus->bindTable(':table_shipping_availability', TABLE_SHIPPING_AVAILABILITY);
                 $Qstatus->bindInt(':languages_id', $default_language_id);
                 $Qstatus->execute();
                 while ($Qstatus->next()) {
                     $Qinsert = $lC_Database->query('insert into :table_shipping_availability (id, languages_id, title, css_key) values (:id, :languages_id, :title, :css_key)');
                     $Qinsert->bindTable(':table_shipping_availability', TABLE_SHIPPING_AVAILABILITY);
                     $Qinsert->bindInt(':id', $Qstatus->valueInt('id'));
                     $Qinsert->bindInt(':languages_id', $language_id);
                     $Qinsert->bindValue(':title', $Qstatus->value('title'));
                     $Qinsert->bindValue(':css_key', $Qstatus->value('css_key'));
                     $Qinsert->execute();
                     if ($lC_Database->isError()) {
                         $error = true;
                         break;
                     }
                 }
             }
             if ($error === false) {
                 $Qstatus = $lC_Database->query('select weight_class_id, weight_class_key, weight_class_title from :table_weight_classes where language_id = :language_id');
                 $Qstatus->bindTable(':table_weight_classes', TABLE_WEIGHT_CLASS);
                 $Qstatus->bindInt(':language_id', $default_language_id);
                 $Qstatus->execute();
                 while ($Qstatus->next()) {
                     $Qinsert = $lC_Database->query('insert into :table_weight_classes (weight_class_id, weight_class_key, language_id, weight_class_title) values (:weight_class_id, :weight_class_key, :language_id, :weight_class_title)');
                     $Qinsert->bindTable(':table_weight_classes', TABLE_WEIGHT_CLASS);
                     $Qinsert->bindInt(':weight_class_id', $Qstatus->valueInt('weight_class_id'));
                     $Qinsert->bindValue(':weight_class_key', $Qstatus->value('weight_class_key'));
                     $Qinsert->bindInt(':language_id', $language_id);
                     $Qinsert->bindValue(':weight_class_title', $Qstatus->value('weight_class_title'));
                     $Qinsert->execute();
                     if ($lC_Database->isError()) {
                         $error = true;
                         break;
                     }
                 }
             }
             if ($error === false) {
                 $Qgroup = $lC_Database->query('select id, title, code, size_width, size_height, force_size from :table_products_images_groups where language_id = :language_id');
                 $Qgroup->bindTable(':table_products_images_groups', TABLE_PRODUCTS_IMAGES_GROUPS);
                 $Qgroup->bindInt(':language_id', $default_language_id);
                 $Qgroup->execute();
                 while ($Qgroup->next()) {
                     $Qinsert = $lC_Database->query('insert into :table_products_images_groups (id, language_id, title, code, size_width, size_height, force_size) values (:id, :language_id, :title, :code, :size_width, :size_height, :force_size)');
                     $Qinsert->bindTable(':table_products_images_groups', TABLE_PRODUCTS_IMAGES_GROUPS);
                     $Qinsert->bindInt(':id', $Qgroup->valueInt('id'));
                     $Qinsert->bindInt(':language_id', $language_id);
                     $Qinsert->bindValue(':title', $Qgroup->value('title'));
                     $Qinsert->bindValue(':code', $Qgroup->value('code'));
                     $Qinsert->bindInt(':size_width', $Qgroup->value('size_width'));
                     $Qinsert->bindInt(':size_height', $Qgroup->value('size_height'));
                     $Qinsert->bindInt(':force_size', $Qgroup->value('force_size'));
                     $Qinsert->execute();
                     if ($lC_Database->isError()) {
                         $error = true;
                         break;
                     }
                 }
             }
             // added for permalinks
             if ($error === false) {
                 $Qpermalinks = $lC_Database->query('select * from :table_permalinks where language_id = :language_id');
                 $Qpermalinks->bindTable(':table_permalinks', TABLE_PERMALINKS);
                 $Qpermalinks->bindInt(':language_id', $default_language_id);
                 $Qpermalinks->execute();
                 while ($Qpermalinks->next()) {
                     $Qinsert = $lC_Database->query('insert into :table_permalinks (item_id, language_id, type, query, permalink) values (:item_id, :language_id, :type, :query, :permalink)');
                     $Qinsert->bindTable(':table_permalinks', TABLE_PERMALINKS);
                     $Qinsert->bindInt(':item_id', $Qpermalinks->valueInt('item_id'));
                     $Qinsert->bindInt(':language_id', $language_id);
                     $Qinsert->bindInt(':type', $Qpermalinks->valueInt('type'));
                     $Qinsert->bindValue(':query', $Qpermalinks->value('query'));
                     $Qinsert->bindValue(':permalink', $Qpermalinks->value('permalink'));
                     $Qinsert->execute();
                     if ($lC_Database->isError()) {
                         $error = true;
                         break;
                     }
                 }
             }
         }
     }
     if ($error === false) {
         $lC_Database->commitTransaction();
         lC_Cache::clear('languages');
         return true;
     } else {
         $lC_Database->rollbackTransaction();
     }
     return false;
 }
Exemplo n.º 17
0
 public static function getLocalImages()
 {
     $lC_DirectoryListing = new lC_DirectoryListing('../images/products/_upload', true);
     $lC_DirectoryListing->setCheckExtension('gif');
     $lC_DirectoryListing->setCheckExtension('jpg');
     $lC_DirectoryListing->setCheckExtension('png');
     $lC_DirectoryListing->setIncludeDirectories(false);
     $result = array('entries' => array());
     foreach ($lC_DirectoryListing->getFiles() as $file) {
         $result['entries'][] = $file['name'];
     }
     $result['rpcStatus'] = RPC_STATUS_SUCCESS;
     echo json_encode($result);
 }
Exemplo n.º 18
0
 /**
  * Get the last database backup
  *  
  * @access public      
  * @return array
  */
 private static function __getLastDBBackup()
 {
     $lC_DirectoryListing = new lC_DirectoryListing(DIR_FS_BACKUP);
     $lC_DirectoryListing->setIncludeDirectories(false);
     $lC_DirectoryListing->setStats(true);
     $lC_DirectoryListing->setCheckExtension('zip');
     $lC_DirectoryListing->setCheckExtension('sql');
     $lC_DirectoryListing->setCheckExtension('gz');
     $latest = 0;
     foreach ($lC_DirectoryListing->getFiles() as $file) {
         if ((int) $latest < (int) $file['last_modified']) {
             $latest = $file;
         }
     }
     return $file;
 }
Exemplo n.º 19
0
 public static function checkHooks()
 {
     global $lC_Language;
     $list = '';
     foreach (lC_Store_Admin::getInstalledAddons() as $key => $val) {
         $code = $val['code'];
         $title = $val['title'];
         $lC_DirectoryListing = new lC_DirectoryListing(DIR_FS_CATALOG . 'addons/' . $code . '/hooks');
         $lC_DirectoryListing->setRecursive(true);
         $lC_DirectoryListing->setIncludeDirectories(false);
         $lC_DirectoryListing->setAddDirectoryToFilename(true);
         $lC_DirectoryListing->setStats(true);
         $lC_DirectoryListing->setCheckExtension('xml');
         foreach ($lC_DirectoryListing->getFiles() as $file) {
             $status = self::_cacheFileExists($file['path'], 'catalog') == true ? $lC_Language->get('cached_file_exists') . '<span class="icon-tick icon-green icon-size2 margin-left"></span>' : $lC_Language->get('cached_file_not_exists') . '<span class="icon-cross icon-red icon-size2 margin-left"></span>';
             $list .= '<li>' . $title . ' => hooks/' . $file['name'] . ' => ' . $status . '</li>';
         }
         $lC_DirectoryListing = new lC_DirectoryListing(DIR_FS_CATALOG . 'addons/' . $code . '/admin/hooks');
         $lC_DirectoryListing->setRecursive(true);
         $lC_DirectoryListing->setIncludeDirectories(false);
         $lC_DirectoryListing->setAddDirectoryToFilename(true);
         $lC_DirectoryListing->setStats(true);
         $lC_DirectoryListing->setCheckExtension('xml');
         foreach ($lC_DirectoryListing->getFiles() as $file) {
             $status = self::_cacheFileExists($file['path']) == true ? $lC_Language->get('cached_file_exists') . '<span class="icon-tick icon-green icon-size2 margin-left"></span>' : $lC_Language->get('cached_file_not_exists') . '<span class="icon-cross icon-red icon-size2 margin-left"></span>';
             $list .= '<li>' . $title . ' => admin/hooks/' . $file['name'] . ' => ' . $status . '</li>';
         }
     }
     return $list;
 }
Exemplo n.º 20
0
</strong> <?php 
echo $lC_Language->get('text_new') . '<br />' . $lC_Language->get('text_orders');
?>
            </a>
          </li>
        </ul>
      </div>
    </div>
  </div>

  <div class="with-padding">
    <div class="columns clearfix">
      <?php 
$lC_DirectoryListing = new lC_DirectoryListing('includes/modules/summary');
$lC_DirectoryListing->setIncludeDirectories(false);
$files = $lC_DirectoryListing->getFiles();
$content = array();
foreach ($files as $file) {
    include $lC_Vqmod->modCheck('includes/modules/summary/' . $file['name']);
    $module = substr($file['name'], 0, strrpos($file['name'], '.'));
    $module_class = 'lC_Summary_' . $module;
    $lC_Summary = new $module_class();
    if ($lC_Summary->hasData()) {
        $content[$lC_Summary->getSortOrder()] = $lC_Summary->getData();
    }
    unset($lC_Summary);
}
ksort($content);
foreach ($content as $block) {
    echo $block;
}
Exemplo n.º 21
0
 if ($lC_Database->isError() === false) {
     foreach ($lC_Language->extractDefinitions('en_US.xml') as $def) {
         $Qdef = $lC_Database->query('insert into :table_languages_definitions (languages_id, content_group, definition_key, definition_value) values (:languages_id, :content_group, :definition_key, :definition_value)');
         $Qdef->bindTable(':table_languages_definitions', $db['DB_TABLE_PREFIX'] . 'languages_definitions');
         $Qdef->bindInt(':languages_id', 1);
         $Qdef->bindValue(':content_group', $def['group']);
         $Qdef->bindValue(':definition_key', $def['key']);
         $Qdef->bindValue(':definition_value', $def['value']);
         $Qdef->execute();
     }
     $lC_DirectoryListing = new lC_DirectoryListing('../includes/languages/en_US');
     $lC_DirectoryListing->setRecursive(true);
     $lC_DirectoryListing->setIncludeDirectories(false);
     $lC_DirectoryListing->setAddDirectoryToFilename(true);
     $lC_DirectoryListing->setCheckExtension('xml');
     foreach ($lC_DirectoryListing->getFiles() as $files) {
         foreach ($lC_Language->extractDefinitions('en_US/' . $files['name']) as $def) {
             $Qdef = $lC_Database->query('insert into :table_languages_definitions (languages_id, content_group, definition_key, definition_value) values (:languages_id, :content_group, :definition_key, :definition_value)');
             $Qdef->bindTable(':table_languages_definitions', $db['DB_TABLE_PREFIX'] . 'languages_definitions');
             $Qdef->bindInt(':languages_id', 1);
             $Qdef->bindValue(':content_group', $def['group']);
             $Qdef->bindValue(':definition_key', $def['key']);
             $Qdef->bindValue(':definition_value', $def['value']);
             $Qdef->execute();
         }
     }
 }
 if ($lC_Database->isError() === false) {
     define('DB_TABLE_PREFIX', $db['DB_TABLE_PREFIX']);
     include '../includes/database_tables.php';
     /* HPDL
Exemplo n.º 22
0
 /**
  * Get the administrator access modules
  *
  * @access public
  * @return array
  */
 public static function getAccessModules()
 {
     global $lC_Language;
     $lC_DirectoryListing = new lC_DirectoryListing('includes/modules/access');
     $lC_DirectoryListing->setIncludeDirectories(false);
     $modules = array();
     foreach ($lC_DirectoryListing->getFiles() as $file) {
         $module = substr($file['name'], 0, strrpos($file['name'], '.'));
         if (!class_exists('lC_Access_' . ucfirst($module))) {
             $lC_Language->loadIniFile('modules/access/' . $file['name']);
             include $lC_DirectoryListing->getDirectory() . '/' . $file['name'];
         }
         $tmp_module = '';
         if ($module == 'product_variants' || $module == 'product_settings') {
             $tmp_module = $module;
         }
         $module = 'lC_Access_' . ucfirst($module);
         $module = new $module();
         $module_group = lC_Access::getGroupTitle($module->getGroup());
         $module_group = str_replace(" ", "_", $module_group);
         $modules[$module_group][] = array('id' => $tmp_module != '' ? $tmp_module : $module->getModule(), 'text' => $module->getTitle());
     }
     ksort($modules);
     return $modules;
 }
 public static function getData($id)
 {
     global $lC_Database, $lC_Language, $lC_Vqmod;
     $lC_Language->loadIniFile('templates_modules_layout.php');
     $result = array();
     $Qboxes = $lC_Database->query('select id, title from :table_templates_boxes where modules_group = :modules_group order by title');
     $Qboxes->bindTable(':table_templates_boxes', TABLE_TEMPLATES_BOXES);
     $Qboxes->bindValue(':modules_group', $_GET['set']);
     $Qboxes->execute();
     while ($Qboxes->next()) {
         $result['boxes_array'][$Qboxes->valueInt('id')] = $Qboxes->value('title');
     }
     $Qtemplate = $lC_Database->query('select id from :table_templates where code = :code');
     $Qtemplate->bindTable(':table_templates', TABLE_TEMPLATES);
     $Qtemplate->bindValue(':code', $_GET['filter']);
     $Qtemplate->execute();
     $filter_id = $Qtemplate->valueInt('id');
     $pages_array = array(array('id' => $filter_id . '/*', 'text' => '*'));
     $d_boxes = new lC_DirectoryListing('../templates/' . $_GET['filter'] . '/content');
     $d_boxes->setRecursive(true);
     $d_boxes->setAddDirectoryToFilename(true);
     $d_boxes->setCheckExtension('php');
     $d_boxes->setExcludeEntries('.svn');
     foreach ($d_boxes->getFiles(false) as $box) {
         if ($box['is_directory'] === true) {
             $entry = array('id' => $filter_id . '/' . $box['name'] . '/*', 'text' => $box['name'] . '/*');
         } else {
             $page_filename = substr($box['name'], 0, strrpos($box['name'], '.'));
             $entry = array('id' => $filter_id . '/' . $page_filename, 'text' => $page_filename);
         }
         if ($_GET['filter'] != DEFAULT_TEMPLATE && $d_boxes->getSize() > 0) {
             $entry['group'] = '-- ' . $_GET['filter'] . ' --';
         }
         $pages_array[] = $entry;
     }
     if ($_GET['filter'] != DEFAULT_TEMPLATE) {
         $d_boxes = new lC_DirectoryListing('../templates/' . DEFAULT_TEMPLATE . '/content');
         $d_boxes->setRecursive(true);
         $d_boxes->setAddDirectoryToFilename(true);
         $d_boxes->setCheckExtension('php');
         $d_boxes->setExcludeEntries('.svn');
         foreach ($d_boxes->getFiles(false) as $box) {
             if ($box['is_directory'] === true) {
                 $entry = array('id' => $filter_id . '/' . $box['name'] . '/*', 'text' => $box['name'] . '/*');
             } else {
                 $page_filename = substr($box['name'], 0, strrpos($box['name'], '.'));
                 $entry = array('id' => $filter_id . '/' . $page_filename, 'text' => $page_filename);
             }
             $check_entry = $entry;
             $check_entry['group'] = '-- ' . $_GET['filter'] . ' --';
             if (!in_array($check_entry, $pages_array)) {
                 $entry['group'] = '-- ' . DEFAULT_TEMPLATE . ' --';
                 $pages_array[] = $entry;
             }
         }
     }
     $result['pages_array'] = $pages_array;
     require $lC_Vqmod->modCheck('includes/templates/' . $_GET['filter'] . '.php');
     $class = 'lC_Template_' . $_GET['filter'];
     $filter_template = new $class();
     $groups_array = array();
     foreach ($filter_template->getGroups($_GET['set']) as $group) {
         $groups_array[] = array('id' => $group, 'text' => $group);
     }
     $Qgroups = $lC_Database->query('select distinct b2p.boxes_group from :table_templates_boxes_to_pages b2p, :table_templates_boxes b where b2p.templates_id = :templates_id and b2p.templates_boxes_id = b.id and b.modules_group = :modules_group and b2p.boxes_group not in (:boxes_group) order by b2p.boxes_group');
     $Qgroups->bindTable(':table_templates_boxes_to_pages', TABLE_TEMPLATES_BOXES_TO_PAGES);
     $Qgroups->bindTable(':table_templates_boxes', TABLE_TEMPLATES_BOXES);
     $Qgroups->bindInt(':templates_id', $filter_id);
     $Qgroups->bindValue(':modules_group', $_GET['set']);
     $Qgroups->bindRaw(':boxes_group', '"' . implode('", "', $filter_template->getGroups($_GET['set'])) . '"');
     $Qgroups->execute();
     while ($Qgroups->next()) {
         if ($Qgroups->value('boxes_group') == null) {
             continue;
         }
         $groups_array[] = array('id' => $Qgroups->value('boxes_group'), 'text' => $Qgroups->value('boxes_group'));
     }
     if (!empty($groups_array)) {
         array_unshift($groups_array, array('id' => null, 'text' => $lC_Language->get('please_select')));
         $result['groups_dropdown'] = lc_draw_pull_down_menu('group', $groups_array, null, 'class="input with-small-padding"') . '&nbsp;&nbsp;';
     }
     if ($id != null) {
         $Qlayout = $lC_Database->query('select b2p.*, b.id as box_id, b.title as box_title, b.code as box_code from :table_templates_boxes_to_pages b2p, :table_templates_boxes b where b2p.id = :id and b2p.templates_boxes_id = b.id');
         $Qlayout->bindTable(':table_templates_boxes_to_pages', TABLE_TEMPLATES_BOXES_TO_PAGES);
         $Qlayout->bindTable(':table_templates_boxes', TABLE_TEMPLATES_BOXES);
         $Qlayout->bindInt(':id', $id);
         $Qlayout->execute();
         $result['modules_selected'] = $Qlayout->value('box_id');
         $result['pages_selected'] = $Qlayout->valueInt('templates_id') . '/' . $Qlayout->value('content_page');
         $result['page_specific'] = $Qlayout->valueInt('page_specific') === 1 ? true : false;
         $result['group_selected'] = $Qlayout->value('boxes_group');
         $result['sort_order'] = $Qlayout->valueInt('sort_order');
         $Qlayout->freeResult;
     }
     return $result;
 }
Exemplo n.º 24
0
 public static function uninstall($key)
 {
     global $lC_Database, $lC_Language, $lC_Vqmod;
     if (file_exists(DIR_FS_CATALOG . 'addons/' . $key . '/controller.php')) {
         include_once DIR_FS_CATALOG . 'addons/' . $key . '/controller.php';
         $addon = new $key();
         $addon->remove();
         $modules_group = $addon->getAddonType() . '|' . $key;
         $lC_DirectoryListing = new lC_DirectoryListing(DIR_FS_CATALOG . 'addons/' . $addon->getAddonCode() . '/modules/' . $addon->getAddonType());
         $lC_DirectoryListing->setCheckExtension('php');
         $code = $addon->getAddonType();
         // check for payment or shipping modules and adjust addon $code to module $code
         if (is_dir(DIR_FS_CATALOG . 'addons/' . $addon->getAddonCode() . '/modules/payment/')) {
             $lC_DirectoryListing = new lC_DirectoryListing(DIR_FS_CATALOG . 'addons/' . $addon->getAddonCode() . '/modules/payment/');
             $lC_DirectoryListing->setCheckExtension('php');
             foreach ($lC_DirectoryListing->getFiles() as $ao) {
                 if (isset($ao['name'])) {
                     $code = substr($ao['name'], 0, strpos($ao['name'], '.'));
                     break;
                 }
             }
         } else {
             if (is_dir(DIR_FS_CATALOG . 'addons/' . $addon->getAddonCode() . '/modules/shipping/')) {
                 $lC_DirectoryListing = new lC_DirectoryListing(DIR_FS_CATALOG . 'addons/' . $addon->getAddonCode() . '/modules/shipping/');
                 $lC_DirectoryListing->setCheckExtension('php');
                 foreach ($lC_DirectoryListing->getFiles() as $ao) {
                     if (isset($ao['name'])) {
                         $code = substr($ao['name'], 0, strpos($ao['name'], '.'));
                         break;
                     }
                 }
             }
         }
         $Qdel = $lC_Database->query('delete from :table_templates_boxes where code = :code and modules_group = :modules_group');
         $Qdel->bindTable(':table_templates_boxes', TABLE_TEMPLATES_BOXES);
         $Qdel->bindValue(':code', $code);
         $Qdel->bindValue(':modules_group', $addon->getAddonType() . '|' . $key);
         $Qdel->execute();
         if ($addon->hasKeys()) {
             $Qdel = $lC_Database->query('delete from :table_configuration where configuration_key in (":configuration_key")');
             $Qdel->bindTable(':table_configuration', TABLE_CONFIGURATION);
             $Qdel->bindRaw(':configuration_key', implode('", "', $addon->getKeys()));
             $Qdel->execute();
         }
         // phsically remove the add-on
         if (isset($key) && empty($key) === false) {
             $_SESSION['deleteAddon'] = $key;
         }
         self::_resetAddons();
         return true;
     }
     return false;
 }
Exemplo n.º 25
0
 private static function _init()
 {
     global $lC_Vqmod, $lC_Language, $lC_Database;
     $lC_DirectoryListing = new lC_DirectoryListing(DIR_FS_CATALOG . 'addons');
     $lC_DirectoryListing->setRecursive(true);
     $lC_DirectoryListing->setIncludeDirectories(false);
     $lC_DirectoryListing->setCheckExtension('php');
     $lC_DirectoryListing->setStats(true);
     $enabled = '';
     foreach ($lC_DirectoryListing->getFiles() as $addon) {
         $ao = utility::cleanArr($addon);
         if ($ao['name'] != 'controller.php') {
             continue;
         }
         $nameArr = explode('/', $ao['path']);
         $class = $nameArr[count($nameArr) - 2];
         if (file_exists($ao['path'])) {
             include_once $lC_Vqmod->modCheck($ao['path']);
             $aoData = new $class();
             if ($aoData->isAutoInstall()) {
                 if (defined('ADDONS_' . strtoupper($aoData->getAddonType()) . '_' . strtoupper($class) . '_STATUS')) {
                     $isInstalled = $aoData->isInstalled();
                     $isEnabled = $aoData->isEnabled();
                 } else {
                     if (class_exists('lC_Store_Admin')) {
                     } else {
                         include_once $lC_Vqmod->modCheck('includes/applications/store/classes/store.php');
                     }
                     lC_Store_Admin::install($class);
                     $isInstalled = true;
                     $isEnabled = true;
                 }
             } else {
                 $isInstalled = $aoData->isInstalled();
                 $isEnabled = $aoData->isEnabled();
             }
             // language definitions
             if (file_exists(DIR_FS_CATALOG . 'addons/' . $class . '/languages/' . $lC_Language->getCode() . '.xml')) {
                 $lC_Language->injectAddonDefinitions(DIR_FS_CATALOG . 'addons/' . $class . '/languages/' . $lC_Language->getCode() . '.xml', $lC_Language->getCode());
             }
             $_SESSION['lC_Addons_Admin_data'][$class] = array('type' => $aoData->getAddonType(), 'title' => strpos($aoData->getAddonTitle(), '_') > 0 ? $lC_Language->get($aoData->getAddonTitle()) : $aoData->getAddonTitle(), 'description' => strpos($aoData->getAddonDescription(), '_') > 0 ? $lC_Language->get($aoData->getAddonDescription()) : $aoData->getAddonDescription(), 'rating' => $aoData->getAddonRating(), 'author' => $aoData->getAddonAuthor(), 'authorWWW' => $aoData->getAddonAuthorWWW(), 'thumbnail' => $aoData->getAddonThumbnail(), 'version' => $aoData->getAddonVersion(), 'compatibility' => $aoData->getCompatibility(), 'installed' => $isInstalled, 'mobile' => $aoData->isMobileEnabled(), 'auto_install' => $aoData->isAutoInstall(), 'enabled' => $isEnabled);
             if ($isEnabled) {
                 $enabled .= $addon['path'] . ';';
             }
             if ($aoData->isAutoInstall() === true) {
                 self::_autoInstall($class);
             }
         }
     }
     if ($enabled != '') {
         $enabled = substr($enabled, 0, -1);
     }
     if (!file_exists(DIR_FS_WORK . 'cache/addons.cache')) {
         file_put_contents(DIR_FS_WORK . 'cache/addons.cache', serialize($enabled));
     }
     self::$_data = $_SESSION['lC_Addons_Admin_data'];
     // cleanup
     $Qchk = $lC_Database->query("select * from :table_templates_boxes where modules_group LIKE '%|%'");
     $Qchk->bindTable(':table_templates_boxes', TABLE_TEMPLATES_BOXES);
     $Qchk->execute();
     while ($Qchk->next()) {
         $parts = explode('|', $Qchk->value('modules_group'));
         $type = $parts[0];
         $addon = $parts[1];
         if (!file_exists(DIR_FS_CATALOG . 'addons/' . $addon . '/controller.php')) {
             $Qdel = $lC_Database->query('delete from :table_templates_boxes where modules_group = :modules_group');
             $Qdel->bindTable(':table_templates_boxes', TABLE_TEMPLATES_BOXES);
             $Qdel->bindValue(':modules_group', $Qchk->value('modules_group'));
             $Qdel->execute();
         }
     }
     $Qchk->freeResult();
 }