CHips L MINI SHELL

CHips L pro

Current Path : /proc/2/root/usr/local/rvglobalsoft/rvsitebuilder7/lib/RVL/
Upload File :
Current File : //proc/2/root/usr/local/rvglobalsoft/rvsitebuilder7/lib/RVL/String.pm

#!/usr/bin/perl
package RVL::String;
# WebSite:  http://www.rvglobalsoft.com
# Unauthorized copying is strictly forbidden and may result in severe legal action.
# Copyright (c) 2013 RV Global Soft Co.,Ltd. All rights reserved.
#
# =====YOU MUST KEEP THIS COPYRIGHTS NOTICE INTACT AND CAN NOT BE REMOVE =======
# Copyright (c) 2013 RV Global Soft Co.,Ltd. All rights reserved.
# This Agreement is a legal contract, which specifies the terms of the license
# and warranty limitation between you and RV Global Soft Co.,Ltd. and RV2Factor Product for RV Global Soft.
# You should carefully read the following terms and conditions before
# installing or using this software.  Unless you have a different license
# agreement obtained from RV Global Soft Co.,Ltd., installation or use of this software
# indicates your acceptance of the license and warranty limitation terms
# contained in this Agreement. If you do not agree to the terms of this
# Agreement, promptly delete and destroy all copies of the Software.
#
# =====  Grant of License =======
# The Software may only be installed and used on a single host machine.
#
# =====  Disclaimer of Warranty =======
# THIS SOFTWARE AND ACCOMPANYING DOCUMENTATION ARE PROVIDED "AS IS" AND
# WITHOUT WARRANTIES AS TO PERFORMANCE OF MERCHANTABILITY OR ANY OTHER
# WARRANTIES WHETHER EXPRESSED OR IMPLIED.   BECAUSE OF THE VARIOUS HARDWARE
# AND SOFTWARE ENVIRONMENTS INTO WHICH RV SITE BUILDER MAY BE USED, NO WARRANTY OF
# FITNESS FOR A PARTICULAR PURPOSE IS OFFERED.  THE USER MUST ASSUME THE
# ENTIRE RISK OF USING THIS PROGRAM.  ANY LIABILITY OF RV GLOBAL SOFT CO.,LTD. WILL BE
# LIMITED EXCLUSIVELY TO PRODUCT REPLACEMENT OR REFUND OF PURCHASE PRICE.
# IN NO CASE SHALL RV GLOBAL SOFT CO.,LTD. BE LIABLE FOR ANY INCIDENTAL, SPECIAL OR
# CONSEQUENTIAL DAMAGES OR LOSS, INCLUDING, WITHOUT LIMITATION, LOST PROFITS
# OR THE INABILITY TO USE EQUIPMENT OR ACCESS DATA, WHETHER SUCH DAMAGES ARE
# BASED UPON A BREACH OF EXPRESS OR IMPLIED WARRANTIES, BREACH OF CONTRACT,
# NEGLIGENCE, STRICT TORT, OR ANY OTHER LEGAL THEORY. THIS IS TRUE EVEN IF
# RV GLOBAL SOFT CO.,LTD. IS ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. IN NO CASE WILL
# RV GLOBAL SOFT CO.,LTD.'S LIABILITY EXCEED THE AMOUNT OF THE LICENSE FEE ACTUALLY PAID
# BY LICENSEE TO RV GLOBAL SOFT CO.,LTD.
# ===============================

