Ejemplo n.º 1
0
 /**
  * Generate Classmap array for mapping controller class to filename
  */
 public function classmapAction()
 {
     $success = $error = $warning = array();
     $sourceBasedir = $this->registry->smarty->template_dir . DIRECTORY_SEPARATOR . $this->registry->smartyController . 'generate_format' . DIRECTORY_SEPARATOR;
     //Duyet thu muc controller de lay danh sach filename
     $controllerDir = 'Controller';
     $classmapFiledata = '';
     if (is_readable($controllerDir)) {
         $fileListing = \Litpi\Helper::directoryToArray($controllerDir, true);
         $classmapFiledata = file_get_contents($sourceBasedir . 'include_classmap.tpl');
         $classmapArray = array();
         foreach ($fileListing as $file) {
             $fileExt = \Litpi\Helper::fileExtension($file);
             if ($fileExt == 'php') {
                 $fileparts = explode(DIRECTORY_SEPARATOR, $file);
                 $namespacePart = '';
                 $classpathPart = '';
                 for ($i = 1; $i < count($fileparts); $i++) {
                     if ($i != count($fileparts) - 1) {
                         // exlude final element (filename)
                         $namespacePart .= strtolower($fileparts[$i]) . '\\';
                         $classpathPart .= "'" . $fileparts[$i] . "' . " . '$s' . " . ";
                     } else {
                         // this is filename
                         $namespacePart .= str_replace('.php', '', strtolower($fileparts[$i]));
                         $classpathPart .= "'" . $fileparts[$i] . "'";
                     }
                 }
                 $classmapArray[] = "'{$namespacePart}' => {$classpathPart}";
             }
         }
         $classmapFiledata = str_replace('{{CLASSMAP_ARRAY_ELEMENTS}}', implode(",\n        ", $classmapArray), $classmapFiledata);
         $warning[] = 'Replace following PHP scripts to <code>/includes/classmap.php</code> file';
     } else {
         $error[] = 'Can not read controller directory (' . $controllerDir . ')';
     }
     $this->registry->smarty->assign(array('success' => $success, 'error' => $error, 'warning' => $warning, 'classmapFiledata' => $classmapFiledata));
     $contents = $this->registry->smarty->fetch($this->registry->smartyController . 'classmap.tpl');
     $this->registry->smarty->assign(array('pageTitle' => 'Classmap Generating', 'contents' => $contents));
     $contents = $this->registry->smarty->fetch($this->registry->smartyModule . 'index.tpl');
     $this->registry->response->setContent($contents);
 }
Ejemplo n.º 2
0
 /**
  * Apply medium and thumb image after crop image
  *
  */
 public function postCroppingAvatar()
 {
     $registry = \Litpi\Registry::getInstance();
     $setting = $registry->get('setting');
     //generate new image filename
     $curImage = $this->avatar;
     $extPart = Helper::fileExtension($this->avatar);
     $namePart = Helper::codau2khongdau($this->fullname, true) . '-' . $this->id . '-' . time();
     $newAvatar = $namePart . '.' . $extPart;
     $newAvatarMedium = $namePart . '-medium.' . $extPart;
     $newAvatarSmall = $namePart . '-small.' . $extPart;
     $currentDir = Helper::getCurrentDateDirName();
     if (!file_exists($setting['avatar']['imageDirectory'] . $currentDir)) {
         mkdir($setting['avatar']['imageDirectory'] . $currentDir, 0777);
     }
     //rename originalimage to new location
     if (rename($setting['avatar']['imageDirectory'] . $this->avatar, $setting['avatar']['imageDirectory'] . $currentDir . $newAvatar)) {
         //Create medium image
         $myImageResizer = new ImageResizer($setting['avatar']['imageDirectory'], $this->mediumImage(), $setting['avatar']['imageDirectory'], $currentDir . $newAvatarMedium, $setting['avatar']['imageMediumWidth'], $setting['avatar']['imageMediumHeight'], '', $setting['avatar']['imageQuality']);
         $myImageResizer->output();
         unset($myImageResizer);
         //Create thum image
         $myImageResizer = new ImageResizer($setting['avatar']['imageDirectory'], $this->mediumImage(), $setting['avatar']['imageDirectory'], $currentDir . $newAvatarSmall, $setting['avatar']['imageThumbWidth'], $setting['avatar']['imageThumbHeight'], '1:1', $setting['avatar']['imageQuality']);
         $myImageResizer->output();
         unset($myImageResizer);
         //delete current old medium image
         @unlink($setting['avatar']['imageDirectory'] . $this->mediumImage());
         @unlink($setting['avatar']['imageDirectory'] . $this->thumbImage());
         $this->avatar = $currentDir . $newAvatar;
         $sql = 'UPDATE ' . TABLE_PREFIX . 'ac_user SET u_avatar = ? WHERE u_id = ?';
         $this->db->query($sql, array($this->avatar, $this->id));
         //Clear cache of detail
         self::cacheDeleteDetail($this->id);
     } else {
         //something wrong with copy, keep original info
         //Create medium image
         $myImageResizer = new ImageResizer($setting['avatar']['imageDirectory'], $this->mediumImage(), $setting['avatar']['imageDirectory'], $this->mediumImage(), $setting['avatar']['imageMediumWidth'], $setting['avatar']['imageMediumHeight'], '', $setting['avatar']['imageQuality']);
         $myImageResizer->output();
         unset($myImageResizer);
         //Create thum image
         $myImageResizer = new ImageResizer($setting['avatar']['imageDirectory'], $this->mediumImage(), $setting['avatar']['imageDirectory'], $this->thumbImage(), $setting['avatar']['imageThumbWidth'], $setting['avatar']['imageThumbHeight'], '1:1', $setting['avatar']['imageQuality']);
         $myImageResizer->output();
         unset($myImageResizer);
         //clear cache of detail
         self::cacheDeleteDetail($this->id);
     }
 }