Ejemplo n.º 1
0
 public static function getImages(&$params, $folder)
 {
     $images = array();
     $links = $params->get('links');
     $target = $params->get('target', '_self');
     $repeat = $params->get('repeat', 0);
     $margin = intval($params->get('margin', 3));
     $direction = $params->get('direction', 'left');
     $substoo = $params->get('substoo', 0);
     $random = $params->get('random', 0);
     $iwidth = $params->get('iwidth');
     $iheight = $params->get('iheight');
     $limit = $params->get('limit');
     if ($links) {
         $links = preg_split("/[\n\r]+/", $links);
     }
     if ($margin) {
         switch ($direction) {
             case 'left':
                 $space = 'margin-right:' . $margin . 'px';
                 break;
             case 'right':
                 $space = 'margin-left:' . $margin . 'px';
                 break;
         }
     }
     // check if directory exists
     if (is_dir(JPATH_BASE . DIRECTORY_SEPARATOR . $folder)) {
         $files = modImgsCrawlerHelper::getFiles($folder, $substoo, $random);
         $i = 0;
         $repeated = 0;
         foreach ($files as $file) {
             if (modImgsCrawlerHelper::isImage($file)) {
                 $file = str_replace('\\', '/', $file);
                 $attribs = array();
                 if ($margin) {
                     $attribs['style'] = $space;
                 }
                 if ($iwidth) {
                     $attribs['width'] = intval($iwidth);
                 }
                 if ($iheight) {
                     $attribs['height'] = intval($iheight);
                 }
                 $images[$i] = JHTML::_('image', $file, substr($file, strrpos($file, '/') + 1), $attribs);
                 if (isset($links[$i]) && $links[$i] or $repeat) {
                     if (isset($links[$i]) && $links[$i]) {
                         $images[$i] = JHTML::_('link', trim($links[$i]), $images[$i], $target ? array('target' => '_blank') : '');
                     } else {
                         $repeated++;
                         $images[$i] = JHTML::_('link', trim($links[$repeated - 1]), $images[$i], $target ? array('target' => '_blank') : '');
                         if ($repeated == count($links)) {
                             $repeated = 0;
                         }
                     }
                 }
                 ++$i;
                 if ($limit == $i) {
                     break;
                 }
             }
         }
     }
     if ($random) {
         shuffle($images);
     }
     return $images;
 }