use strict;
use warnings;
use HTML::StripTags qw(strip_tags);
use Class::Std::Utils;
{
    sub getref {
        my ($value) = shift;
        unless (ref($value)) {
            return getref(\$value);
        }
        return ref($value);
    }
    
    sub cleanHTMLTag {
        my ($value, $notRemoveTags) = @_;
        
        if (!$value) {
            return ;
        }
        
        $notRemoveTags = '' if (!$notRemoveTags);

        if (is_string($value)) {
            $value = trim($value);
            $value = strip_tags($value, $notRemoveTags);
        } elsif (is_array($value)) {
            my (@newArray);
            foreach my $inArray( @{$value}) {
                push(@newArray, cleanHTMLTag($inArray, $notRemoveTags));
            }
            @{$value} = @newArray;
        } elsif (is_hash($value)) {
            my (%newHash);
            foreach my $key( keys %{$value}) {
                $newHash{$key} = cleanHTMLTag(${$value}{$key}, $notRemoveTags);
            }
            %{$value} = %newHash;
        } elsif (is_ref($value)) {
            my ($newRef);
            foreach my $key( keys %{$value}) {
                $newRef->{$key} = cleanHTMLTag(${$value}->{$key}, $notRemoveTags);
            }
            %{$value} = $newRef;
        }
        
        return $value;
    }
    
    sub trim {
        my ($value) = shift;
        $value =~s/^[\s| ]+|[\s| ]+$//simx;
        #$value =~s/(^\s+|\s+$)//simx;
        return $value;
    }
    
    sub is_array {
        my ($value) = shift;
        if (getref($value) eq 'ARRAY') {
            return 1;
        } else {
            return 0;   
        }
    }
    
    sub is_string {
        my ($value) = shift;
        if (getref($value) eq 'SCALAR') {
            return 1;
        } else {
            return 0;   
        }
    }
    
    sub is_hash {
        my ($value) = shift;
        if (RVL::String::getref($value) eq 'HASH') {
            return 1;
        } else {
            return 0;   
        }   
    }
    
    sub is_ref {
        my ($value) = shift;
        if (RVL::String::getref($value) eq 'REF') {
            return 1;
        } else {
            return 0;   
        }   
    }
    
=item
  merge array with array = array 
    @array = merge(\@value1, \@value2);
  merge hash with hash = hash
    %hash = merge(\@value1, \@value2);
  merge ref with ref = ref
    $ref = merge($value1, $value2);
  merge any with ref = ref
    $ref = merge(@value1 or @value1 or $value1, $value2);
  merge ref with any = ref
=cut
    sub merge{
        my ($value1, $value2) = @_;
        if (is_string($value1) || is_string($value2)) {
            #RVL::raiseError("Cannot merge string", 0, 1, __CONSTANT__::RVL_ERROR_NOFILE);
        } elsif (is_array($value1) && is_array($value2)) {
            return (@{$value1}, @{$value2});
        } elsif (is_hash($value1) && is_hash($value2)) {
            my ($resuft) = $value1;
            foreach (keys %{$value2}) {
                $resuft->{$_} = $value2->{$_};
            }
            return $resuft;
        } elsif (is_ref($value1) && is_ref($value2)) {
            my ($resuft) = ${$value1};
            foreach (keys %{$value2}) {
                $resuft->{$_} = $value2->{$_};
            }
            return $resuft;
        }
    }
    
    sub array_map{
        my ($callback) = shift;
        my (@arr) = @_;
        my (@new) = eval("RVL::String::$callback(\@arr);");
        return @new;
    }
    
    sub lc{
        my (@arr1) = @_;
        my (@new);
        foreach (@arr1) {
            push(@new, lc($_));
        }
        return @new;
    }
    
    sub array_search{
        my ($search) = shift;
        return '' if !defined $search;
        my (@arr) = @_;
        my ($count) = 0;
        foreach (@arr) {
            if ($_ eq $search) {
                return $count;
            }
            $count++;
        }
        return '';
    }
    
    sub translate {
        my ($key, $filter, $aParams) = @_;
           
    }
=item

=cut
    sub unique_array(@) {
        my %seen = ();
        grep { not $seen{$_}++ } @_;
    }
    
    sub in_array {
        my ($arr,$search_for) = @_;
        return 1 if (grep {$search_for eq $_} @$arr);
        return 0;
    }
}
1;

Copyright 2K16 - 2K18 Indonesian Hacker Rulez